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

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi, can this sub be expressed in a simple mathematical function like int(8*$v) that returns exactly the same?
sub quant { # input: float 0 to 1 inclusive my $v = shift; if ($v<1/9) { return 0 } elsif ($v<2/9) { return 1 } elsif ($v<3/9) { return 2 } elsif ($v<4/9) { return 3 } elsif ($v<5/9) { return 4 } elsif ($v<6/9) { return 5 } elsif ($v<7/9) { return 6 } elsif ($v<8/9) { return 7 } else { return 8 } }