mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
time: add custom formatter (#14202)
This commit is contained in:

committed by
GitHub

parent
ec865cfb37
commit
881d0c04f1
@ -1,5 +1,6 @@
|
||||
module math
|
||||
module main
|
||||
|
||||
import math
|
||||
import benchmark
|
||||
|
||||
const max_iter = 1000
|
||||
@ -7,8 +8,8 @@ const max_iter = 1000
|
||||
fn test_benchmark_acos() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = acos(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.acos(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -16,8 +17,8 @@ fn test_benchmark_acos() {
|
||||
fn test_benchmark_acosh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = acosh(1.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.acosh(1.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -25,8 +26,8 @@ fn test_benchmark_acosh() {
|
||||
fn test_benchmark_asin() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = asin(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.asin(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -34,8 +35,8 @@ fn test_benchmark_asin() {
|
||||
fn test_benchmark_asinh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = asinh(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.asinh(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -43,8 +44,8 @@ fn test_benchmark_asinh() {
|
||||
fn test_benchmark_atan() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = atan(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.atan(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -52,8 +53,8 @@ fn test_benchmark_atan() {
|
||||
fn test_benchmark_atanh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = atanh(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.atanh(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -61,8 +62,8 @@ fn test_benchmark_atanh() {
|
||||
fn test_benchmark_atan2() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = atan2(0.5, 1)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.atan2(0.5, 1)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -70,8 +71,8 @@ fn test_benchmark_atan2() {
|
||||
fn test_benchmark_cbrt() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = cbrt(10)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.cbrt(10)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -79,19 +80,17 @@ fn test_benchmark_cbrt() {
|
||||
fn test_benchmark_ceil() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = ceil(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.ceil(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const copysign_neg = -1.0
|
||||
|
||||
fn test_benchmark_copysign() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = copysign(0.5, math.copysign_neg)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.copysign(0.5, -1.0)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -99,8 +98,8 @@ fn test_benchmark_copysign() {
|
||||
fn test_benchmark_cos() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = cos(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.cos(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -108,8 +107,8 @@ fn test_benchmark_cos() {
|
||||
fn test_benchmark_cosh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = cosh(2.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.cosh(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -117,8 +116,8 @@ fn test_benchmark_cosh() {
|
||||
fn test_benchmark_erf() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = erf(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.erf(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -126,8 +125,8 @@ fn test_benchmark_erf() {
|
||||
fn test_benchmark_erfc() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = erfc(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.erfc(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -135,8 +134,8 @@ fn test_benchmark_erfc() {
|
||||
fn test_benchmark_exp() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = exp(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.exp(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -144,8 +143,8 @@ fn test_benchmark_exp() {
|
||||
fn test_benchmark_expm1() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = expm1(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.expm1(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -153,19 +152,17 @@ fn test_benchmark_expm1() {
|
||||
fn test_benchmark_exp2() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = exp2(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.exp2(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const abs_pos = 0.5
|
||||
|
||||
fn test_benchmark_abs() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = abs(math.abs_pos)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.abs(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -173,8 +170,8 @@ fn test_benchmark_abs() {
|
||||
fn test_benchmark_floor() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = floor(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.floor(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -182,8 +179,8 @@ fn test_benchmark_floor() {
|
||||
fn test_benchmark_max() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = max(10, 3)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.max(10, 3)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -191,8 +188,8 @@ fn test_benchmark_max() {
|
||||
fn test_benchmark_min() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = min(10, 3)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.min(10, 3)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -200,8 +197,8 @@ fn test_benchmark_min() {
|
||||
fn test_benchmark_mod() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = mod(10, 3)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.mod(10, 3)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -210,8 +207,8 @@ fn test_benchmark_frexp() {
|
||||
mut x := 0.0
|
||||
mut y := 0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x, y = frexp(8)
|
||||
for i in 0 .. max_iter {
|
||||
x, y = math.frexp(8)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -219,8 +216,8 @@ fn test_benchmark_frexp() {
|
||||
fn test_benchmark_gamma() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = gamma(2.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.gamma(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -228,8 +225,8 @@ fn test_benchmark_gamma() {
|
||||
fn test_benchmark_hypot() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = hypot(3, 4)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.hypot(3, 4)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -237,8 +234,8 @@ fn test_benchmark_hypot() {
|
||||
fn test_benchmark_ldexp() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = ldexp(0.5, 2)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.ldexp(0.5, 2)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -246,8 +243,8 @@ fn test_benchmark_ldexp() {
|
||||
fn test_benchmark_log_gamma() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log_gamma(2.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log_gamma(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -255,8 +252,8 @@ fn test_benchmark_log_gamma() {
|
||||
fn test_benchmark_log() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -264,8 +261,8 @@ fn test_benchmark_log() {
|
||||
fn test_benchmark_log_b() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log_b(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log_b(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -273,8 +270,8 @@ fn test_benchmark_log_b() {
|
||||
fn test_benchmark_log1p() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log1p(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log1p(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -282,8 +279,8 @@ fn test_benchmark_log1p() {
|
||||
fn test_benchmark_log10() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log10(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log10(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -291,8 +288,8 @@ fn test_benchmark_log10() {
|
||||
fn test_benchmark_log2() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = log2(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.log2(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -301,8 +298,8 @@ fn test_benchmark_modf() {
|
||||
mut x := 0.0
|
||||
mut y := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x, y = modf(1.5)
|
||||
for i in 0 .. max_iter {
|
||||
x, y = math.modf(1.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -310,8 +307,8 @@ fn test_benchmark_modf() {
|
||||
fn test_benchmark_nextafter32() {
|
||||
mut x := f32(0.0)
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = nextafter32(0.5, 1)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.nextafter32(0.5, 1)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -319,8 +316,8 @@ fn test_benchmark_nextafter32() {
|
||||
fn test_benchmark_nextafter64() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = nextafter(0.5, 1)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.nextafter(0.5, 1)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -328,8 +325,8 @@ fn test_benchmark_nextafter64() {
|
||||
fn test_benchmark_pow_int() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = pow(2, 2)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.pow(2, 2)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -337,41 +334,35 @@ fn test_benchmark_pow_int() {
|
||||
fn test_benchmark_pow_frac() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = pow(2.5, 1.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.pow(2.5, 1.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const pow10pos = int(300)
|
||||
|
||||
fn test_benchmark_pow10_pos() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = pow10(math.pow10pos)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.pow10(300)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const pow10neg = int(-300)
|
||||
|
||||
fn test_benchmark_pow10_neg() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = pow10(math.pow10neg)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.pow10(-300)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const round_neg = f64(-2.5)
|
||||
|
||||
fn test_benchmark_round() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = round(math.round_neg)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.round(-2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -379,19 +370,17 @@ fn test_benchmark_round() {
|
||||
fn test_benchmark_round_to_even() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = round_to_even(math.round_neg)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.round_to_even(-2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const signbit_pos = 2.5
|
||||
|
||||
fn test_benchmark_signbit() {
|
||||
mut x := false
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = signbit(math.signbit_pos)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.signbit(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -399,8 +388,8 @@ fn test_benchmark_signbit() {
|
||||
fn test_benchmark_sin() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = sin(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.sin(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -409,8 +398,8 @@ fn test_benchmark_sincos() {
|
||||
mut x := 0.0
|
||||
mut y := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x, y = sincos(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x, y = math.sincos(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -418,17 +407,17 @@ fn test_benchmark_sincos() {
|
||||
fn test_benchmark_sinh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = sinh(2.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.sinh(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
fn test_benchmark_sqrt_indirect() {
|
||||
mut x, y := 0.0, 10.0
|
||||
f := sqrt
|
||||
f := math.sqrt
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
for i in 0 .. max_iter {
|
||||
x += f(y)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
@ -437,17 +426,17 @@ fn test_benchmark_sqrt_indirect() {
|
||||
fn test_benchmark_sqrt_latency() {
|
||||
mut x := 10.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = sqrt(x)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.sqrt(x)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
fn test_benchmark_sqrt_indirect_latency() {
|
||||
mut x := 10.0
|
||||
f := sqrt
|
||||
f := math.sqrt
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
for i in 0 .. max_iter {
|
||||
x = f(x)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
@ -459,7 +448,7 @@ fn is_prime(i int) bool {
|
||||
// the benefit of using a direct sqrt instruction on systems
|
||||
// that have one, whereas the obvious loop seems not to
|
||||
// demonstrate such a benefit.
|
||||
for j := 2; f64(j) <= sqrt(f64(i)); j++ {
|
||||
for j := 2; f64(j) <= math.sqrt(f64(i)); j++ {
|
||||
if i % j == 0 {
|
||||
return false
|
||||
}
|
||||
@ -470,7 +459,7 @@ fn is_prime(i int) bool {
|
||||
fn test_benchmark_sqrt_prime() {
|
||||
mut x := false
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
for i in 0 .. max_iter {
|
||||
x = is_prime(100003)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
@ -479,8 +468,8 @@ fn test_benchmark_sqrt_prime() {
|
||||
fn test_benchmark_tan() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = tan(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.tan(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -488,8 +477,8 @@ fn test_benchmark_tan() {
|
||||
fn test_benchmark_tanh() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = tanh(2.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.tanh(2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
@ -497,50 +486,44 @@ fn test_benchmark_tanh() {
|
||||
fn test_benchmark_trunc() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = trunc(0.5)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.trunc(0.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
fn test_benchmark_f64_bits() {
|
||||
mut y := u64(0)
|
||||
mut x := u64(0)
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
y = f64_bits(math.round_neg)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.f64_bits(-2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const round_u64 = u64(5)
|
||||
|
||||
fn test_benchmark_f64_from_bits() {
|
||||
mut x := 0.0
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = f64_from_bits(math.round_u64)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.f64_from_bits(5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const round_f32 = f32(-2.5)
|
||||
|
||||
fn test_benchmark_f32_bits() {
|
||||
mut y := u32(0)
|
||||
mut x := u32(0)
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
y = f32_bits(math.round_f32)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.f32_bits(-2.5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
||||
const round_u32 = u32(5)
|
||||
|
||||
fn test_benchmark_f32_from_bits() {
|
||||
mut x := f32(0.0)
|
||||
mut bmark := benchmark.start()
|
||||
for i in 0 .. math.max_iter {
|
||||
x = f32_from_bits(math.round_u32)
|
||||
for i in 0 .. max_iter {
|
||||
x = math.f32_from_bits(5)
|
||||
}
|
||||
bmark.measure(@FN)
|
||||
}
|
||||
|
Reference in New Issue
Block a user