mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
@ -9,8 +9,7 @@ const (
|
||||
vf_ = [f64(4.9790119248836735e+00), 7.7388724745781045e+00, -2.7688005719200159e-01,
|
||||
-5.0106036182710749e+00, 9.6362937071984173e+00, 2.9263772392439646e+00,
|
||||
5.2290834314593066e+00, 2.7279399104360102e+00, 1.8253080916808550e+00,
|
||||
-8.6859247685756013e+00,
|
||||
]
|
||||
-8.6859247685756013e+00]
|
||||
// The expected results below were computed by the high precision calculators
|
||||
// at https://keisan.casio.com/. More exact input values (array vf_[], above)
|
||||
// were obtained by printing them with "%.26f". The answers were calculated
|
||||
@ -54,8 +53,7 @@ const (
|
||||
ceil_ = [f64(5.0000000000000000e+00), 8.0000000000000000e+00, copysign(0, -1),
|
||||
-5.0000000000000000e+00, 1.0000000000000000e+01, 3.0000000000000000e+00,
|
||||
6.0000000000000000e+00, 3.0000000000000000e+00, 2.0000000000000000e+00,
|
||||
-8.0000000000000000e+00,
|
||||
]
|
||||
-8.0000000000000000e+00]
|
||||
cos_ = [f64(2.634752140995199110787593e-01), 1.148551260848219865642039e-01,
|
||||
9.6191297325640768154550453e-01, 2.938141150061714816890637e-01,
|
||||
-9.777138189897924126294461e-01, -9.7693041344303219127199518e-01,
|
||||
@ -92,13 +90,11 @@ const (
|
||||
fabs_ = [f64(4.9790119248836735e+00), 7.7388724745781045e+00, 2.7688005719200159e-01,
|
||||
5.0106036182710749e+00, 9.6362937071984173e+00, 2.9263772392439646e+00,
|
||||
5.2290834314593066e+00, 2.7279399104360102e+00, 1.8253080916808550e+00,
|
||||
8.6859247685756013e+00,
|
||||
]
|
||||
8.6859247685756013e+00]
|
||||
floor_ = [f64(4.0000000000000000e+00), 7.0000000000000000e+00, -1.0000000000000000e+00,
|
||||
-6.0000000000000000e+00, 9.0000000000000000e+00, 2.0000000000000000e+00,
|
||||
5.0000000000000000e+00, 2.0000000000000000e+00, 1.0000000000000000e+00,
|
||||
-9.0000000000000000e+00,
|
||||
]
|
||||
-9.0000000000000000e+00]
|
||||
fmod_ = [f64(4.197615023265299782906368e-02), 2.261127525421895434476482e+00,
|
||||
3.231794108794261433104108e-02, 4.989396381728925078391512e+00,
|
||||
3.637062928015826201999516e-01, 1.220868282268106064236690e+00,
|
||||
@ -127,8 +123,7 @@ const (
|
||||
logb_ = [f64(2.0000000000000000e+00), 2.0000000000000000e+00, -2.0000000000000000e+00,
|
||||
2.0000000000000000e+00, 3.0000000000000000e+00, 1.0000000000000000e+00,
|
||||
2.0000000000000000e+00, 1.0000000000000000e+00, 0.0000000000000000e+00,
|
||||
3.0000000000000000e+00,
|
||||
]
|
||||
3.0000000000000000e+00]
|
||||
log10_ = [f64(6.9714316642508290997617083e-01), 8.886776901739320576279124e-01,
|
||||
-5.5770832400658929815908236e-01, 6.998900476822994346229723e-01,
|
||||
9.8391002850684232013281033e-01, 4.6633031029295153334285302e-01,
|
||||
@ -148,15 +143,13 @@ const (
|
||||
[f64(7.0000000000000000e+00), 7.3887247457810456552351752e-01],
|
||||
[f64(-0.0), -2.7688005719200159404635997e-01],
|
||||
[f64(-5.0000000000000000e+00),
|
||||
-1.060361827107492160848778e-02,
|
||||
],
|
||||
-1.060361827107492160848778e-02],
|
||||
[f64(9.0000000000000000e+00), 6.3629370719841737980004837e-01],
|
||||
[f64(2.0000000000000000e+00), 9.2637723924396464525443662e-01],
|
||||
[f64(5.0000000000000000e+00), 2.2908343145930665230025625e-01],
|
||||
[f64(2.0000000000000000e+00), 7.2793991043601025126008608e-01],
|
||||
[f64(1.0000000000000000e+00), 8.2530809168085506044576505e-01],
|
||||
[f64(-8.0000000000000000e+00), -6.8592476857560136238589621e-01],
|
||||
]
|
||||
[f64(-8.0000000000000000e+00), -6.8592476857560136238589621e-01]]
|
||||
nextafter32_ = [4.979012489318848e+00, 7.738873004913330e+00, -2.768800258636475e-01,
|
||||
-5.010602951049805e+00, 9.636294364929199e+00, 2.926377534866333e+00, 5.229084014892578e+00,
|
||||
2.727940082550049e+00, 1.825308203697205e+00, -8.685923576354980e+00]
|
||||
@ -215,8 +208,7 @@ const (
|
||||
trunc_ = [f64(4.0000000000000000e+00), 7.0000000000000000e+00, copysign(0, -1),
|
||||
-5.0000000000000000e+00, 9.0000000000000000e+00, 2.0000000000000000e+00,
|
||||
5.0000000000000000e+00, 2.0000000000000000e+00, 1.0000000000000000e+00,
|
||||
-8.0000000000000000e+00,
|
||||
]
|
||||
-8.0000000000000000e+00]
|
||||
)
|
||||
|
||||
fn soclose(a f64, b f64, e_ f64) bool {
|
||||
@ -305,8 +297,7 @@ fn test_atanh() {
|
||||
assert veryclose(math.atanh_[i], f)
|
||||
}
|
||||
vfatanh_sc_ := [inf(-1), -pi, -1, copysign(0, -1), 0, 1, pi, inf(1),
|
||||
nan(),
|
||||
]
|
||||
nan()]
|
||||
atanh_sc_ := [nan(), nan(), inf(-1), copysign(0, -1), 0, inf(1),
|
||||
nan(), nan(), nan()]
|
||||
for i := 0; i < vfatanh_sc_.len; i++ {
|
||||
@ -329,8 +320,7 @@ fn test_atan2() {
|
||||
[f64(0), inf(1)], [f64(0), nan()], [pi, inf(-1)], [pi, 0],
|
||||
[pi, inf(1)], [pi, nan()], [inf(1), inf(-1)], [inf(1), -pi],
|
||||
[inf(1), 0], [inf(1), pi], [inf(1), inf(1)], [inf(1), nan()],
|
||||
[nan(), nan()],
|
||||
]
|
||||
[nan(), nan()]]
|
||||
atan2_sc_ := [f64(-3.0) * pi / 4.0, /* atan2(-inf, -inf) */ -pi / 2, /* atan2(-inf, -pi) */
|
||||
-pi / 2,
|
||||
/* atan2(-inf, +0) */ -pi / 2, /* atan2(-inf, pi) */ -pi / 4, /* atan2(-inf, +inf) */
|
||||
@ -578,12 +568,10 @@ fn test_gamma() {
|
||||
[f64(-5e-324), inf(-1)], [f64(-0.9999999999999999), -9.007199254740992e+15],
|
||||
[f64(-1.0000000000000002), 4.5035996273704955e+15],
|
||||
[f64(-1.9999999999999998),
|
||||
2.2517998136852485e+15,
|
||||
],
|
||||
2.2517998136852485e+15],
|
||||
[f64(-2.0000000000000004), -1.1258999068426235e+15],
|
||||
[f64(-100.00000000000001),
|
||||
-7.540083334883109e-145,
|
||||
],
|
||||
-7.540083334883109e-145],
|
||||
[f64(-99.99999999999999), 7.540083334884096e-145], [f64(17), 2.0922789888e+13],
|
||||
[f64(171), 7.257415615307999e+306], [f64(171.6), 1.5858969096672565e+308],
|
||||
[f64(171.624), 1.7942117599248104e+308], [f64(171.625), inf(1)],
|
||||
@ -595,9 +583,7 @@ fn test_gamma() {
|
||||
[f64(-1.0000000003e+09), -0.0], [f64(-4.5035996273704955e+15), 0],
|
||||
[f64(-63.349078729022985), 4.177797167776188e-88],
|
||||
[f64(-127.45117632943295),
|
||||
1.183111089623681e-214,
|
||||
],
|
||||
]
|
||||
1.183111089623681e-214]]
|
||||
_ := vfgamma_[0][0]
|
||||
// @todo: Figure out solution for C backend
|
||||
// for i := 0; i < math.vf_.len; i++ {
|
||||
@ -623,18 +609,14 @@ fn test_hypot() {
|
||||
assert veryclose(a, f)
|
||||
}
|
||||
vfhypot_sc_ := [[inf(-1), inf(-1)], [inf(-1), 0], [inf(-1),
|
||||
inf(1),
|
||||
],
|
||||
inf(1)],
|
||||
[inf(-1), nan()], [f64(-0.0), -0.0], [f64(-0.0), 0], [f64(0), -0.0],
|
||||
[f64(0), 0], /* +0,0 */ [f64(0), inf(-1)], [f64(0), inf(1)],
|
||||
[f64(0), nan()], [inf(1), inf(-1)], [inf(1), 0], [inf(1),
|
||||
inf(1),
|
||||
],
|
||||
inf(1)],
|
||||
[inf(1), nan()], [nan(), inf(-1)], [nan(), 0], [nan(),
|
||||
inf(1),
|
||||
],
|
||||
[nan(), nan()],
|
||||
]
|
||||
inf(1)],
|
||||
[nan(), nan()]]
|
||||
hypot_sc_ := [inf(1), inf(1), inf(1), inf(1), 0, 0, 0, 0, inf(1),
|
||||
inf(1), nan(), inf(1), inf(1), inf(1), inf(1), inf(1),
|
||||
nan(), inf(1), nan()]
|
||||
@ -660,8 +642,7 @@ fn test_ldexp() {
|
||||
Fi{copysign(0, -1), -1075}, Fi{copysign(0, -1), 1024},
|
||||
Fi{inf(1), 0}, Fi{inf(1), -1024}, Fi{inf(-1), 0}, Fi{inf(-1), -1024},
|
||||
Fi{nan(), -1024}, Fi{10, 1 << (u64(sizeof(int) - 1) * 8)},
|
||||
Fi{10, -(1 << (u64(sizeof(int) - 1) * 8))},
|
||||
]
|
||||
Fi{10, -(1 << (u64(sizeof(int) - 1) * 8))}]
|
||||
ldexp_sc_ := [f64(0), 0, 0, copysign(0, -1), copysign(0, -1),
|
||||
copysign(0, -1), inf(1), inf(1), inf(-1), inf(-1), nan(),
|
||||
inf(1), 0]
|
||||
@ -692,8 +673,7 @@ fn test_log() {
|
||||
assert math.log_[i] == f
|
||||
}
|
||||
vflog_sc_ := [inf(-1), -pi, copysign(0, -1), 0, 1, inf(1),
|
||||
nan(),
|
||||
]
|
||||
nan()]
|
||||
log_sc_ := [nan(), nan(), inf(-1), inf(-1), 0, inf(1), nan()]
|
||||
f := log(10)
|
||||
assert f == ln10
|
||||
@ -710,8 +690,7 @@ fn test_log10() {
|
||||
assert veryclose(math.log10_[i], f)
|
||||
}
|
||||
vflog_sc_ := [inf(-1), -pi, copysign(0, -1), 0, 1, inf(1),
|
||||
nan(),
|
||||
]
|
||||
nan()]
|
||||
log_sc_ := [nan(), nan(), inf(-1), inf(-1), 0, inf(1), nan()]
|
||||
for i := 0; i < vflog_sc_.len; i++ {
|
||||
f := log10(vflog_sc_[i])
|
||||
@ -740,8 +719,7 @@ fn test_pow() {
|
||||
[pi, nan()], [inf(1), -pi], [inf(1), -0.0], [inf(1), 0],
|
||||
[inf(1), 1], [inf(1), pi], [inf(1), nan()], [nan(), -pi],
|
||||
[nan(), -0.0], [nan(), 0], [nan(), 1], [nan(), pi], [nan(),
|
||||
nan(),
|
||||
]]
|
||||
nan()]]
|
||||
pow_sc_ := [f64(0), /* pow(-inf, -pi) */ -0.0, /* pow(-inf, -3) */ 1, /* pow(-inf, -0) */ 1, /* pow(-inf, +0) */
|
||||
inf(-1), /* pow(-inf, 1) */ inf(-1), /* pow(-inf, 3) */
|
||||
inf(1), /* pow(-inf, pi) */ inf(1), /* pow(-inf, 0.5) */
|
||||
|
Reference in New Issue
Block a user