C# Class IronRuby.Builtins.ClrBigInteger

Datei anzeigen Open project: jschementi/iron Class Usage Examples

Private Methods

Method Description
Abs ( BigInteger self ) : object
Add ( BigInteger self, [ other ) : object
Add ( BigInteger self, double other ) : object
Add ( BigInteger self, int other ) : object
Add ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
And ( BigInteger self, [ other ) : object
And ( BigInteger self, int other ) : object
And ( RubyContext context, BigInteger self, [ other ) : object
Bit ( BigInteger self, [ index ) : int
BitwiseOr ( BigInteger self, [ other ) : object
BitwiseOr ( BigInteger self, int other ) : object
BitwiseOr ( RubyContext context, BigInteger self, [ other ) : object
Coerce ( BigInteger self, [ other ) : RubyArray
Coerce ( RubyContext context, BigInteger self, object other ) : RubyArray
Compare ( BigInteger self, [ other ) : int
Compare ( BigInteger self, int other ) : int
Compare ( BinaryOpStorage coercionStorage, BinaryOpStorage comparisonStorage, BigInteger self, object other ) : object
Compare ( RubyContext context, BigInteger self, double other ) : object
Div ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
DivMod ( BigInteger self, [ other ) : RubyArray
DivMod ( BigInteger self, double other ) : RubyArray
DivMod ( BigInteger self, int other ) : RubyArray
DivMod ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
Divide ( BigInteger self, [ other ) : object
Divide ( BigInteger self, double other ) : object
Divide ( BigInteger self, int other ) : object
Divide ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
DivideOp ( BigInteger self, double other ) : object
Eql ( BigInteger self, [ other ) : bool
Eql ( BigInteger self, int other ) : bool
Eql ( BigInteger self, object other ) : bool
Equal ( BigInteger self, [ other ) : bool
Equal ( BigInteger self, int other ) : bool
Equal ( BinaryOpStorage equals, BigInteger self, object other ) : bool
Equal ( RubyContext context, BigInteger self, double other ) : bool
FDiv ( BigInteger self, [ other ) : double
Hash ( BigInteger self ) : int
Invert ( BigInteger self ) : object
LeftShift ( BigInteger self, [ other ) : object
LeftShift ( BigInteger self, int other ) : object
LeftShift ( RubyContext context, BigInteger self, [ other ) : object
Modulo ( BigInteger self, [ other ) : object
Modulo ( BigInteger self, double other ) : object
Modulo ( BigInteger self, int other ) : object
Modulo ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
ModuloOp ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
Multiply ( BigInteger self, [ other ) : object
Multiply ( BigInteger self, double other ) : object
Multiply ( BigInteger self, int other ) : object
Multiply ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
Negate ( BigInteger self ) : object
Power ( BigInteger self, double exponent ) : object
Power ( BigInteger self, int exponent ) : object
Power ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object exponent ) : object
Power ( RubyContext context, BigInteger self, [ exponent ) : object
Quotient ( BigInteger self, [ other ) : object
Quotient ( BigInteger self, double other ) : object
Quotient ( BigInteger self, int other ) : object
Quotient ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
Remainder ( BigInteger self, double other ) : double
Remainder ( BigInteger self, [ other ) : object
Remainder ( BigInteger self, int other ) : object
Remainder ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
RightShift ( BigInteger self, [ other ) : object
RightShift ( BigInteger self, int other ) : object
RightShift ( RubyContext context, BigInteger self, [ other ) : object
ShiftOverflowCheck ( BigInteger self, BigInteger result ) : BigInteger

Test for shift overflow on negative BigIntegers

Negative Bignums are supposed to look like they are stored in 2s complement infinite bit string, a negative number should always have spare 1s available for on the left hand side for right shifting. E.g. 8 == ...0001000; -8 == ...1110111, where the ... means that the left hand value is repeated indefinitely. The test here checks whether we have overflowed into the infinite 1s. [Arguably this should get factored into the BigInteger class.]

Subtract ( BigInteger self, [ other ) : object
Subtract ( BigInteger self, double other ) : object
Subtract ( BigInteger self, int other ) : object
Subtract ( BinaryOpStorage coercionStorage, BinaryOpStorage binaryOpSite, object self, object other ) : object
ToFloat ( RubyContext context, BigInteger self ) : double
ToString ( BigInteger self ) : MutableString
ToString ( BigInteger self, int radix ) : MutableString
Xor ( BigInteger self, [ other ) : object
Xor ( BigInteger self, int other ) : object
Xor ( RubyContext context, BigInteger self, [ other ) : object