On May 29, 2013, at 3:53 PM, Peter Bex <peter....@xs4all.nl> wrote:

> The fpsin expands to a C inline call to sin(), whereas the sin() call
> expands to a call to C_a_i_flonum_sin, which is not inlineable so it has
> to issue a proper function call.  This then goes through libm, which is
> potentially different from the sin() implementation in gcc.

That was my guess, but when I built library-tests with Chicken 4.8.0.1, both 
fpsin and sin expanded to C_a_i_flonum_sin.  This must have been user error on 
my part.  Since you observed an inline sin(), that's definitely the issue, and 
your patch looks correct.

BTW machine epsilon for double is closer to 1e-16 than 1e-10 but it should be 
ok for our purposes (as wise men said, "when in doubt, consult a numerical 
analyst").

Jim
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to