// 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 = 0x1.5bf0a8b145769p+1;
  static const jdouble PI = 0x1.921fb54442d18p+1;
private:
  static const jdouble TWO_16 = 0x1.0000000000000p+16;
  static const jdouble TWO_20 = 0x1.0000000000000p+20;
  static const jdouble TWO_24 = 0x1.0000000000000p+24;
  static const jdouble TWO_27 = 0x1.0000000000000p+27;
  static const jdouble TWO_28 = 0x1.0000000000000p+28;
  static const jdouble TWO_29 = 0x1.0000000000000p+29;
  static const jdouble TWO_31 = 0x1.0000000000000p+31;
  static const jdouble TWO_49 = 0x1.0000000000000p+49;
  static const jdouble TWO_52 = 0x1.0000000000000p+52;
  static const jdouble TWO_54 = 0x1.0000000000000p+54;
  static const jdouble TWO_57 = 0x1.0000000000000p+57;
  static const jdouble TWO_60 = 0x1.0000000000000p+60;
  static const jdouble TWO_64 = 0x1.0000000000000p+64;
  static const jdouble TWO_66 = 0x1.0000000000000p+66;
  static const jdouble TWO_1023 = 0x1.0000000000000p+1023;
  static jintArray TWO_OVER_PI;
  static jdoubleArray PI_OVER_TWO;
  static const jdouble PI_L = 0x1.1a62633145c07p-53;
  static const jdouble PIO2_1 = 0x1.921fb54400000p+0;
  static const jdouble PIO2_1L = 0x1.0b4611a626331p-34;
  static const jdouble PIO2_2 = 0x1.0b4611a600000p-34;
  static const jdouble PIO2_2L = 0x1.3198a2e037073p-69;
  static const jdouble PIO2_3 = 0x1.3198a2e000000p-69;
  static const jdouble PIO2_3L = 0x1.b839a252049c1p-104;
  static const jdouble SQRT_1_5 = 0x1.3988e1409212ep+0;
  static const jdouble SQRT_2 = 0x1.6a09e667f3bcdp+0;
  static const jdouble SQRT_3 = 0x1.bb67ae8584caap+0;
  static const jdouble EXP_LIMIT_H = 0x1.62e42fefa39efp+9;
  static const jdouble EXP_LIMIT_L = -0x1.74910d52d3051p+9;
  static const jdouble CP = 0x1.ec709dc3a03fdp-1;
  static const jdouble CP_H = 0x1.ec709e0000000p-1;
  static const jdouble CP_L = -0x1.e2fe0145b01f5p-28;
  static const jdouble LN2 = 0x1.62e42fefa39efp-1;
  static const jdouble LN2_H = 0x1.62e42fee00000p-1;
  static const jdouble LN2_L = 0x1.a39ef35793c76p-33;
  static const jdouble INV_LN2 = 0x1.71547652b82fep+0;
  static const jdouble INV_LN2_H = 0x1.7154760000000p+0;
  static const jdouble INV_LN2_L = 0x1.4ae0bf85ddf44p-26;
  static const jdouble LG1 = 0x1.5555555555593p-1;
  static const jdouble LG2 = 0x1.999999997fa04p-2;
  static const jdouble LG3 = 0x1.2492494229359p-2;
  static const jdouble LG4 = 0x1.c71c51d8e78afp-3;
  static const jdouble LG5 = 0x1.7466496cb03dep-3;
  static const jdouble LG6 = 0x1.39a09d078c69fp-3;
  static const jdouble LG7 = 0x1.2f112df3e5244p-3;
  static const jdouble L1 = 0x1.3333333333303p-1;
  static const jdouble L2 = 0x1.b6db6db6fabffp-2;
  static const jdouble L3 = 0x1.55555518f264dp-2;
  static const jdouble L4 = 0x1.17460a91d4101p-2;
  static const jdouble L5 = 0x1.d864a93c9db65p-3;
  static const jdouble L6 = 0x1.a7e284a454eefp-3;
  static const jdouble P1 = 0x1.555555555553ep-3;
  static const jdouble P2 = -0x1.6c16c16bebd93p-9;
  static const jdouble P3 = 0x1.1566aaf25de2cp-14;
  static const jdouble P4 = -0x1.bbd41c5d26bf1p-20;
  static const jdouble P5 = 0x1.6376972bea4d0p-25;
  static const jdouble DP_H = 0x1.2b80340000000p-1;
  static const jdouble DP_L = 0x1.cfdeb43cfd006p-27;
  static const jdouble OVT = 0x1.71547652b82fep-54;
  static const jdouble S1 = -0x1.5555555555549p-3;
  static const jdouble S2 = 0x1.111111110f8a6p-7;
  static const jdouble S3 = -0x1.a01a019c161d5p-13;
  static const jdouble S4 = 0x1.71de357b1fe7dp-19;
  static const jdouble S5 = -0x1.ae5e68a2b9cebp-26;
  static const jdouble S6 = 0x1.5d93a5acfd57cp-33;
  static const jdouble C1 = 0x1.555555555554cp-5;
  static const jdouble C2 = -0x1.6c16c16c15177p-10;
  static const jdouble C3 = 0x1.a01a019cb1590p-16;
  static const jdouble C4 = -0x1.27e4f809c52adp-22;
  static const jdouble C5 = 0x1.1ee9ebdb4b1c4p-29;
  static const jdouble C6 = -0x1.8fae9be8838d4p-37;
  static const jdouble T0 = 0x1.5555555555563p-2;
  static const jdouble T1 = 0x1.111111110fe7ap-3;
  static const jdouble T2 = 0x1.ba1ba1bb341fep-5;
  static const jdouble T3 = 0x1.664f48406d637p-6;
  static const jdouble T4 = 0x1.226e3e96e8493p-7;
  static const jdouble T5 = 0x1.d6d22c9560328p-9;
  static const jdouble T6 = 0x1.7dbc8fee08315p-10;
  static const jdouble T7 = 0x1.344d8f2f26501p-11;
  static const jdouble T8 = 0x1.026f71a8d1068p-12;
  static const jdouble T9 = 0x1.47e88a03792a6p-14;
  static const jdouble T10 = 0x1.2b80f32f0a7e9p-14;
  static const jdouble T11 = -0x1.375cbdb605373p-16;
  static const jdouble T12 = 0x1.b2a7074bf7ad4p-16;
  static const jdouble PS0 = 0x1.5555555555555p-3;
  static const jdouble PS1 = -0x1.4d61203eb6f7dp-2;
  static const jdouble PS2 = 0x1.9c1550e884455p-3;
  static const jdouble PS3 = -0x1.48228b5688f3bp-5;
  static const jdouble PS4 = 0x1.9efe07501b288p-11;
  static const jdouble PS5 = 0x1.23de10dfdf709p-15;
  static const jdouble QS1 = -0x1.33a271c8a2d4bp+1;
  static const jdouble QS2 = 0x1.02ae59c598ac8p+1;
  static const jdouble QS3 = -0x1.6066c1b8d0159p-1;
  static const jdouble QS4 = 0x1.3b8c5b12e9282p-4;
  static const jdouble ATAN_0_5H = 0x1.dac670561bb4fp-2;
  static const jdouble ATAN_0_5L = 0x1.a2b7f222f65e2p-56;
  static const jdouble ATAN_1_5H = 0x1.f730bd281f69bp-1;
  static const jdouble ATAN_1_5L = 0x1.007887af0cbbdp-56;
  static const jdouble AT0 = 0x1.555555555550dp-2;
  static const jdouble AT1 = -0x1.999999998ebc4p-3;
  static const jdouble AT2 = 0x1.24924920083ffp-3;
  static const jdouble AT3 = -0x1.c71c6fe231671p-4;
  static const jdouble AT4 = 0x1.745cdc54c206ep-4;
  static const jdouble AT5 = -0x1.3b0f2af749a6dp-4;
  static const jdouble AT6 = 0x1.10d66a0d03d51p-4;
  static const jdouble AT7 = -0x1.dde2d52defd9ap-5;
  static const jdouble AT8 = 0x1.97b4b24760debp-5;
  static const jdouble AT9 = -0x1.2b4442c6a6c2fp-5;
  static const jdouble AT10 = 0x1.0ad3ae322da11p-6;
public:

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

#endif /* __java_lang_StrictMath__ */
