Similarly, rem performs the operation truncate on its arguments and returns the second result of truncate as its only result. In general, however, the arguments may be integers or floating-point numbers. The MacLisp function remainder is like rem but accepts only integer arguments. It is roughly as if ffloor gave its arguments to floor , and then applied float to the first result before passing them both back. In practice, however, ffloor may be implemented much more efficiently.
Similar remarks apply to the other three functions.
The second value of decode-float is the integer exponent e to which b must be raised to produce the appropriate power for the division. If the argument is zero, any integer value may be returned, provided that the identity shown below for scale-float holds. Note that if both the realpart and imagpart are rational and the imagpart is zero, then the result is just the realpart because of the rule of canonical representation for complex rationals. These return the real and imaginary parts of a complex number.