Merged gcj-eclipse branch to trunk.
[official-gcc.git] / libjava / java / math / BigDecimal.h
blob72b877e85f4daace33665fb153ee7dbde5178a16
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __java_math_BigDecimal__
5 #define __java_math_BigDecimal__
7 #pragma interface
9 #include <java/lang/Number.h>
10 #include <gcj/array.h>
12 extern "Java"
14 namespace java
16 namespace math
18 class BigDecimal;
19 class BigInteger;
20 class MathContext;
21 class RoundingMode;
26 class java::math::BigDecimal : public ::java::lang::Number
29 public:
30 BigDecimal(jint);
31 BigDecimal(jint, ::java::math::MathContext *);
32 BigDecimal(jlong);
33 BigDecimal(jlong, ::java::math::MathContext *);
34 BigDecimal(::java::math::BigInteger *, ::java::math::MathContext *);
35 BigDecimal(::java::lang::String *, ::java::math::MathContext *);
36 BigDecimal(::java::math::BigInteger *);
37 BigDecimal(::java::math::BigInteger *, jint);
38 BigDecimal(::java::math::BigInteger *, jint, ::java::math::MathContext *);
39 BigDecimal(jdouble, ::java::math::MathContext *);
40 BigDecimal(jdouble);
41 BigDecimal(JArray< jchar > *, jint, jint, ::java::math::MathContext *);
42 BigDecimal(JArray< jchar > *, ::java::math::MathContext *);
43 BigDecimal(JArray< jchar > *);
44 BigDecimal(JArray< jchar > *, jint, jint);
45 BigDecimal(::java::lang::String *);
46 static ::java::math::BigDecimal * valueOf(jlong);
47 static ::java::math::BigDecimal * valueOf(jlong, jint);
48 virtual ::java::math::BigDecimal * add(::java::math::BigDecimal *);
49 virtual ::java::math::BigDecimal * add(::java::math::BigDecimal *, ::java::math::MathContext *);
50 virtual ::java::math::BigDecimal * subtract(::java::math::BigDecimal *);
51 virtual ::java::math::BigDecimal * subtract(::java::math::BigDecimal *, ::java::math::MathContext *);
52 virtual ::java::math::BigDecimal * multiply(::java::math::BigDecimal *);
53 virtual ::java::math::BigDecimal * multiply(::java::math::BigDecimal *, ::java::math::MathContext *);
54 virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint);
55 virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint, ::java::math::RoundingMode *);
56 virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, ::java::math::RoundingMode *);
57 virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *, jint, jint);
58 virtual ::java::math::BigDecimal * divide(::java::math::BigDecimal *);
59 virtual ::java::math::BigDecimal * remainder(::java::math::BigDecimal *);
60 virtual JArray< ::java::math::BigDecimal * > * divideAndRemainder(::java::math::BigDecimal *);
61 virtual ::java::math::BigDecimal * divideToIntegralValue(::java::math::BigDecimal *);
62 private:
63 ::java::math::BigDecimal * floor();
64 public:
65 virtual jint target$compareTo(::java::math::BigDecimal *);
66 virtual jboolean equals(::java::lang::Object *);
67 virtual jint hashCode();
68 virtual ::java::math::BigDecimal * max(::java::math::BigDecimal *);
69 virtual ::java::math::BigDecimal * min(::java::math::BigDecimal *);
70 virtual ::java::math::BigDecimal * movePointLeft(jint);
71 virtual ::java::math::BigDecimal * movePointRight(jint);
72 virtual jint signum();
73 virtual jint scale();
74 virtual ::java::math::BigInteger * unscaledValue();
75 virtual ::java::math::BigDecimal * abs();
76 virtual ::java::math::BigDecimal * negate();
77 virtual ::java::math::BigDecimal * negate(::java::math::MathContext *);
78 virtual ::java::math::BigDecimal * plus();
79 virtual ::java::math::BigDecimal * plus(::java::math::MathContext *);
80 virtual ::java::math::BigDecimal * round(::java::math::MathContext *);
81 virtual jint precision();
82 virtual ::java::lang::String * toString();
83 virtual ::java::lang::String * toEngineeringString();
84 virtual ::java::lang::String * toPlainString();
85 virtual ::java::math::BigInteger * toBigInteger();
86 virtual ::java::math::BigInteger * toBigIntegerExact();
87 virtual jint intValue();
88 virtual ::java::math::BigDecimal * stripTrailingZeros();
89 virtual jlong longValue();
90 virtual jfloat floatValue();
91 virtual jdouble doubleValue();
92 virtual ::java::math::BigDecimal * setScale(jint);
93 virtual ::java::math::BigDecimal * setScale(jint, jint);
94 virtual ::java::math::BigDecimal * setScale(jint, ::java::math::RoundingMode *);
95 static ::java::math::BigDecimal * valueOf(jdouble);
96 virtual ::java::math::BigDecimal * scaleByPowerOfTen(jint);
97 virtual ::java::math::BigDecimal * pow(jint);
98 virtual ::java::math::BigDecimal * pow(jint, ::java::math::MathContext *);
99 virtual ::java::math::BigDecimal * abs(::java::math::MathContext *);
100 virtual ::java::math::BigDecimal * ulp();
101 virtual jlong longValueExact();
102 virtual jint intValueExact();
103 virtual jbyte byteValueExact();
104 virtual jshort shortValueExact();
105 virtual jint compareTo(::java::lang::Object *);
106 private:
107 ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Number)))) intVal;
108 jint scale__;
109 jint precision__;
110 static const jlong serialVersionUID = 6108874887143696463LL;
111 public:
112 static ::java::math::BigDecimal * ZERO;
113 static ::java::math::BigDecimal * ONE;
114 static ::java::math::BigDecimal * TEN;
115 static const jint ROUND_UP = 0;
116 static const jint ROUND_DOWN = 1;
117 static const jint ROUND_CEILING = 2;
118 static const jint ROUND_FLOOR = 3;
119 static const jint ROUND_HALF_UP = 4;
120 static const jint ROUND_HALF_DOWN = 5;
121 static const jint ROUND_HALF_EVEN = 6;
122 static const jint ROUND_UNNECESSARY = 7;
123 static ::java::lang::Class class$;
126 #endif // __java_math_BigDecimal__