Sha256: 194ac5a5bc68e4189321c81b91fe5d65a4f041045b7db786ae06e6c2e8ba89b1

Contents?: true

Size: 203 Bytes

Versions: 16

Compression:

Stored size: 203 Bytes

Contents

# coding: utf-8
class Integer
  def φ
    return 1 if self == 1
    return self - 1 if prime?
    (prime_factors.uniq.map{|f| 1 - Rational(1, f)}.reduce(:*) * self).to_i
  end

  alias :totient :φ
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
numb-0.170.0 lib/numb/totient.rb
numb-0.152.0 lib/numb/totient.rb
numb-0.138.0 lib/numb/totient.rb
numb-0.125.0 lib/numb/totient.rb
numb-0.114.0 lib/numb/totient.rb
numb-0.111.0 lib/numb/totient.rb
numb-0.109.0 lib/numb/totient.rb
numb-0.99.0 lib/numb/totient.rb
numb-0.96.0 lib/numb/totient.rb
numb-0.89.0 lib/numb/totient.rb
numb-0.84.0 lib/numb/totient.rb
numb-0.77.0 lib/numb/totient.rb
numb-0.72.1 lib/numb/totient.rb
numb-0.72.0 lib/numb/totient.rb
numb-0.68.0 lib/numb/totient.rb
numb-0.63.0 lib/numb/totient.rb