gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] latest cvs changes


From: Gaius Mulley
Subject: [Gm2] latest cvs changes
Date: Wed, 04 Feb 2009 14:23:49 +0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Hi,

here are the latest changes over the last two weeks.  In summary
RealConv still doesn't work - it is now failing 7 out of 49 tests.
I had to fix a constant constructor bug exposed when writing the
test case:

    testsuite/gm2/isolib/run/pass/realstr.mod

incidentally if anyone wishes to contribute numerical stress cases,
just send me an email with the particular test.  For example the code
in this module tests the three formatting methods by populating a
constant constructor (a summary is seen below):

           sigfig  REAL       input string   output    formatting
                   input                     string        method
 
floatTests{ 2, 1234.56789  , "1234.56789"  , "1234.57"     , fixed},
floatTests{ 3, 12.3456789  , "12.3456789"  , "12.3"        , eng},
floatTests{ 3, 1234.56789  , "1234.56789"  , "1.23E+3"     , float}

[there is an off by one a bug in gm2 when producing the constructor -
 currently under investigation.  The first array element is zero'ed].


   * gm2/Make-lang.in:  modified include path when compiling
     ldtoa.c and dtoa.c.
   * gm2/gccgm2.c:  gccgm2_ConvertString (new function).
     gccgm2_BuildStringConstantType (new function).
     Re-factored gccgm2_BuildString.
   * gm2/gm2-compiler/M2GenGCC.mod:  convert string
     if used during a constant constructor.
   * gm2/gm2-compiler/gccgm2.def:  export ConvertString.
   * gm2/gm2-libs-ch/dtoa.c:  another new implementation,
     this time based on snprintf (due to lack of portability)
     with qecvt_r and qfcvt_r.
   * gm2/gm2-libs-ch/ldtoa.c:  another new implementation,
     this time based on snprintf (due to lack of portability)
     with qecvt_r and qfcvt_r.

   * gm2/gm2-libs/StringConvert.mod:  fixed carryOne
     to allow the carry to correctly propagate to
     the left most digit.

   * gm2/gm2/Make-lang.in:  new rules to build ldtoa.o
     and dtoa.o.
   * gm2/gm2/gccgm2.c:  change boolean_to_unsigned to
     boolean_enum_to_unsigned and alter implementation
     accordingly.
   * gm2/gm2/gm2-libs/StringConvert.mod:  use new ldtoa
     interface and fixed bugs in ToSigFigs.
   * gm2/gm2/gm2-libs/configure.in:  check for strtod
     and strtold.
   * gm2/gm2/gm2-libs/dtoa.def:  remove unused
     enumerated fields and modify procedure function
     names and parameters in light of the new dtoa
     implementation.
   * gm2/gm2/gm2-libs/gm2-libs-host.h.in:  add entries
     for HAVE_STRTOD and HAVE_STRTOLD.
   * gm2/gm2/gm2-libs/ldtoa.def:  remove unused
     enumerated fields and modify procedure function
     names and parameters in light of the new ldtoa
     implementation.
   * gm2/gm2/gm2-libs-ch/dtoa.c:  new implementation
     (GPL) based on libc strtod, ecvt and fcvt.
   * gm2/gm2/gm2-libs-ch/ldtoa.c:  new implementation
     (GPL) based on libc strtold, qecvt and qfcvt.
   * gm2/gm2/gm2-libs-iso/ConvStringReal.def:  changed
     procedure function name.
   * gm2/gm2/gm2-libs-iso/ConvStringReal.mod:
     fixed many bugs in the three real conversion
     routines.
   * gm2/gm2/gm2-libs-iso/RealConv.mod:  use new procedure
     function name and modify parameters.
   * gm2/gm2-libs-ch/dtoa.c:  added GPL header.
   * gm2/gm2-libs-ch/ldtoa.c:  added GPL header.
   * gm2/gm2-libs-iso/RealStr.mod:  fixed more bugs.
   * gm2/Make-lang.in:  added RealStr.mod to list of
     completed ISO modules.
   * gm2/gm2-libs-iso/README.texi:  added RealStr to
     list of documented modules.

   * gm2/gm2-compiler/M2GenGCC.mod:  improved error
     message and use MetaError rather than ErrorStringAt.

regards,
Gaius




reply via email to

[Prev in Thread] Current Thread [Next in Thread]