| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.lang.Number
gnu.math.Numeric
gnu.math.Quantity
gnu.math.Complex
gnu.math.RealNum
gnu.math.RatNum
gnu.math.IntNum
public class IntNum
A class for infinite-precision integers.
| Field Summary | |
|---|---|
|  int | ivalAll integers are stored in 2's-complement form. | 
|  int[] | words | 
| Fields inherited from class gnu.math.Numeric | 
|---|
| CEILING, FLOOR, ROUND, TRUNCATE | 
| Constructor Summary | |
|---|---|
| IntNum() | |
| IntNum(int value)Create a new (non-shared) IntNum, and initialize to an int. | |
| Method Summary | |
|---|---|
| static IntNum | abs(IntNum x) | 
| static IntNum | add(int x,
    int y)Add two ints, yielding an IntNum. | 
| static IntNum | add(IntNum x,
    int y)Add an IntNum and an int, yielding a new IntNum. | 
| static IntNum | add(IntNum x,
    IntNum y)Add two IntNums, yielding their sum as another IntNum. | 
| static IntNum | add(IntNum x,
    IntNum y,
    int k)Add two IntNums, yielding their sum as another IntNum. | 
|  Numeric | add(java.lang.Object y,
    int k)Return this + k * obj. | 
| static IntNum | alloc(int nwords)Allocate a new non-shared IntNum. | 
|  IntNum | canonicalize() | 
| static int | compare(IntNum x,
        IntNum y)Return -1, 0, or 1, depending on which value is greater. | 
| static int | compare(IntNum x,
        long y)Return -1, 0, or 1, depending on which value is greater. | 
|  int | compare(java.lang.Object obj)Return 1 if this>obj; 0 if this==obj; -1 if this | 
|  IntNum | denominator() | 
|  Numeric | div(java.lang.Object y) | 
| static void | divide(IntNum x,
       IntNum y,
       IntNum quotient,
       IntNum remainder,
       int rounding_mode)Divide two integers, yielding quotient and remainder. | 
| static void | divide(long x,
       long y,
       IntNum quotient,
       IntNum remainder,
       int rounding_mode) | 
|  double | doubleValue()The value of the real component, as a double. | 
| static boolean | equals(IntNum x,
       IntNum y) | 
|  boolean | equals(java.lang.Object obj) | 
|  void | format(int radix,
       java.lang.StringBuffer buffer) | 
| static int | gcd(int a,
    int b)Calculate Greatest Common Divisor for non-negative ints. | 
| static IntNum | gcd(IntNum x,
    IntNum y) | 
|  void | getAbsolute(int[] words)Copy the abolute value of this into an array of words. | 
|  int | hashCode() | 
|  int | intLength()Calculates ceiling(log2(this < 0 ? -this : this+1)). | 
|  int | intValue() | 
| static int | intValue(java.lang.Object obj)Cast an Object to an int. | 
|  boolean | isMinusOne() | 
|  boolean | isNegative() | 
|  boolean | isOdd() | 
|  boolean | isOne() | 
|  boolean | isZero() | 
| static IntNum | lcm(IntNum x,
    IntNum y) | 
|  long | longValue() | 
| static IntNum | make(int value)Return a (possibly-shared) IntNum with a given int value. | 
| static IntNum | make(int[] words) | 
| static IntNum | make(int[] words,
     int len)Make a canonicalized IntNum from an array of words. | 
| static IntNum | make(long value)Return a (possibly-shared) IntNum with a given long value. | 
| static IntNum | makeU(long value)Make an IntNum from an unsigned 64-bit value. | 
| static IntNum | minusOne()Return the IntNum for -1. | 
| static IntNum | modulo(IntNum x,
       IntNum y) | 
|  Numeric | mul(java.lang.Object y) | 
|  Numeric | neg() | 
| static IntNum | neg(IntNum x) | 
| static boolean | negate(int[] dest,
       int[] src,
       int len)Set dest[0:len-1] to the negation of src[0:len-1]. | 
|  IntNum | numerator() | 
| static IntNum | one() | 
|  Numeric | power(IntNum y)Return this raised to an integer power. | 
| static IntNum | power(IntNum x,
      int y)Calculate the integral power of an IntNum. | 
| static IntNum | quotient(IntNum x,
         IntNum y) | 
| static IntNum | quotient(IntNum x,
         IntNum y,
         int rounding_mode) | 
|  void | readExternal(java.io.ObjectInput in) | 
|  java.lang.Object | readResolve() | 
|  void | realloc(int nwords)Change words.length to nwords. | 
| static IntNum | remainder(IntNum x,
          IntNum y) | 
|  double | roundToDouble(int exp,
              boolean neg,
              boolean remainder)Convert a semi-processed IntNum to double. | 
|  void | set(int y)Destructively set the value of this to an int. | 
|  void | set(int[] words,
    int length)Destructively set the value of this to the given words. | 
|  void | set(IntNum y)Destructively set the value of this to that of y. | 
|  void | set(long y)Destructively set the value of this to a long. | 
|  void | setAdd(int y)Destructively add an int to this. | 
|  void | setAdd(IntNum x,
       int y)Set this to the sum of x and y. | 
|  void | setNegative()Destructively negate this. | 
|  void | setNegative(IntNum x)Destructively set this to the negative of x. | 
| static IntNum | shift(IntNum x,
      int count) | 
|  int | sign()Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN. | 
| static IntNum | sub(IntNum x,
    IntNum y)Subtract two IntNums, yielding their sum as another IntNum. | 
| static IntNum | ten() | 
| static IntNum | times(int x,
      int y)Multiply two ints, yielding an IntNum. | 
| static IntNum | times(IntNum x,
      int y) | 
| static IntNum | times(IntNum x,
      IntNum y) | 
|  IntNum | toExactInt(int rounding_mode)Converts to an exact integer, with specified rounding mode. | 
|  RealNum | toInt(int rounding_mode)Converts a real to an integer, according to a specified rounding mode. | 
|  java.lang.String | toString(int radix) | 
| static IntNum | valueOf(byte[] digits,
        int byte_len,
        boolean negative,
        int radix) | 
| static IntNum | valueOf(char[] buf,
        int offset,
        int length,
        int radix,
        boolean negative) | 
| static IntNum | valueOf(java.lang.String s) | 
| static IntNum | valueOf(java.lang.String s,
        int radix) | 
| static int | wordsNeeded(int[] words,
            int len)Calculate how many words are significant in words[0:len-1]. | 
|  void | writeExternal(java.io.ObjectOutput out) | 
| static IntNum | zero() | 
| Methods inherited from class gnu.math.RatNum | 
|---|
| add, compare, divide, equals, infinity, isExact, make, rationalize, times, toExact | 
| Methods inherited from class gnu.math.RealNum | 
|---|
| abs, add, compareTo, divide, exp, im, log, max, min, re, rneg, sin, sqrt, times, toExactInt, toExactInt, toInt, toScaledInt, toScaledInt, toScaledInt | 
| Methods inherited from class gnu.math.Complex | 
|---|
| add, addReversed, angle, compare, divide, divReversed, doubleImagValue, doubleRealValue, equals, imMinusOne, imOne, make, make, mulReversed, neg, number, polar, polar, power, times | 
| Methods inherited from class gnu.math.Quantity | 
|---|
| add, compare, compareReversed, dimensions, divide, imValue, make, make, make, reValue, times, unit | 
| Methods inherited from class gnu.math.Numeric | 
|---|
| add, div_inv, floatValue, geq, grt, mul_ident, sub, toString | 
| Methods inherited from class java.lang.Number | 
|---|
| byteValue, shortValue | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public int ival
public int[] words
| Constructor Detail | 
|---|
public IntNum()
public IntNum(int value)
value - the initial value| Method Detail | 
|---|
public static IntNum make(int value)
public static final IntNum zero()
public static final IntNum one()
public static final IntNum ten()
public static IntNum minusOne()
public static IntNum make(long value)
public static IntNum makeU(long value)
public static IntNum make(int[] words,
                          int len)
public static IntNum make(int[] words)
public static IntNum alloc(int nwords)
nwords - number of words to allocatepublic void realloc(int nwords)
public final IntNum numerator()
numerator in class RatNumpublic final IntNum denominator()
denominator in class RatNumpublic final boolean isNegative()
isNegative in class RealNumpublic int sign()
RealNum
sign in class RealNum
public static int compare(IntNum x,
                          IntNum y)
public static int compare(IntNum x,
                          long y)
public int compare(java.lang.Object obj)
Numericcompare in class Complexpublic final boolean isOdd()
public final boolean isZero()
isZero in class RatNumpublic final boolean isOne()
public final boolean isMinusOne()
public static int wordsNeeded(int[] words,
                              int len)
public IntNum canonicalize()
public static final IntNum add(int x,
                               int y)
public static IntNum add(IntNum x,
                         int y)
public void setAdd(IntNum x,
                   int y)
public final void setAdd(int y)
public final void set(int y)
public final void set(long y)
public final void set(int[] words,
                      int length)
public final void set(IntNum y)
public static IntNum add(IntNum x,
                         IntNum y)
public static IntNum sub(IntNum x,
                         IntNum y)
public static IntNum add(IntNum x,
                         IntNum y,
                         int k)
public static final IntNum times(int x,
                                 int y)
public static final IntNum times(IntNum x,
                                 int y)
public static final IntNum times(IntNum x,
                                 IntNum y)
public static void divide(long x,
                          long y,
                          IntNum quotient,
                          IntNum remainder,
                          int rounding_mode)
public static void divide(IntNum x,
                          IntNum y,
                          IntNum quotient,
                          IntNum remainder,
                          int rounding_mode)
x - the numerator in the divisiony - the denominator in the divisionquotient - is set to the quotient of the result (iff quotient!=null)remainder - is set to the remainder of the result
  (iff remainder!=null)rounding_mode - one of FLOOR, CEILING, TRUNCATE, or ROUND.
public static IntNum quotient(IntNum x,
                              IntNum y,
                              int rounding_mode)
public static IntNum quotient(IntNum x,
                              IntNum y)
public IntNum toExactInt(int rounding_mode)
RealNum
toExactInt in class RatNumpublic RealNum toInt(int rounding_mode)
RealNum
toInt in class RatNum
public static IntNum remainder(IntNum x,
                               IntNum y)
public static IntNum modulo(IntNum x,
                            IntNum y)
public Numeric power(IntNum y)
Numeric
power in class RatNum
public static IntNum power(IntNum x,
                           int y)
x - the value (base) to exponentiatey - the exponent (must be non-negative)
public static final int gcd(int a,
                            int b)
public static IntNum gcd(IntNum x,
                         IntNum y)
public static IntNum lcm(IntNum x,
                         IntNum y)
public static IntNum shift(IntNum x,
                           int count)
public void format(int radix,
                   java.lang.StringBuffer buffer)
public java.lang.String toString(int radix)
toString in class Complexpublic int intValue()
intValue in class Numericpublic static int intValue(java.lang.Object obj)
public long longValue()
longValue in class Complexpublic int hashCode()
hashCode in class java.lang.Object
public static boolean equals(IntNum x,
                             IntNum y)
public boolean equals(java.lang.Object obj)
equals in class RatNum
public static IntNum valueOf(char[] buf,
                             int offset,
                             int length,
                             int radix,
                             boolean negative)
public static IntNum valueOf(java.lang.String s,
                             int radix)
                      throws java.lang.NumberFormatException
java.lang.NumberFormatException
public static IntNum valueOf(byte[] digits,
                             int byte_len,
                             boolean negative,
                             int radix)
public static IntNum valueOf(java.lang.String s)
                      throws java.lang.NumberFormatException
java.lang.NumberFormatExceptionpublic double doubleValue()
Quantity
doubleValue in class Complex
public double roundToDouble(int exp,
                            boolean neg,
                            boolean remainder)
exp - power of two, positive or negative, by which to multiplyneg - true if negativeremainder - true if the IntNum is the result of a truncating
 division that had non-zero remainder.  To ensure proper rounding in
 this case, the IntNum must have at least 54 bits.
public Numeric add(java.lang.Object y,
                   int k)
Numeric
add in class RealNumpublic Numeric mul(java.lang.Object y)
mul in class RealNumpublic Numeric div(java.lang.Object y)
div in class RealNumpublic void getAbsolute(int[] words)
public static boolean negate(int[] dest,
                             int[] src,
                             int len)
public void setNegative(IntNum x)
public final void setNegative()
public static IntNum abs(IntNum x)
public static IntNum neg(IntNum x)
public Numeric neg()
neg in class Complexpublic int intLength()
ceiling(log2(this < 0 ? -this : this+1)).
 See Common Lisp: the Language, 2nd ed, p. 361.
public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOException
public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOException
java.lang.ClassNotFoundException
public java.lang.Object readResolve()
                             throws java.io.ObjectStreamException
java.io.ObjectStreamException| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||