Sha256: a2de6d1473dd6a06fb192ee85b2b8473e284052d4752163b700b9d8e487ee863
Contents?: true
Size: 358 Bytes
Versions: 3
Compression:
Stored size: 358 Bytes
Contents
class Integer # `self`^`b` mod `m` # # @param [Integer] b power to which `self` should be raised # @param [Integer] m modulus # @return [Integer] `self`^`b` % `m` def power_mod(b, m) result = 1 b.to_s(2).chars.each do |bit| result = (result * result) % m result = (result * self) % m if bit==?1 end result end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
numb-0.186.0 | lib/numb/power_mod.rb |
numb-0.185.0 | lib/numb/power_mod.rb |
numb-0.184.0 | lib/numb/power_mod.rb |