class Integer
def even?
def even? self[0].zero? end unless method_defined? :even?
def odd?
def odd? !even? end unless method_defined? :odd?
def ord
def ord self end unless method_defined? :ord
def pred
def pred self - 1 end unless method_defined? :pred
def prime?
def prime? Prime.prime?(self) end
def prime_division(generator = Prime::Generator23.new)
Returns the factorization of +self+.
def prime_division(generator = Prime::Generator23.new) Prime.prime_division(self, generator) end
def round_with_digits(ndigits=0)
def round_with_digits(ndigits=0) ndigits = Backports::coerce_to_int(ndigits) case when ndigits.zero? self when ndigits > 0 Float(self) else pow = 10 ** (-ndigits) remain = self % pow comp = self < 0 ? :<= : :< remain -= pow unless remain.send(comp, pow / 2) self - remain end end