text: //
  //  Generated by the J2ObjC translator.  DO NOT EDIT!
  //  source: apache_harmony/classlib/modules/math/src/main/java/java/math/BigInteger.java
  //
  
  #ifndef _JavaMathBigInteger_H_
  #define _JavaMathBigInteger_H_
  
  #include "J2ObjC_header.h"
  #include "java/io/Serializable.h"
  #include "java/lang/Comparable.h"
  
  @class IOSByteArray;
  @class IOSIntArray;
  @class IOSObjectArray;
  @class JavaUtilRandom;
  
  #define JavaMathBigInteger_EQUALS 0
  #define JavaMathBigInteger_GREATER 1
  #define JavaMathBigInteger_LESS -1
  
  @interface JavaMathBigInteger : NSNumber < JavaLangComparable, JavaIoSerializable > {
   @public
    IOSIntArray *digits_;
    jint numberLength_;
    jint sign_;
  }
  
  #pragma mark Public
  
  - (instancetype)initWithByteArray:(IOSByteArray *)val;
  
  - (instancetype)initWithInt:(jint)signum
                withByteArray:(IOSByteArray *)magnitude;
  
  - (instancetype)initWithInt:(jint)bitLength
                      withInt:(jint)certainty
           withJavaUtilRandom:(JavaUtilRandom *)rnd;
  
  - (instancetype)initWithInt:(jint)numBits
           withJavaUtilRandom:(JavaUtilRandom *)rnd;
  
  - (instancetype)initWithNSString:(NSString *)val;
  
  - (instancetype)initWithNSString:(NSString *)val
                           withInt:(jint)radix;
  
  - (JavaMathBigInteger *)abs;
  
  - (JavaMathBigInteger *)addWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)and__WithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)andNotWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (jint)bitCount;
  
  - (jint)bitLength;
  
  - (JavaMathBigInteger *)clearBitWithInt:(jint)n;
  
  - (jint)compareToWithId:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)divideWithJavaMathBigInteger:(JavaMathBigInteger *)divisor;
  
  - (IOSObjectArray *)divideAndRemainderWithJavaMathBigInteger:(JavaMathBigInteger *)divisor;
  
  - (jdouble)doubleValue;
  
  - (jboolean)isEqual:(id)x;
  
  - (JavaMathBigInteger *)flipBitWithInt:(jint)n;
  
  - (jfloat)floatValue;
  
  - (JavaMathBigInteger *)gcdWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (jint)getLowestSetBit;
  
  - (NSUInteger)hash;
  
  - (jint)intValue;
  
  - (jboolean)isProbablePrimeWithInt:(jint)certainty;
  
  - (jlong)longLongValue;
  
  - (JavaMathBigInteger *)maxWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)minWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)modWithJavaMathBigInteger:(JavaMathBigInteger *)m;
  
  - (JavaMathBigInteger *)modInverseWithJavaMathBigInteger:(JavaMathBigInteger *)m;
  
  - (JavaMathBigInteger *)modPowWithJavaMathBigInteger:(JavaMathBigInteger *)exponent
                                withJavaMathBigInteger:(JavaMathBigInteger *)m;
  
  - (JavaMathBigInteger *)multiplyWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)negate;
  
  - (JavaMathBigInteger *)nextProbablePrime;
  
  - (JavaMathBigInteger *)not__;
  
  - (JavaMathBigInteger *)or__WithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (JavaMathBigInteger *)powWithInt:(jint)exp;
  
  + (JavaMathBigInteger *)probablePrimeWithInt:(jint)bitLength
                            withJavaUtilRandom:(JavaUtilRandom *)rnd;
  
  - (JavaMathBigInteger *)remainderWithJavaMathBigInteger:(JavaMathBigInteger *)divisor;
  
  - (JavaMathBigInteger *)setBitWithInt:(jint)n;
  
  - (JavaMathBigInteger *)shiftLeftWithInt:(jint)n;
  
  - (JavaMathBigInteger *)shiftRightWithInt:(jint)n;
  
  - (jint)signum;
  
  - (JavaMathBigInteger *)subtractWithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  - (jboolean)testBitWithInt:(jint)n;
  
  - (IOSByteArray *)toByteArray;
  
  - (NSString *)description;
  
  - (NSString *)toStringWithInt:(jint)radix;
  
  + (JavaMathBigInteger *)valueOfWithLong:(jlong)val;
  
  - (JavaMathBigInteger *)xor__WithJavaMathBigInteger:(JavaMathBigInteger *)val;
  
  #pragma mark Package-Private
  
  - (instancetype)initWithInt:(jint)sign
                      withInt:(jint)value;
  
  - (instancetype)initWithInt:(jint)sign
                      withInt:(jint)numberLength
                 withIntArray:(IOSIntArray *)digits;
  
  - (instancetype)initWithInt:(jint)signum
                 withIntArray:(IOSIntArray *)digits;
  
  - (instancetype)initWithInt:(jint)sign
                     withLong:(jlong)val;
  
  - (JavaMathBigInteger *)copy__ OBJC_METHOD_FAMILY_NONE;
  
  - (void)cutOffLeadingZeroes;
  
  - (jboolean)equalsArraysWithIntArray:(IOSIntArray *)b;
  
  - (jint)getFirstNonzeroDigit;
  
  + (JavaMathBigInteger *)getPowerOfTwoWithInt:(jint)exp;
  
  - (jboolean)isOne;
  
  - (JavaMathBigInteger *)shiftLeftOneBit;
  
  - (void)unCache;
  
  
  @end
  
  J2OBJC_STATIC_INIT(JavaMathBigInteger)
  
  J2OBJC_FIELD_SETTER(JavaMathBigInteger, digits_, IOSIntArray *)
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_ZERO_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, ZERO_, JavaMathBigInteger *)
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_ONE_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, ONE_, JavaMathBigInteger *)
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_TEN_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, TEN_, JavaMathBigInteger *)
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_MINUS_ONE_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, MINUS_ONE_, JavaMathBigInteger *)
  
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, EQUALS, jint)
  
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, GREATER, jint)
  
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, LESS, jint)
  
  FOUNDATION_EXPORT IOSObjectArray *JavaMathBigInteger_SMALL_VALUES_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, SMALL_VALUES_, IOSObjectArray *)
  
  FOUNDATION_EXPORT IOSObjectArray *JavaMathBigInteger_TWO_POWS_;
  J2OBJC_STATIC_FIELD_GETTER(JavaMathBigInteger, TWO_POWS_, IOSObjectArray *)
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withJavaUtilRandom_(JavaMathBigInteger *self, jint numBits, JavaUtilRandom *rnd);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withJavaUtilRandom_(jint numBits, JavaUtilRandom *rnd) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withInt_withJavaUtilRandom_(JavaMathBigInteger *self, jint bitLength, jint certainty, JavaUtilRandom *rnd);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withInt_withJavaUtilRandom_(jint bitLength, jint certainty, JavaUtilRandom *rnd) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithNSString_(JavaMathBigInteger *self, NSString *val);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithNSString_(NSString *val) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithNSString_withInt_(JavaMathBigInteger *self, NSString *val, jint radix);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithNSString_withInt_(NSString *val, jint radix) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withByteArray_(JavaMathBigInteger *self, jint signum, IOSByteArray *magnitude);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withByteArray_(jint signum, IOSByteArray *magnitude) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithByteArray_(JavaMathBigInteger *self, IOSByteArray *val);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithByteArray_(IOSByteArray *val) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withInt_(JavaMathBigInteger *self, jint sign, jint value);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withInt_(jint sign, jint value) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withInt_withIntArray_(JavaMathBigInteger *self, jint sign, jint numberLength, IOSIntArray *digits);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withInt_withIntArray_(jint sign, jint numberLength, IOSIntArray *digits) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withLong_(JavaMathBigInteger *self, jint sign, jlong val);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withLong_(jint sign, jlong val) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT void JavaMathBigInteger_initWithInt_withIntArray_(JavaMathBigInteger *self, jint signum, IOSIntArray *digits);
  
  FOUNDATION_EXPORT JavaMathBigInteger *new_JavaMathBigInteger_initWithInt_withIntArray_(jint signum, IOSIntArray *digits) NS_RETURNS_RETAINED;
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_valueOfWithLong_(jlong val);
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_probablePrimeWithInt_withJavaUtilRandom_(jint bitLength, JavaUtilRandom *rnd);
  
  FOUNDATION_EXPORT JavaMathBigInteger *JavaMathBigInteger_getPowerOfTwoWithInt_(jint exp);
  
  J2OBJC_TYPE_LITERAL_HEADER(JavaMathBigInteger)
  
  #endif // _JavaMathBigInteger_H_
  