Looks like JavaScript, feels like Ruby, and it is a script language fitting in C programmers.
This project is maintained by Kray-G
Math
functionsIn the native function, following Math
function are supported.
Integer value can be also put instead of dbl
, it will be automatically casted to double value.
Name | altanative | C prototype |
---|---|---|
Math.acos(dbl) |
(dbl).acos() |
double acos(double x) |
Math.asin(dbl) |
(dbl).asin() |
double asin(double x) |
Math.atan(dbl) |
(dbl).atan() |
double atan(double x) |
Math.atan2(dbl, dbl) |
(dbl).atan2(dbl) |
double atan2(double y, double x) |
Math.cos(dbl) |
(dbl).cos() |
double cos(double x) |
Math.sin(dbl) |
(dbl).sin() |
double sin(double x) |
Math.tan(dbl) |
(dbl).tan() |
double tan(double x) |
Math.cosh(dbl) |
(dbl).cosh() |
double cosh(double x) |
Math.sinh(dbl) |
(dbl).sinh() |
double sinh(double x) |
Math.tanh(dbl) |
(dbl).tanh() |
double tanh(double x) |
Math.exp(dbl) |
(dbl).exp() |
double exp(double x) |
Math.ldexp(dbl, int) |
(dbl).ldexp(int) |
double ldexp(double x, int exp) |
Math.log(dbl) |
(dbl).log() |
double log(double x) |
Math.log10(dbl) |
(dbl).log10() |
double log10(double x) |
Math.pow(dbl, dbl) |
(dbl).pow(dbl) |
double pow(double x, double y) |
Math.sqrt(dbl) |
(dbl).sqrt() |
double sqrt(double x) |
Math.ceil(dbl) |
(dbl).ceil() |
double ceil(double x) |
Math.abs(dbl) |
(dbl).abs() |
double fabs(double x) |
Math.floor(dbl) |
(dbl).floor() |
double floor(double x) |
Math.fmod(dbl, dbl) |
(dbl).fmod(dbl) |
double fmod(double x, double y) |
native calc1(n:dbl):dbl {
return Math.acos(n);
}
native calc2(n:dbl):dbl {
return n.acos();
}
native calc3(n):dbl {
return Math.acos(n);
}
native calc4(n):dbl {
return n.acos();
}
var r1 = Math.acos(0.8);
var r2 = Math.acos(0);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(0) % r2);
System.println("%g, should be %g" % calc4(0) % r2);
0.643501, should be 0.643501
0.643501, should be 0.643501
1.5708, should be 1.5708
1.5708, should be 1.5708
native calc1(n:dbl):dbl {
return Math.asin(n);
}
native calc2(n:dbl):dbl {
return n.asin();
}
native calc3(n):dbl {
return Math.asin(n);
}
native calc4(n):dbl {
return n.asin();
}
var r1 = Math.asin(0.8);
var r2 = Math.asin(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.927295, should be 0.927295
0.927295, should be 0.927295
1.5708, should be 1.5708
1.5708, should be 1.5708
native calc1(n:dbl):dbl {
return Math.atan(n);
}
native calc2(n:dbl):dbl {
return n.atan();
}
native calc3(n):dbl {
return Math.atan(n);
}
native calc4(n):dbl {
return n.atan();
}
var r1 = Math.atan(0.8);
var r2 = Math.atan(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.674741, should be 0.674741
0.674741, should be 0.674741
0.785398, should be 0.785398
0.785398, should be 0.785398
native calc1(n:dbl):dbl {
return Math.atan2(n, 0.9);
}
native calc2(n:dbl):dbl {
return n.atan2(0.9);
}
native calc3(n):dbl {
return Math.atan2(n, 1);
}
native calc4(n):dbl {
return n.atan2(1);
}
var r1 = Math.atan2(0.8, 0.9);
var r2 = Math.atan2(1, 1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.726642, should be 0.726642
0.726642, should be 0.726642
0.785398, should be 0.785398
0.785398, should be 0.785398
native calc1(n:dbl):dbl {
return Math.cos(n);
}
native calc2(n:dbl):dbl {
return n.cos();
}
native calc3(n):dbl {
return Math.cos(n);
}
native calc4(n):dbl {
return n.cos();
}
var r1 = Math.cos(0.8);
var r2 = Math.cos(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.696707, should be 0.696707
0.696707, should be 0.696707
0.540302, should be 0.540302
0.540302, should be 0.540302
native calc1(n:dbl):dbl {
return Math.sin(n);
}
native calc2(n:dbl):dbl {
return n.sin();
}
native calc3(n):dbl {
return Math.sin(n);
}
native calc4(n):dbl {
return n.sin();
}
var r1 = Math.sin(0.8);
var r2 = Math.sin(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.717356, should be 0.717356
0.717356, should be 0.717356
0.841471, should be 0.841471
0.841471, should be 0.841471
native calc1(n:dbl):dbl {
return Math.tan(n);
}
native calc2(n:dbl):dbl {
return n.tan();
}
native calc3(n):dbl {
return Math.tan(n);
}
native calc4(n):dbl {
return n.tan();
}
var r1 = Math.tan(0.8);
var r2 = Math.tan(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
1.02964, should be 1.02964
1.02964, should be 1.02964
1.55741, should be 1.55741
1.55741, should be 1.55741
native calc1(n:dbl):dbl {
return Math.cosh(n);
}
native calc2(n:dbl):dbl {
return n.cosh();
}
native calc3(n):dbl {
return Math.cosh(n);
}
native calc4(n):dbl {
return n.cosh();
}
var r1 = Math.cosh(0.8);
var r2 = Math.cosh(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
1.33743, should be 1.33743
1.33743, should be 1.33743
1.54308, should be 1.54308
1.54308, should be 1.54308
native calc1(n:dbl):dbl {
return Math.sinh(n);
}
native calc2(n:dbl):dbl {
return n.sinh();
}
native calc3(n):dbl {
return Math.sinh(n);
}
native calc4(n):dbl {
return n.sinh();
}
var r1 = Math.sinh(0.8);
var r2 = Math.sinh(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.888106, should be 0.888106
0.888106, should be 0.888106
1.1752, should be 1.1752
1.1752, should be 1.1752
native calc1(n:dbl):dbl {
return Math.tanh(n);
}
native calc2(n:dbl):dbl {
return n.tanh();
}
native calc3(n):dbl {
return Math.tanh(n);
}
native calc4(n):dbl {
return n.tanh();
}
var r1 = Math.tanh(0.8);
var r2 = Math.tanh(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
0.664037, should be 0.664037
0.664037, should be 0.664037
0.761594, should be 0.761594
0.761594, should be 0.761594
native calc1(n:dbl):dbl {
return Math.exp(n);
}
native calc2(n:dbl):dbl {
return n.exp();
}
native calc3(n):dbl {
return Math.exp(n);
}
native calc4(n):dbl {
return n.exp();
}
var r1 = Math.exp(0.8);
var r2 = Math.exp(1);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(1) % r2);
System.println("%g, should be %g" % calc4(1) % r2);
2.22554, should be 2.22554
2.22554, should be 2.22554
2.71828, should be 2.71828
2.71828, should be 2.71828
native calc1(n:dbl):dbl {
return Math.ldexp(n, 10.0);
}
native calc2(n:dbl):dbl {
return n.ldexp(10.0);
}
native calc3(n):dbl {
return Math.ldexp(n, 10);
}
native calc4(n):dbl {
return n.ldexp(10);
}
var r1 = Math.ldexp(2.1, 10.0);
var r2 = Math.ldexp(2, 10);
System.println("%g, should be %g" % calc1(2.1) % r1);
System.println("%g, should be %g" % calc2(2.1) % r1);
System.println("%g, should be %g" % calc3(2) % r2);
System.println("%g, should be %g" % calc4(2) % r2);
2150.4, should be 2150.4
2150.4, should be 2150.4
2048, should be 2048
2048, should be 2048
native calc1(n:dbl):dbl {
return Math.log(n);
}
native calc2(n:dbl):dbl {
return n.log();
}
native calc3(n):dbl {
return Math.log(n);
}
native calc4(n):dbl {
return n.log();
}
var r1 = Math.log(0.8);
var r2 = Math.log(10);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(10) % r2);
System.println("%g, should be %g" % calc4(10) % r2);
-0.223144, should be -0.223144
-0.223144, should be -0.223144
2.30259, should be 2.30259
2.30259, should be 2.30259
native calc1(n:dbl):dbl {
return Math.log10(n);
}
native calc2(n:dbl):dbl {
return n.log10();
}
native calc3(n):dbl {
return Math.log10(n);
}
native calc4(n):dbl {
return n.log10();
}
var r1 = Math.log10(0.8);
var r2 = Math.log10(100);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(100) % r2);
System.println("%g, should be %g" % calc4(100) % r2);
-0.09691, should be -0.09691
-0.09691, should be -0.09691
2, should be 2
2, should be 2
native calc1(n:dbl):dbl {
return Math.pow(n, 10.0);
}
native calc2(n:dbl):dbl {
return n.pow(10.0);
}
native calc3(n):dbl {
return Math.pow(n, 10);
}
native calc4(n):dbl {
return n.pow(10);
}
var r1 = Math.pow(2.1, 10.0);
var r2 = Math.pow(2, 10);
System.println("%g, should be %g" % calc1(2.1) % r1);
System.println("%g, should be %g" % calc2(2.1) % r1);
System.println("%g, should be %g" % calc3(2) % r2);
System.println("%g, should be %g" % calc4(2) % r2);
1667.99, should be 1667.99
1667.99, should be 1667.99
1024, should be 1024
1024, should be 1024
native calc1(n:dbl):dbl {
return Math.sqrt(n);
}
native calc2(n:dbl):dbl {
return n.sqrt();
}
native calc3(n):dbl {
return Math.sqrt(n);
}
native calc4(n):dbl {
return n.sqrt();
}
var r1 = Math.sqrt(0.8);
var r2 = Math.sqrt(100);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(100) % r2);
System.println("%g, should be %g" % calc4(100) % r2);
0.894427, should be 0.894427
0.894427, should be 0.894427
10, should be 10
10, should be 10
native calc1(n:dbl):dbl {
return Math.abs(n);
}
native calc2(n:dbl):dbl {
return n.abs();
}
native calc3(n):dbl {
return Math.abs(n);
}
native calc4(n):dbl {
return n.abs();
}
var r1 = Math.abs(-0.8);
var r2 = Math.abs(100);
System.println("%g, should be %g" % calc1(-0.8) % r1);
System.println("%g, should be %g" % calc2(-0.8) % r1);
System.println("%g, should be %g" % calc3(100) % r2);
System.println("%g, should be %g" % calc4(100) % r2);
0.8, should be 0.8
0.8, should be 0.8
100, should be 100
100, should be 100
native calc1(n:dbl):dbl {
return Math.ceil(n);
}
native calc2(n:dbl):dbl {
return n.ceil();
}
native calc3(n):dbl {
return Math.ceil(n);
}
native calc4(n):dbl {
return n.ceil();
}
var r1 = Math.ceil(0.8);
var r2 = Math.ceil(100);
System.println("%g, should be %g" % calc1(0.8) % r1);
System.println("%g, should be %g" % calc2(0.8) % r1);
System.println("%g, should be %g" % calc3(100) % r2);
System.println("%g, should be %g" % calc4(100) % r2);
1, should be 1
1, should be 1
100, should be 100
100, should be 100
native calc1(n:dbl):dbl {
return Math.floor(n);
}
native calc2(n:dbl):dbl {
return n.floor();
}
native calc3(n):dbl {
return Math.floor(n);
}
native calc4(n):dbl {
return n.floor();
}
var r1 = Math.floor(2.8);
var r2 = Math.floor(100);
System.println("%g, should be %g" % calc1(2.8) % r1);
System.println("%g, should be %g" % calc2(2.8) % r1);
System.println("%g, should be %g" % calc3(100) % r2);
System.println("%g, should be %g" % calc4(100) % r2);
2, should be 2
2, should be 2
100, should be 100
100, should be 100
native calc1(n:dbl):dbl {
return Math.fmod(n, 10.0);
}
native calc2(n:dbl):dbl {
return n.fmod(10.0);
}
native calc3(n):dbl {
return Math.fmod(n, 10);
}
native calc4(n):dbl {
return n.fmod(10);
}
var r1 = Math.fmod(202.1, 10.0);
var r2 = Math.fmod(202, 10);
System.println("%g, should be %g" % calc1(202.1) % r1);
System.println("%g, should be %g" % calc2(202.1) % r1);
System.println("%g, should be %g" % calc3(202) % r2);
System.println("%g, should be %g" % calc4(202) % r2);
2.1, should be 2.1
2.1, should be 2.1
2, should be 2
2, should be 2