http://www.perlmonks.org?node_id=11105611


in reply to Re: sub as mathematical function
in thread sub as mathematical function

It also fails for a lot of numbers between the ones you tested (e.g. 0.112 should return 1 but returns 0, 0.23 should return 2 but returns 1, etc).

The fix is simple: Replace 8 with 9 :)

Of course, that assumes the input is in range [0..1), but that seems a sure thing.