gdouble ves_icall_System_Math_Floor (gdouble x) {
- MONO_ARCH_SAVE_REGS;
return floor(x);
}
gdouble ves_icall_System_Math_Round (gdouble x) {
double int_part, dec_part;
- MONO_ARCH_SAVE_REGS;
+
int_part = floor(x);
dec_part = x - int_part;
if (((dec_part == 0.5) &&
#endif
double p;
- MONO_ARCH_SAVE_REGS;
if (value == HUGE_VAL)
return HUGE_VAL;
if (value == -HUGE_VAL)
gdouble
ves_icall_System_Math_Sin (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return sin (x);
}
gdouble
ves_icall_System_Math_Cos (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return cos (x);
}
gdouble
ves_icall_System_Math_Tan (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return tan (x);
}
gdouble
ves_icall_System_Math_Sinh (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return sinh (x);
}
gdouble
ves_icall_System_Math_Cosh (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return cosh (x);
}
gdouble
ves_icall_System_Math_Tanh (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return tanh (x);
}
gdouble
ves_icall_System_Math_Acos (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
if (x < -1 || x > 1)
return NAN;
gdouble
ves_icall_System_Math_Asin (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
if (x < -1 || x > 1)
return NAN;
gdouble
ves_icall_System_Math_Atan (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return atan (x);
}
ves_icall_System_Math_Atan2 (gdouble y, gdouble x)
{
double result;
- MONO_ARCH_SAVE_REGS;
if ((y == HUGE_VAL && x == HUGE_VAL) ||
(y == HUGE_VAL && x == -HUGE_VAL) ||
gdouble
ves_icall_System_Math_Exp (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
return exp (x);
}
gdouble
ves_icall_System_Math_Log (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
if (x == 0)
return -HUGE_VAL;
else if (x < 0)
gdouble
ves_icall_System_Math_Log10 (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
if (x == 0)
return -HUGE_VAL;
else if (x < 0)
ves_icall_System_Math_Pow (gdouble x, gdouble y)
{
double result;
- MONO_ARCH_SAVE_REGS;
if (isnan(x) || isnan(y)) {
return NAN;
gdouble
ves_icall_System_Math_Sqrt (gdouble x)
{
- MONO_ARCH_SAVE_REGS;
-
if (x < 0)
return NAN;