summaryrefslogtreecommitdiff
path: root/libjava/gnu/java/math/GMP.h
blob: b038f10046eb3566aeae5e1d4fd70fbeba3e9db0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_java_math_GMP__
#define __gnu_java_math_GMP__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
        class Pointer;
    }
    namespace java
    {
      namespace math
      {
          class GMP;
      }
    }
  }
}

class gnu::java::math::GMP : public ::java::lang::Object
{

public:
  GMP();
private:
  void acquireRef();
  void releaseRef();
public: // actually protected
  void finalize();
public:
  void fromByteArray(JArray< jbyte > *);
  void fromBI(::gnu::java::math::GMP *);
  void fromLong(jlong);
  jint fromString(::java::lang::String *, jint);
  void fromSignedMagnitude(JArray< jbyte > *, jboolean);
  ::java::lang::String * toString(jint);
  void toByteArray(JArray< jbyte > *);
  jdouble doubleValue();
  jint absIntValue();
  jint compare(::gnu::java::math::GMP *);
  void add(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void subtract(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void multiply(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void quotient(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void remainder(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void quotientAndRemainder(::gnu::java::math::GMP *, ::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void modulo(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void pow(jint, ::gnu::java::math::GMP *);
  void modPow(::gnu::java::math::GMP *, ::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void modInverse(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void gcd(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void shiftLeft(jint, ::gnu::java::math::GMP *);
  void shiftRight(jint, ::gnu::java::math::GMP *);
  void abs(::gnu::java::math::GMP *);
  void negate(::gnu::java::math::GMP *);
  jint bitLength();
  jint bitCount();
  void and$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void or$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void xor$(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void andNot(::gnu::java::math::GMP *, ::gnu::java::math::GMP *);
  void not$(::gnu::java::math::GMP *);
  void flipBit(jint, ::gnu::java::math::GMP *);
  jint testBit(jint);
  void setBit(jint, jboolean, ::gnu::java::math::GMP *);
  jint testPrimality(jint);
  jint lowestSetBit();
  static void natInitializeLibrary();
private:
  void natInitialize();
  void natFinalize();
  void natFromLong(jlong);
  void natFromBI(::gnu::classpath::Pointer *);
  void natFromByteArray(JArray< jbyte > *);
  jint natFromString(::java::lang::String *, jint);
  void natFromSignedMagnitude(JArray< jbyte > *, jboolean);
  ::java::lang::String * natToString(jint);
  void natToByteArray(JArray< jbyte > *);
  jint natAbsIntValue();
  jdouble natDoubleValue();
  jint natCompare(::gnu::classpath::Pointer *);
  void natAdd(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natSubtract(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natMultiply(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natQuotient(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natRemainder(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natQuotientAndRemainder(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natModulo(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natPow(jint, ::gnu::classpath::Pointer *);
  void natModPow(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natModInverse(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natGCD(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  jint natTestPrimality(jint);
  void natShiftLeft(jint, ::gnu::classpath::Pointer *);
  void natShiftRight(jint, ::gnu::classpath::Pointer *);
  jint natLowestSetBit();
  void natAbs(::gnu::classpath::Pointer *);
  void natNegate(::gnu::classpath::Pointer *);
  jint natBitLength();
  jint natSetBitCount();
  void natXor(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natOr(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natAnd(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natAndNot(::gnu::classpath::Pointer *, ::gnu::classpath::Pointer *);
  void natFlipBit(jint, ::gnu::classpath::Pointer *);
  jint natTestBit(jint);
  void natSetBit(jint, jboolean, ::gnu::classpath::Pointer *);
  void natNot(::gnu::classpath::Pointer *);
  ::gnu::classpath::Pointer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) native_ptr;
  jint refCount;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_math_GMP__