2022-10-21 11:34:11.537 2065-2065/? I/GFloat: # GFloat Test And BenchMark
* Test time : Fri Oct 21 11:34:11 2022
* Performance: float vs GFloat, Call 1000000 times
* Error : the relative error between cmath (double) and GFloat Math
Function |
input data range |
avg relative error |
max relative error |
max abs error |
float vs GFloat |
float / GFloat |
Add |
[ -10000.0, 10000.0] |
0.000004 % |
0.000024 % |
0.003906 |
1.10 vs 12.29 (ms) |
0.09 |
Sub |
[ -10000.0, 10000.0] |
0.000004 % |
0.000024 % |
0.003906 |
0.95 vs 12.82 (ms) |
0.07 |
Mul |
[ -10000.0, 10000.0] |
0.000012 % |
0.000048 % |
32.000000 |
0.96 vs 3.87 (ms) |
0.25 |
Div |
[ -10000.0, 10000.0] |
0.000009 % |
0.000024 % |
0.031250 |
1.55 vs 9.12 (ms) |
0.17 |
Ceil |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.54 vs 8.07 (ms) |
0.07 |
Floor |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.52 vs 3.62 (ms) |
0.14 |
Whole |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.63 vs 6.81 (ms) |
0.09 |
WholeFrac |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.52 vs 17.66 (ms) |
0.03 |
Fraction |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.62 vs 7.24 (ms) |
0.09 |
-() |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.52 vs 3.38 (ms) |
0.15 |
>() |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.92 vs 8.81 (ms) |
0.10 |
<() |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.93 vs 9.27 (ms) |
0.10 |
>=() |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.85 vs 9.19 (ms) |
0.09 |
<=() |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.84 vs 6.43 (ms) |
0.13 |
Abs |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.51 vs 6.88 (ms) |
0.07 |
Normalize32 |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.57 vs 4.45 (ms) |
0.13 |
Normalize64 |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.50 vs 4.83 (ms) |
0.10 |
FromInt |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.62 vs 3.22 (ms) |
0.19 |
Fromfloat |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.60 vs 0.47 (ms) |
1.28 |
CeilToInt |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.51 vs 5.64 (ms) |
0.09 |
FloorToInt |
[ -10000.0, 10000.0] |
0.000000 % |
0.000000 % |
0.000000 |
0.51 vs 5.29 (ms) |
0.10 |
Sin |
[ -10000.0, 10000.0] |
0.000099 % |
4.559921 % |
0.000005 |
14.02 vs 25.86 (ms) |
0.54 |
Cos |
[ -10000.0, 10000.0] |
0.001805 % |
0.122642 % |
0.000028 |
13.80 vs 24.90 (ms) |
0.55 |
Tan |
[ -10000.0, 10000.0] |
0.001776 % |
4.562861 % |
83.726562 |
16.53 vs 56.95 (ms) |
0.29 |
ASin |
[ -1.0, 1.0] |
0.031373 % |
100.000000 % |
0.049958 |
6.95 vs 42.52 (ms) |
0.16 |
ACos |
[ -1.0, 1.0] |
0.117627 % |
98.413861 % |
0.049958 |
7.04 vs 55.20 (ms) |
0.13 |
ATan |
[ -10000.0, 10000.0] |
0.003567 % |
0.036536 % |
0.000166 |
13.98 vs 41.97 (ms) |
0.33 |
ATan(10,x) |
[ -10000.0, 10000.0] |
0.006189 % |
0.021383 % |
0.000166 |
22.51 vs 54.09 (ms) |
0.42 |
ATan(x,10) |
[ -10000.0, 10000.0] |
0.007318 % |
0.230349 % |
0.000166 |
20.99 vs 52.51 (ms) |
0.40 |
Sqrt |
[ 0.0, 10000.0] |
0.000038 % |
0.000084 % |
0.000076 |
1.75 vs 25.82 (ms) |
0.07 |
InvSqrt |
[ 0.0, 10000.0] |
0.000026 % |
0.000062 % |
0.000183 |
3.02 vs 23.11 (ms) |
0.13 |
Exp |
[ -20.0, 20.0] |
0.001698 % |
0.050661 % |
19760.000000 |
6.92 vs 31.68 (ms) |
0.22 |
Pow2 |
[ -30.0, 30.0] |
0.001820 % |
0.050354 % |
72448.000000 |
7.28 vs 30.62 (ms) |
0.24 |
Log_e |
[ 0.0, 10000.0] |
0.001206 % |
86.225453 % |
0.000031 |
6.71 vs 20.06 (ms) |
0.33 |
Log_2 |
[ 0.0, 10000.0] |
0.001206 % |
86.225898 % |
0.000043 |
6.81 vs 18.92 (ms) |
0.36 |
Log_10 |
[ 0.0, 10000.0] |
0.001206 % |
86.224927 % |
0.000013 |
18.76 vs 20.10 (ms) |
0.93 |
Pow(1.7,x) |
[ -30.0, 30.0] |
0.003043 % |
0.049457 % |
2121.500000 |
17.21 vs 50.38 (ms) |
0.34 |
Pow(x,1.7) |
[ 0.6, 20.0] |
0.006763 % |
0.055199 % |
0.015121 |
17.04 vs 55.49 (ms) |
0.31 |
Fmod(x,1.7) |
[ -10000.0, 10000.0] |
0.129491 % |
7214.285714 % |
1.700575 |
32.77 vs 30.06 (ms) |
1.09 |
Fmod(1.7,x) |
[ -10000.0, 10000.0] |
0.000327 % |
15.789474 % |
0.000000 |
10.75 vs 19.99 (ms) |
0.54 |