Eliminated redundant type testing.
commit6c34196f48be0947a95a801c738e54a98116ad81
authorThomas M. Hermann <tmh.public@gmail.com>
Mon, 9 Mar 2009 17:49:20 +0000 (9 12:49 -0500)
committerThomas M. Hermann <tmh.public@gmail.com>
Mon, 9 Mar 2009 17:49:20 +0000 (9 12:49 -0500)
treefdd1089cdb258b0acd6d4652e095cd1781c7e256
parent7b0b17bc6b2d956aa664035383fc4659c382bb29
Eliminated redundant type testing.

Argument type testing in NUMBER-EQUAL was repeated when FLOAT-EQUAL or
COMPLEX-EQUAL were called. Similarly, type testing was repeated when
FLOAT-EQUAL was called from COMPLEX-EQUAL. To remove these redundant
tests, auxiliary functions %FLOAT-EQUAL and %COMPLEX-EQUAL were
created that do not test the types of the arguments. These functions
are called directly from NUMBER-EQUAL, COMPLEX-EQUAL or FLOAT-EQUAL
where the type tests are performed, eliminating redundant type
testing.
floating-point.lisp