[Gcl-devel] Re: [Maxima] float to bfloat



test integer-decode-float  on NaN, Infinity, etc.
before you decide your program is correct.   I think that
such non-numbers should be "bigfloated" into symbols / gensyms
with appropriate properties.
e.g. NaN - NaN  = NaN     (not 0).
Complicates matters!
RJF


Camm Maguire wrote:

>Greetings!
>
>Raymond Toy <toy@rtp.ericsson.se> writes:
>
>  
>
>>>>>>>"Camm" == Camm Maguire <camm@enhanced.com> writes:
>>>>>>>              
>>>>>>>
>>    Camm> I don't think this is the case:
>>
>>My apologies.  I didn't test it.  I used to have problems with gcl's
>>float reader/printer, but I guess you've fixed those.  Nice!
>>
>>    Camm> OK, will consider after Stavros gets a chance to look into things next
>>    Camm> week.  Thanks again to all!
>>
>>FWIW, I ran your test function on cmucl.  It passes the test case
>>(test-f 1d0 10).  Also, there were a couple of minor bugs.  float
>>should take the 2nd arg, otherwise it converts to single-float be
>>default.  This was messing up cmucl. :-)
>>
>>    
>>
>
>Thanks.  Just a clarification here, this test also passes with GCL's
>current rationalize, just not (yet) with the proposed improved one.
>
>Take care,
>
>  
>
>>(defun test-f (x i)
>>  (multiple-value-bind
>>      (q r s)
>>      (integer-decode-float x)
>>    (format t "~S~%" x)
>>    (and (eql x (float (* q (expt 2 r)) x))
>>         (eql (float (rationalize x) x) x)
>>         (if (> i 0)
>>             (test-f (float (* (+ q 1) (expt 2 r)) x) (- i 1))
>>             t))))
>>
>>Ray
>>
>>
>>
>>
>>    
>>
>
>  
>