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

8 lines
255 B
Raku
Raw Permalink Normal View History

2013-04-10 22:43:41 -07:00
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 }