Re: beast on linux/alpha - minor "bug"

On Sat, 6 Sep 2003 wrote:

> Hi altogether,
> Many programs doing heavy foating-point math cause problems on the alpha
> architecture - they "die" on Flaoting-point-exceptions, and so does beast.
> The problem are irregular fp-numbers like Inf and NaN which cause the
> Alpha-FPU to throw exeptions even when they're only stored in its registers
> (if I understood correctly).
> There are probably many problematic places in the beast/BSE-sources, but
> one special "bug" leads to a SIGFPE every time I tried to load the example
> osc-test.bse
> It's located in beast-gtk/bstcanvassource.c on line 693, common to beast
> 0.5.3, 0.5.4 and the cvs-version from last wednesday:
> d_y /= n_channels;
> Since n_channels may be zero this leads to d_y becoming Inf. It
> obviously doesn't hurt everywhere else, d_y isn't used, if n_channels==0
> (due to the for-loop on line 727) - but the Alpha already throws an
> exception when generating this "infinite".
> A simple
> 	if(n_channels!=0) d_y /= n_channels;
> corrects this problem and doesn't hurt on this place (in terms of
> performance :-)) )
> Could this be corrected in the sources ?? Of course, Alpha is unfortunately
> obsolete, but many people still own and use them.

i've added this check to CVS, so the next version will have it.

> Thanks,
> Marius Hillenbrand
> --
> living a RISCy life


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]