Class: Integer

Inherits:
Numeric show all
Defined in:
opal/opal/corelib/number.rb,
opal/opal/corelib/marshal/write_buffer.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Numeric

#%, #+@, #-@, #<=>, #__coerced__, #abs, #abs2, #angle, #ceil, #clone, #coerce, #conj, #denominator, #div, #divmod, #dup, #fdiv, #finite?, #floor, #i, #imag, #infinite?, #integer?, #negative?, #nonzero?, #numerator, #polar, #positive?, #quo, #real, #real?, #rect, #round, #step, #to_c, #to_int, #truncate, #zero?

Methods included from Comparable

#<, #<=, #==, #>, #>=, #between?, #clamp

Class Method Details

.allocateObject



889
890
891
# File 'opal/opal/corelib/number.rb', line 889

def allocate
  ::Kernel.raise ::TypeError, "allocator undefined for #{name}"
end

.sqrt(n) ⇒ Object



895
896
897
898
899
900
901
902
903
904
# File 'opal/opal/corelib/number.rb', line 895

def sqrt(n)
  n = ::Opal.coerce_to!(n, ::Integer, :to_int)
  %x{
    if (n < 0) {
      #{::Kernel.raise ::Math::DomainError, 'Numerical argument is out of domain - "isqrt"'}
    }

    return parseInt(Math.sqrt(n), 10);
  }
end

.try_convert(object) ⇒ Object



906
907
908
# File 'opal/opal/corelib/number.rb', line 906

def try_convert(object)
  Opal.coerce_to?(object, self, :to_int)
end

Instance Method Details

#__marshal__(buffer) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'opal/opal/corelib/marshal/write_buffer.rb', line 18

def __marshal__(buffer)
  if self >= -0x40000000 && self < 0x40000000
    buffer.append('i')
    buffer.write_fixnum(self)
  else
    buffer.append('l')
    buffer.write_bignum(self)
  end
end