sign(aaa) => PNZ OK
sign(bbb) => PNZ OK
sign(2*aaa) => PNZ OK
sign(1.0*aaa) => POS !!!
sign(1.0*bbb) => POS !!!
This is yet another case of EV being misused in the middle of code that has no business doing an evaluation, in this case in compar.lisp, function numer.
Adding the noeval flag does not fix the problem -- though sign(1.0*aaa) is now PNZ, sign(1.0*bbb) is still POS.
$float is better, though a fix is needed to $float for the 2^%pi case.
Log in to post a comment.