routine expmod
Documentation for routine expmod
assembled from the following types:
class Int
From Int
(Int) routine expmod
Defined as:
multi sub expmod( , , --> Int)multi sub expmod(Int , Int , Int --> Int)multi method expmod(Int: Int , Int --> Int)
Returns the given Int
raised to the $y
power within modulus $mod
, that is gives the result of ($x ** $y) mod $mod
. The subroutine form can accept non-Int
arguments, which will be coerced to Int
.
say expmod(4, 2, 5); # OUTPUT: «1»say 7.expmod(2, 5); # OUTPUT: «4»
$y
argument can also be negative, in which case, the result is equivalent to ($x ** $y)
mod $mod.
say 7.expmod(-2, 5); # OUTPUT: «4»