× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: Exponential
  • From: Peter Connell <peterc@xxxxxxxxxxxxx>
  • Date: Tue, 8 Aug 2000 08:20:57 +1200

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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.