Alternately, if you want a purer FP solution:
sub infix:<clamp> is looser(&infix:<..>) (Num $x, Range $r) {
given $x {
when $x < $r.min { $r.min }
when $x > $r.max { $r.max }
default { $x }
}
}
...
take $foo clamp 100..200;
take $bar clamp $midpoint ± $epsilon;
Larry
