/// <summary> /// Constructs the Unsigned from a value and a desired size. /// </summary> /// <param name="value">The value</param> /// <param name="size">The desired size (in bits)</param> private Unsigned(IntX value, int size) { Contract.Requires(size >= 0); Contract.Requires( value == null || value.CompareTo(0) == 0 || (value <= (((IntX)1) << size) - 1)); _value = value; _size = size; }
/// <summary> /// Constructs the Signed struct from a value and a desired size. /// </summary> /// <param name="value">The integer value</param> /// <param name="size">The integer size (in bits)</param> private Signed(IntX value, int size) { Contract.Requires(size >= 0); Contract.Requires( value == null || value.CompareTo(0) == 0 || (value <= (((IntX)1) << (size - 1)) - 1 && value >= -(((IntX)1) << (size - 1)))); _value = value; _size = size; }
public override int CompareTo(BigNum other) { BigInt o = E(other); return(_v.CompareTo(o._v)); }