|
Have you looked at the manual on precision for intermediate results for eval? The default precision will often produce downright odd results. You can use EXPROPTS(*RESDECPOS) in an H spec to make all intermediate results in expression evaluation have the same precision as the result field, or use the "r" operation extender with eval. The manual gives some interesting cautions including that the result of the expression may only be a packed field. The default precision rule is designed to guard against overflow. Of course, we always do that in programming and data base design anyway. <g> I've fooled around with the precision stuff some, and have had pretty good results with the "r". Personally, I'd rather that "r" were the default, and try to guard against overflow myself. > -----Original Message----- > From: Jim Langston [mailto:jlangston@conexfreight.com] > Sent: Monday, October 04, 1999 7:30 AM > To: RPG400-L@midrange.com > Subject: Re: [Re: RPGILE V4.3 Gotcha] > > > Okay, let me just say it this way then, it is not safe to do ANY type > of math on any number that contains a fraction. > > If I have to worry about loosing accuracy after ONE significant digit, > something is definitely wrong with the math engine. > > Regards, > > Jim Langston > > boldt@ca.ibm.com wrote: > > > someone wrote: > > >Well, dang, that's no good at all! This being the case > you can't do any > > >type of floating point math with anything resembling any accuracy. > > > > > >Other languages use a fixed size for a floating point > value. Why not > > >just bump the size to 30,20 (or however your largest floating point > > >value is) and forget about it? Or are you saying your Mantissa can > > >only store 30 significant digits? > > > > > >This now tells me to NEVER, NEVER, NEVER do any type of > > >floating point math in RPG. > > > > Exsqueeze me?!? Where in Carl's sample program did he use floating > > point numeric variables? He was using decimal numeric variables > > exclusively. > > > > BTW, you don't really expect 30 digits of precision from floating > > point variables, do you? I agree with you - until you understand > > the difference between the floating point and decimal numeric types, > > please don't use floating point. (Study Chapter 10 of the ILE RPG > > Reference manual.) > > > > Cheers! Hans > > > > Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com > > > > +--- > > | This is the RPG/400 Mailing List! > > | To submit a new message, send your mail to RPG400-L@midrange.com. > > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > > | To unsubscribe from this list send email to > RPG400-L-UNSUB@midrange.com. > > | Questions should be directed to the list owner/operator: > david@midrange.com > > +--- > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to > RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: > david@midrange.com > +--- > +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.