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

Oh ... off by max, again! ;-)

update

I wouldn't count on correct input though, and additional max seems safe

DB<5> print $_,":",max(min(int(9*$_/18),8),0),"\n" for -2..20 -2:0 -1:0 0:0 1:0 2:1 3:1 4:2 5:2 6:3 7:3 8:4 9:4 10:5 11:5 12:6 13:6 14:7 15:7 16:8 17:8 18:8 19:8 20:8

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Replies are listed 'Best First'.
Re^4: sub as mathematical function
by davido (Cardinal) on Sep 04, 2019 at 18:12 UTC

    The subexpression 9*X/18 == (9x)/18 == x/2. Therefore, max(min(int($_ / 2), 8, 0);


    Dave

      The core of the formula was 9*$v I was just trying to cover all edges cases for $v in a one liner.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice