floor(integer)



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