Jonas,
I have seen problems like this before where the compiler does not promote variable
types when you expect it. I suggest that you type cast all to float. Sometimes just
putting the float first in line solves this as well.
Regards,
Rich
> ----------
> From: Jonas Persson[SMTP:[EMAIL PROTECTED]]
> Reply To: [EMAIL PROTECTED]
> Sent: Wednesday, May 09, 2001 9:33 AM
> To: RTLinux Mailing list
> Subject: [rtl] Floating point question
>
> Hi all!
>
> So, now I have gotten to the dreaded floating point issue. However, I think my
>problem is a little rare... the problem is that the FPU simply does not give correct
>answers. Consider the following code excerpt:
>
> m0 = ramp*chi_off*ang_lim/ my_2_pi;
>
> Given the following parameters,
> ramp = 1,
> chi_off = 0.299,
> ang_lim = 198,
> my_2_pi = 6.28,
>
> the statement above returns
>
> m0 = -2147483648 !!!
>
> Interesting, isn't it? m0 is an int, the rest are floats. If I run the program
>without debugging and trace data through an RT-fifo, I get lots of results like the
>above example. However if I debug the program, and wait for a few seconds, sometimes
>different results are returned.
>
> Can anyone guess at possible causes for this happening? Have anyone else experienced
>the same behaviour?
>
> Apart from this, my system is working fine, I have no crashes, hangups or other bad
>behaviour.
>
> My configuration is:
> Pentium III 866 processor, tyan SMP motherboard, kernel 2.2.18-rtl. Base
>distribution is SuSE 7.0, and exchanged the stock installed debugger for gdb 5.0. I
>am using the stock gcc 2.95.2 19991024 that comes with SuSE.
>
> BTW, I solved my previous problem by NOT doing rtf_flush() from a rt-thread... :-)
>
> Yours very confusedly,
> Jonas Persson
>
> ______________________________________________________________________
> Jonas Persson E-mail: [EMAIL PROTECTED]
> Project Manager, M.Sc C.Sc&E http://www.comsys.se/
> Comsys AB Phone: +46-(0)46-286 3500
> Forskningsbyn IDEON Fax: +46-(0)46-286 3505
> S-223 70 Lund, Sweden
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
>
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/