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