|
You have to be aware that when the result of the eval comprises an expression that itself has a nested expression as a component, then the code generated by the compiler to perform the task will transparently create intermediate variables in which to store the result of a nested expression. The precision with which the compiler stores the intermediate value will not necessarily be the same as the value obtained by evaluating the nested expression as a standalone eval result for which you are able to specify the precision. Where control over the precision is critical througout the calculation then I would suggest the use of discrete eval statements. Cheers, Peter -----Original Message----- From: Contractor1@Parkdalemills.com [mailto:Contractor1@Parkdalemills.com] Sent: Tuesday, August 08, 2000 5:31 AM To: RPG400-L@midrange.com Subject: Exponential I'm getting the wrong answer on an eval statement. Why? Variable definitions: (I am not using Inz in my program. Only here to give the example some values) D#ExPo S 1P 0 Inz(0) D#Base S 4P 2 Inz(18.10) D#Result S 5P 2 The Eval statement: Eval #Result = #Base + (1 / (10 ** #Expo)) Expected answer: 19.10 Actual answer: 19.09 We are on V4R3. If I break it down, it works. Eval #CalcExpo = 10 ** (#Expo) Eval #Result = #Base + (1/#CalcExpo) Patrick Conner www.ConnecTown.com (828) 244-0822 +--- | 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 communication is confidential and may be legally privileged. If it is not addressed to you, you are on notice of its status. Please immediately contact us at our cost and destroy it. Please do not use, disclose, copy, distribute or retain any of it without our authority - to do so could be a breach of confidence. Thank you for your co-operation. Please contact us on (09) 356 5800 if you need assistance. +--- | 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.