Hi Kevin, > found some of the intermediate > values (the determinate) were smaller than 1e6 (my scl is 6) and so my > thought is to increase the scale to increase the precision.
The problem are not the small numbers, but the larger ones. I think it is a design flaw in the float/double interface in PicoLisp, as it uses short numbers to pass floats and doubles to and from native. If you have scale 16 and parse 123.0, you get 61 bits: : (scl 16) -> 16 : (length (bin 123.0)) -> 61 but a short num can be maximally 60 bits. A *small* number is no problem: : (length (bin 0.000123)) -> 41 The conversion functions in @src/lib.c (mentioned in my previous mail) should indeed overflow to bignums. In fact, pil32 did it this way (it had no short nums but only bignums). ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe