RosettaCodeData/Task/Exponentiation-operator/Perl-6/exponentiation-operator.pl6

13 lines
300 B
Raku

subset Natural of Int where { $^n >= 0 }
multi pow (0, 0) { fail '0**0 is undefined' }
multi pow ($base, Natural $exp) { [*] $base xx $exp }
multi pow ($base, Int $exp) { 1 / pow $base, -$exp }
sub infix:<***> ($a, $b) { pow $a, $b }
# Testing
say pow .75, -5;
say .75 *** -5;