OM Floats
J.H.Davenport at maths.bath.ac.uk
J.H.Davenport at maths.bath.ac.uk
Wed Jul 14 20:47:45 CEST 1999
[Apologies for delay in picking this thread up]
(1) Certainly if OMFLOAT continues to mean IEEE double, then, as David
suggests, there should be a core CD that covers bigfloats. Bruce is
right that if it isn't in the core then different people will implement
different CDs.
(2) Gaston is right - there was a consensus for having SOME way of
representing bigfloats. There wasn't a consensus that this should
be done via OMF.
(3) Bruce says that the only commonality was {mantissa, radix, exponent}:
see the draft CD I attach. He also says that the generality should be
such that people aren't encouraged to write their own CD.
(4) Off the point, but Richard comments that OpenMath not having a
primitive notion of rationals is "a loss". But look at MathML, which
has a primitive notion of rational, a primitive notion of complex
integer, but no primitive concept (and hence essentially no concept)
of complex rational. OpenMath can easily build this, using the
CD-defined concepts of rational and complex (in fact in either order).
(5) Fateman also comments that the efficiency of encoding is a red herring
(in the absence of binary). This is largely true, but the complexity of
the encoding is a serious issue: why complicated lots of programs that
don't understand bigfloats with this primitive (if we change OMF)? This
point is also in Taneli's message of 8 July 21:19.
================ bigfloat.ocd ========================
<CD>
<CDName> bigfloat </CDName>
<CDURL> http://openmath.nag.co.uk/Projects/openmath/corecd/cd/bigfloat.ocd </CDURL>
<CDReviewDate> 1999-09-01 </CDReviewDate>
<CDDate> 1999-07-13 </CDDate>
<CDVersion> 1.0a </CDVersion>
<CDStatus> experimental </CDStatus>
<CDUses> </CDUses>
<Description>
This CD provides a common representation of "bigfloats" in a mantissa/
radix/exponent format.
No operations are defined here -- see arith and alg.
</Description>
<CDComment>
Written by James Davenport on 1999-07-13.
</CDComment>
<CDDefinition>
<Name> bigfloat </Name>
<Description>
The bigfloat constructor.
</Description>
<CMP> bigfloat(m,r,e)=m*r^e </CMP>
<FMP>
<OMOBJ>
<OMA>
<OMS cd="relation1" name="eq"/>
<OMA>
<OMS cd="bigfloat" name="bigfloat"/>
<OMV name="m"/>
<OMV name="r"/>
<OMV name="e"/>
<OMA/>
<OMA>
<OMS cd="arith1" name="times"/>
<OMV name="m"/>
<OMA>
<OMS cd="arith1" name="power"/>
<OMV name="r"/>
<OMV name="e"/>
<OMA/>
<OMA/>
<OMA/>
</OMOBJ>
</FMP>
</CDDefinition>
</CD>
================ bigfloat.sts ========================
<CDSignatures type="sts" cd="bigfloat">
<CDComment>
Date: 1999-07-13
Author: James Davenport
</CDComment>
<signature name="bigfloat" >
<OMOBJ>
<OMA>
<OMS name="mapsto" cd="sts" />
<OMS name="Z" cd="setname" />
<OMS name="Z" cd="setname" />
<OMS name="Z" cd="setname" />
<OMV name="BigFloat" />
</OMA>
</OMOBJ>
</signature>
</CDSignatures>
More information about the Om
mailing list