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



840
841
842
# File 'opal/opal/corelib/number.rb', line 840

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

.sqrt(n) ⇒ Object



846
847
848
849
850
851
852
853
854
855
# File 'opal/opal/corelib/number.rb', line 846

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



857
858
859
# File 'opal/opal/corelib/number.rb', line 857

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