Class: Integer
- Defined in:
- lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/odd.rb,
lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/ord.rb,
lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/even.rb,
lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/pred.rb,
lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb,
lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/round.rb
Class Method Summary collapse
-
.each_prime(ubound, &block) ⇒ Object
Iterates the given block over all prime numbers.
-
.from_prime_division(pd) ⇒ Object
Re-composes a prime factorization and returns the product.
Instance Method Summary collapse
- #even? ⇒ Boolean
- #odd? ⇒ Boolean
- #ord ⇒ Object
- #pred ⇒ Object
-
#prime? ⇒ Boolean
Returns true if
self
is a prime number, false for a composite. -
#prime_division(generator = Prime::Generator23.new) ⇒ Object
Returns the factorization of
self
. - #round_with_digits(ndigits = 0) ⇒ Object
Class Method Details
.each_prime(ubound, &block) ⇒ Object
Iterates the given block over all prime numbers.
See Prime
#each for more details.
40 41 42 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb', line 40 def Integer.each_prime(ubound, &block) # :yields: prime Prime.each(ubound, &block) end |
.from_prime_division(pd) ⇒ Object
Re-composes a prime factorization and returns the product.
See Prime#int_from_prime_division for more details.
21 22 23 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb', line 21 def Integer.from_prime_division(pd) Prime.int_from_prime_division(pd) end |
Instance Method Details
#even? ⇒ Boolean
3 4 5 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/even.rb', line 3 def even? self[0].zero? end |
#odd? ⇒ Boolean
3 4 5 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/odd.rb', line 3 def odd? !self[0].zero? end |
#ord ⇒ Object
3 4 5 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/ord.rb', line 3 def ord self end |
#pred ⇒ Object
3 4 5 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/pred.rb', line 3 def pred self - 1 end |
#prime? ⇒ Boolean
Returns true if self
is a prime number, false for a composite.
33 34 35 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb', line 33 def prime? Prime.prime?(self) end |
#prime_division(generator = Prime::Generator23.new) ⇒ Object
Returns the factorization of self
.
See Prime#prime_division for more details.
28 29 30 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb', line 28 def prime_division(generator = Prime::Generator23.new) Prime.prime_division(self, generator) end |
#round_with_digits(ndigits = 0) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/round.rb', line 5 def round_with_digits(ndigits=0) ndigits = Backports::coerce_to_int(ndigits) case when ndigits.zero? self when ndigits > 0 raise RangeError if ndigits >= 1<<31 Float(self) else pow = 10 ** (-ndigits) return 0 if pow.is_a?(Float) # when ndigits hugely negative remain = self % pow comp = self < 0 ? :<= : :< remain -= pow unless remain.send(comp, pow / 2) self - remain end end |