[
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>
|