OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Avoiding roundoff errors in calculations?

[ Lists Home | Date Index | Thread Index ]

On Tue, 2003-09-02 at 22:54, Chiusano Joseph wrote:
> <Quote>
> I am considering returning the result in numerator/denominator form, and
> leaving it up to the recipient to do the division (and decide what
> precision is suitable), i.e.,
> 
> <Length>
>     <value>
>         <numerator>33.02</numerator>
>         <denominator>600</denominator>
>     </value>
>     <unit rdf:resource="#Meter"/>
> </Length>
> </Quote>
> 
> Leaving the precision to the recipient may not be desirable,
> particularly if the calculation is an "aggregate calculation" that is
> carried out by multiple processes each on a different processor (or
> different programming language), which may lead a less-than-accurate
> precision in the final result.
> 
> So an alternative approach is to also specify the required precision for
> the calculation result in the XML request:
> 
> <Length>
>     <value precision="15">
>         <numerator>33.02</numerator>
>         <denominator>600</denominator>
>     </value>
>     <unit rdf:resource="#Meter"/>
> </Length>
> 
> where "precision" is the number of decimal places for the result.
don't you mean "significant digits"?

decimal places is only meaningful in unimportant areas like finance ;)

rick
>  If a
> process cannot honor this precision, it could throw an exception.
> 
> Kind Regards,
> Joe Chiusano
> Booz | Allen | Hamilton
> 
> "Roger L. Costello" wrote:
> > 
> > Hi Folks,
> > 
> > Suppose that I would like to convert this Length to meters (there are 6
> > picas per inch):
> > 
> > <Length>
> >     <value>13</value>
> >     <unit rdf:resource="#Pica"/>
> > </Length>
> > 
> > Doing the arithmetic:
> > 
> > 13 picas * in/6 picas * 2.54 cm/in * m/100 cm
> > 
> >     = 33.02/600 m
> > 
> >     = 0.055033333333333333333333333333 m (the "3" repeats infinitely)
> > 
> > The problem is that everyone has different precision requirements.  Some
> > people would be happy with this as the result:
> > 
> > <Length>
> >     <value>0.055</value>
> >     <unit rdf:resource="#Meter"/>
> > </Length>
> > 
> > For other people such a roundoff could be catastrophic.
> > 
> > Even if I were to return a result that is as precise as my machine can
> > produce,
> > 
> > <Length>
> >     <value>0.055033333333333333333333333333</value>
> >     <unit rdf:resource="#Meter"/>
> > </Length>
> > 
> > there is still a roundoff that may be unacceptable to some.
> > 
> > I am considering returning the result in numerator/denominator form, and
> > leaving it up to the recipient to do the division (and decide what
> > precision is suitable), i.e.,
> > 
> > <Length>
> >     <value>
> >         <numerator>33.02</numerator>
> >         <denominator>600</denominator>
> >     </value>
> >     <unit rdf:resource="#Meter"/>
> > </Length>
> > 
> > What are your thoughts on this?  What techniques do people use to avoid
> > introducing roundoff errors?  /Roger
> > 
> > -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> > 
> > The list archives are at http://lists.xml.org/archives/xml-dev/
> > 
> > To subscribe or unsubscribe from this list use the subscription
> > manager: <http://lists.xml.org/ob/adm.pl>
> 
> ______________________________________________________________________
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS