Class: Integer

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

Constant Summary collapse

MAX =
`Math.pow(2, 30) - 1`
MIN =
`-Math.pow(2, 30)`

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Numeric

#%, #[email protected], #[email protected], #<=>, #__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

Raises:


838
839
840
# File 'opal/opal/corelib/number.rb', line 838

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

.sqrt(n) ⇒ Object


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

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

    return parseInt(Math.sqrt(n), 10);
  }
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