Forked from
cmucl / cmucl
Source project has a limited visibility.
-
Raymond Toy authored
If the exponent (second arg of SCALE-FLOAT) is such that 2^exponent can be represented as a float (single or double), we can implement SCALE-FLOAT using a multiplication by 2^exponent, since multiplication by 2^exponent is exact. * src/compiler/float-tran.lisp: * Update deftransforms for SCALE-FLOAT to do a multiply when possible. * tests/float-tran.lisp: * Add tests to make sure the deftransforms for SCALE-FLOAT are applied appropriately.
Raymond Toy authoredIf the exponent (second arg of SCALE-FLOAT) is such that 2^exponent can be represented as a float (single or double), we can implement SCALE-FLOAT using a multiplication by 2^exponent, since multiplication by 2^exponent is exact. * src/compiler/float-tran.lisp: * Update deftransforms for SCALE-FLOAT to do a multiply when possible. * tests/float-tran.lisp: * Add tests to make sure the deftransforms for SCALE-FLOAT are applied appropriately.