libera/#sbcl - IRC Chatlog
Search
21:18:14
stassats`
if a constant-foldable function has as one of its argument a lvar with two uses which are constant, it could be folded into two values
22:03:39
stassats`
it knows that (min -10 (if c -20 5)) will be either -20 or -10, but still compares against 5
2:03:30
stassats`
fmod() says the sign must be the same, so it returns something positive that doesn't match quotient*divisor+remainder=number
2:42:59
stassats`
is (truncate 942847873023899 389.0908182309674d0) => 2423207716159 even right then?
3:00:45
stassats`
after (sb-int:set-floating-point-modes :rounding-mode :zero) (ftruncate 942847873023899d0 389.0908182309674d0) i get 2.423207716158d12 389.125d0
3:29:07
stassats`
changing rounding modes is not a good idea, so I suppose just check if the remainder changes its sign? but that means recomputing it, not great