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

Re: arithmetic issues

Taylor Campbell <campbell@xxxxxxxxxx> writes:

> The notion of 'fixnum' and 'flonum' is an implementation detail; it
> should really not be exposed to the user, as this simply shows a
> weakness in the expressiveness of the language.  What is needed,
> though, is a method of specifying modular or inexact arithmetic more
> precisely than the vague fixnum and flonum mechanism.  

This is why I sugggest that most users want some guaranteed
space-constant functions.  So we can provide them.  Not a problem. 

Space constant addition of integers, when overflow occurs, could
result in various things: modular "wraparond", special NaN values,
throwing errors, clamping to maxint.  All of those are sensible; there
is no clear reason why the modular wraparound is best; indeed, it is
usually worst.  This is why I suggest optional or default arguments to
such functions to specify this behavior.

The IEEE floating point experts can presumably explain what the right
options to provide are for space-constant operations on reals.