The organisation is as follows: a new system, buoy, is added, which implements low-level floating-point functionality. It is portable, except that it depends on the float-features portability library, and it assumes that single-float and double-float are ieee singles and doubles. Then sicl-arithmetic is extended with generic functions calling into buoy.
Neither of these is loaded, at present; once the sicl compiler has support for floating-point numbers, it should be straightforward to teach float-features about sicl, and then use this code.
If any of these functions disagrees with sbcl, sbcl is probably wrong, except that I have been somewhat lax about overflow in some places.
None of the fun ones, yet, but it's something.
The organisation is as follows: a new system, buoy, is added, which implements low-level floating-point functionality. It is portable, except that it depends on the float-features portability library, and it assumes that single-float and double-float are ieee singles and doubles. Then sicl-arithmetic is extended with generic functions calling into buoy.
Neither of these is loaded, at present; once the sicl compiler has support for floating-point numbers, it should be straightforward to teach float-features about sicl, and then use this code.
If any of these functions disagrees with sbcl, sbcl is probably wrong, except that I have been somewhat lax about overflow in some places.