Hi,
does anybody know how the floor function behaves when its argument is an
integer which is not obviously integer ?
for instance
floor(log(5)/log(2)) ==> 2 (correct)
but
floor(log(4)/log(2)) ==> floor(log(4)/log(2)) (I would expect 2 or 1)
The documentation says the argument is bfoat-evaluated at first. This of
course could give a wrong answer (if log(4)/log(2)=1.999 instead of 2)
but I didn't expect such unevaluated answer. Did I miss something ?
A numerical evaluation gives what I expect
ev(floor(log(4)/log(2)),numer); ==> 2
Eric Reyssat