Re: comments on latest draft
William D Clinger 07 Jun 2017 23:25 UTC
Bradley Lucier wrote:
> In a previous email to this list:
>
> http://srfi-email.schemers.org/srfi-144/msg/5816099
>
> I stated:
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> In reviewing my previous comments, I see I should say more about fl+*:
>
> The "fma" operation means "*fused* multiply-add", if it isn't fused it
> isn't fma. If fl+* isn't fma, then fl-fast-fl+* isn't FP_FAST_FMA.
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
> The language "as if to infinite precision and rounded only once" is from
> the C99 standard (I believe). I don't see any benefit to fma without
> the "fused" part of the operation, which requires precisely the "as if
> to infinite precision and rounded only once" part.
So be it. I have made that change in the portable implementation,
which is now complete except for these procedures:
flinteger-exponent (whose current spec doesn't make sense)
flfirst-bessel
flsecond-bessel
flerf
flerfc
I won't get around to implementing the Bessel and error functions
until next week. In the mean time, anyone who wants to play around
with the sample implementation can do a
git clone https://github.com/larcenists/larceny.git
and extract the following files
lib/SRFI/srfi/144.sld
lib/SRFI/srfi/144.body.sld
lib/SRFI/srfi/144.special.sld
test/R7RS/Lib/tests/scheme/flonum.sld
test/R7RS/Lib/tests/scheme/run/flonum.sps
The test program uses Larceny's R7RS test infrastructure, which
is derived from Racket's R6RS tests and is known to work with Chibi,
Chicken, Foment, Gauche, Kawa, and Sagittarius; it will probably
work with Cyclone as well. At present, however, the implementation
of SRFI 144 uses the (rnrs arithmetic fixnums) library; it shouldn't
be hard to change that to (srfi 151).
Will