// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_lang_StrictMath__
#define __java_lang_StrictMath__

#pragma interface

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

class ::java::lang::StrictMath : public ::java::lang::Object
{
private:
  StrictMath ();
public:
  static jint abs (jint);
  static jlong abs (jlong);
  static jfloat abs (jfloat);
  static jdouble abs (jdouble);
  static jint min (jint, jint);
  static jlong min (jlong, jlong);
  static jfloat min (jfloat, jfloat);
  static jdouble min (jdouble, jdouble);
  static jint max (jint, jint);
  static jlong max (jlong, jlong);
  static jfloat max (jfloat, jfloat);
  static jdouble max (jdouble, jdouble);
  static jdouble sin (jdouble);
  static jdouble cos (jdouble);
  static jdouble tan (jdouble);
  static jdouble asin (jdouble);
  static jdouble acos (jdouble);
  static jdouble atan (jdouble);
  static jdouble atan2 (jdouble, jdouble);
  static jdouble exp (jdouble);
  static jdouble log (jdouble);
  static jdouble sqrt (jdouble);
  static jdouble pow (jdouble, jdouble);
  static jdouble IEEEremainder (jdouble, jdouble);
  static jdouble ceil (jdouble);
  static jdouble floor (jdouble);
  static jdouble rint (jdouble);
  static jint round (jfloat);
  static jlong round (jdouble);
  static jdouble random ();
  static jdouble toRadians (jdouble);
  static jdouble toDegrees (jdouble);
private:
  static jint remPiOver2 (jdouble, jdoubleArray);
  static jint remPiOver2 (jdoubleArray, jdoubleArray, jint, jint);
  static jdouble scale (jdouble, jint);
  static jdouble sin (jdouble, jdouble);
  static jdouble cos (jdouble, jdouble);
  static jdouble tan (jdouble, jdouble, jboolean);
  static ::java::util::Random *rand;
public:
  static const jdouble E = 2.7182818284590451;
  static const jdouble PI = 3.1415926535897931;
private:
  static const jdouble TWO_16 = 65536;
  static const jdouble TWO_20 = 1048576;
  static const jdouble TWO_24 = 16777216;
  static const jdouble TWO_27 = 134217728;
  static const jdouble TWO_28 = 268435456;
  static const jdouble TWO_29 = 536870912;
  static const jdouble TWO_31 = 2147483648;
  static const jdouble TWO_49 = 562949953421312;
  static const jdouble TWO_52 = 4503599627370496;
  static const jdouble TWO_54 = 18014398509481984;
  static const jdouble TWO_57 = 1.4411518807585587e+17;
  static const jdouble TWO_60 = 1.152921504606847e+18;
  static const jdouble TWO_64 = 1.8446744073709552e+19;
  static const jdouble TWO_66 = 7.3786976294838206e+19;
  static const jdouble TWO_1023 = 8.9884656743115795e+307;
  static jintArray TWO_OVER_PI;
  static jdoubleArray PI_OVER_TWO;
  static const jdouble PI_L = 1.2246467991473532e-16;
  static const jdouble PIO2_1 = 1.5707963267341256;
  static const jdouble PIO2_1L = 6.0771005065061922e-11;
  static const jdouble PIO2_2 = 6.077100506303966e-11;
  static const jdouble PIO2_2L = 2.0222662487959506e-21;
  static const jdouble PIO2_3 = 2.0222662487111665e-21;
  static const jdouble PIO2_3L = 8.4784276603688996e-32;
  static const jdouble SQRT_1_5 = 1.2247448713915889;
  static const jdouble SQRT_2 = 1.4142135623730951;
  static const jdouble SQRT_3 = 1.7320508075688772;
  static const jdouble EXP_LIMIT_H = 709.78271289338397;
  static const jdouble EXP_LIMIT_L = -745.13321910194111;
  static const jdouble CP = 0.96179669392597555;
  static const jdouble CP_H = 0.96179670095443726;
  static const jdouble CP_L = -7.0284616509527583e-09;
  static const jdouble LN2 = 0.69314718055994529;
  static const jdouble LN2_H = 0.69314718036912382;
  static const jdouble LN2_L = 1.9082149292705877e-10;
  static const jdouble INV_LN2 = 1.4426950408889634;
  static const jdouble INV_LN2_H = 1.4426950216293335;
  static const jdouble INV_LN2_L = 1.9259629911266175e-08;
  static const jdouble LG1 = 0.66666666666667351;
  static const jdouble LG2 = 0.39999999999409419;
  static const jdouble LG3 = 0.28571428743662391;
  static const jdouble LG4 = 0.22222198432149784;
  static const jdouble LG5 = 0.1818357216161805;
  static const jdouble LG6 = 0.15313837699209373;
  static const jdouble LG7 = 0.14798198605116586;
  static const jdouble L1 = 0.59999999999999465;
  static const jdouble L2 = 0.42857142857855018;
  static const jdouble L3 = 0.33333332981837743;
  static const jdouble L4 = 0.27272812380853401;
  static const jdouble L5 = 0.23066074577556175;
  static const jdouble L6 = 0.20697501780033842;
  static const jdouble P1 = 0.16666666666666602;
  static const jdouble P2 = -0.0027777777777015593;
  static const jdouble P3 = 6.6137563214379344e-05;
  static const jdouble P4 = -1.6533902205465252e-06;
  static const jdouble P5 = 4.1381367970572385e-08;
  static const jdouble DP_H = 0.58496248722076416;
  static const jdouble DP_L = 1.350039202129749e-08;
  static const jdouble OVT = 8.0085662595372941e-17;
  static const jdouble S1 = -0.16666666666666632;
  static const jdouble S2 = 0.0083333333333224895;
  static const jdouble S3 = -0.00019841269829857949;
  static const jdouble S4 = 2.7557313707070068e-06;
  static const jdouble S5 = -2.5050760253406863e-08;
  static const jdouble S6 = 1.5896909952115501e-10;
  static const jdouble C1 = 0.041666666666666602;
  static const jdouble C2 = -0.001388888888887411;
  static const jdouble C3 = 2.4801587289476729e-05;
  static const jdouble C4 = -2.7557314351390663e-07;
  static const jdouble C5 = 2.0875723212981748e-09;
  static const jdouble C6 = -1.1359647557788195e-11;
  static const jdouble T0 = 0.33333333333333409;
  static const jdouble T1 = 0.13333333333320124;
  static const jdouble T2 = 0.053968253976226052;
  static const jdouble T3 = 0.021869488294859542;
  static const jdouble T4 = 0.0088632398235993001;
  static const jdouble T5 = 0.0035920791075913124;
  static const jdouble T6 = 0.0014562094543252903;
  static const jdouble T7 = 0.0005880412408202641;
  static const jdouble T8 = 0.00024646313481846991;
  static const jdouble T9 = 7.8179444293955709e-05;
  static const jdouble T10 = 7.1407249138260819e-05;
  static const jdouble T11 = -1.8558637485527546e-05;
  static const jdouble T12 = 2.5907305186363371e-05;
  static const jdouble PS0 = 0.16666666666666666;
  static const jdouble PS1 = -0.32556581862240092;
  static const jdouble PS2 = 0.20121253213486293;
  static const jdouble PS3 = -0.040055534500679411;
  static const jdouble PS4 = 0.00079153499428981453;
  static const jdouble PS5 = 3.4793310759602117e-05;
  static const jdouble QS1 = -2.4033949117344142;
  static const jdouble QS2 = 2.0209457602335057;
  static const jdouble QS3 = -0.68828397160545329;
  static const jdouble QS4 = 0.077038150555901935;
  static const jdouble ATAN_0_5H = 0.46364760900080609;
  static const jdouble ATAN_0_5L = 2.2698777452961687e-17;
  static const jdouble ATAN_1_5H = 0.98279372324732905;
  static const jdouble ATAN_1_5L = 1.3903311031230998e-17;
  static const jdouble AT0 = 0.33333333333332932;
  static const jdouble AT1 = -0.19999999999876483;
  static const jdouble AT2 = 0.14285714272503466;
  static const jdouble AT3 = -0.11111110405462356;
  static const jdouble AT4 = 0.090908871334365066;
  static const jdouble AT5 = -0.0769187620504483;
  static const jdouble AT6 = 0.066610731373875312;
  static const jdouble AT7 = -0.058335701337905735;
  static const jdouble AT8 = 0.049768779946159324;
  static const jdouble AT9 = -0.036531572744216916;
  static const jdouble AT10 = 0.016285820115365782;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_lang_StrictMath__ */
