#include <math.h>
#undef PI			/* defined by gcc despite -ansi flag */
double drem(double, double);	/* not ANSI, may not be in math.h */

#include "toba.h"
#include "java_lang_Math.h"

/* java/lang/Math sin (D)D */
Double sin_d_RX9x8(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return sin(arg1);
}

/* java/lang/Math cos (D)D */
Double cos_d_C2dkc(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return cos(arg1);
}

/* java/lang/Math tan (D)D */
Double tan_d_mxCtd(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return tan(arg1);
}

/* java/lang/Math asin (D)D */
Double asin_d_UAPry(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return asin(arg1);
}

/* java/lang/Math acos (D)D */
Double acos_d_JR7Ui(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return acos(arg1);
}

/* java/lang/Math atan (D)D */
Double atan_d_tmx3k(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return atan(arg1);
}

/* java/lang/Math exp (D)D */
Double exp_d_Mtav8(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return exp(arg1);
}

/* java/lang/Math log (D)D */
Double log_d_N9DHZ(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return log(arg1);
}

/* java/lang/Math sqrt (D)D */
Double sqrt_d_HirrJ(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return sqrt(arg1);
}

/* java/lang/Math IEEEremainder (DD)D */
Double IEEEremainder_dd_Qk3LJ(Double arg1, Double arg2) 
{
    /* STATIC Method */
    init_java_lang_Math();

#ifdef sun
    return remainder(arg1, arg2);
#else /* sun */
    if (arg2 == 0 || arg2 != arg2)
    	return 0.0 / 0.0;	/* NaN */
    else
	return drem(arg1, arg2);
#endif /* sun */
}

/* java/lang/Math ceil (D)D */
Double ceil_d_So2TF(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return ceil(arg1);
}

/* java/lang/Math floor (D)D */
Double floor_d_hxxYh(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return floor(arg1);
}

/* java/lang/Math rint (D)D */
Double rint_d_AvciF(Double arg1) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return rint(arg1);
}

/* java/lang/Math atan2 (DD)D */
Double atan2_dd_zw0Fl(Double arg1, Double arg2) 
{
    /* STATIC Method */
    init_java_lang_Math();

    return atan2(arg1, arg2);
}

/* java/lang/Math pow (DD)D */
Double pow_dd_PCN5E(Double arg1, Double arg2) 
{
    /* STATIC Method */
    init_java_lang_Math();

    /*
     * the API src says an exception is thrown if
     * arg1 = 0 and arg2 = 0  or if
     * arg1 < 0 and arg2 not a whole number
     * but the actual implementation does not do this
     */
    return pow(arg1, arg2);
}

