v2 / vlib / v / slow_tests / inout / math_easing_tables.vv
70 lines · 66 sloc · 2.22 KB · 547564579df34da8d6d522d212df78c3313d5ca9
Raw
1import math.easing
2
3fn hline() {
4 println('+------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+')
5}
6
7fn header(label string) {
8 println(' ${label}')
9 hline()
10 println('| x | linear | sine | quad | cubic | quart | quint | expo | circ | back | elastic | bounce |')
11 hline()
12}
13
14const min_x = -0.5
15const max_x = 1.51
16const step_x = 0.1
17
18fn main() {
19 header('in_ functions, compared to the linear one')
20 for x := min_x; x <= max_x; x += step_x {
21 print('|${x:5.1f} |')
22 print('${easing.linear(x):8.4f} |')
23 print('${easing.in_sine(x):8.4f} |')
24 print('${easing.in_quad(x):8.4f} |')
25 print('${easing.in_cubic(x):8.4f} |')
26 print('${easing.in_quart(x):8.4f} |')
27 print('${easing.in_quint(x):8.4f} |')
28 print('${easing.in_expo(x):8.4f} |')
29 print('${easing.in_circ(x):8.4f} |')
30 print('${easing.in_back(x):8.4f} |')
31 print('${easing.in_elastic(x):8.4f} |')
32 print('${easing.in_bounce(x):8.4f} |')
33 println('')
34 }
35 hline()
36 header('out_ functions, compared to the linear one')
37 for x := min_x; x <= max_x; x += step_x {
38 print('|${x:5.1f} |')
39 print('${easing.linear(x):8.4f} |')
40 print('${easing.out_sine(x):8.4f} |')
41 print('${easing.out_quad(x):8.4f} |')
42 print('${easing.out_cubic(x):8.4f} |')
43 print('${easing.out_quart(x):8.4f} |')
44 print('${easing.out_quint(x):8.4f} |')
45 print('${easing.out_expo(x):8.4f} |')
46 print('${easing.out_circ(x):8.4f} |')
47 print('${easing.out_back(x):8.4f} |')
48 print('${easing.out_elastic(x):8.4f} |')
49 print('${easing.out_bounce(x):8.4f} |')
50 println('')
51 }
52 hline()
53 header('in_out_ functions, compared to the linear one')
54 for x := min_x; x <= max_x; x += step_x {
55 print('|${x:5.1f} |')
56 print('${easing.linear(x):8.4f} |')
57 print('${easing.in_out_sine(x):8.4f} |')
58 print('${easing.in_out_quad(x):8.4f} |')
59 print('${easing.in_out_cubic(x):8.4f} |')
60 print('${easing.in_out_quart(x):8.4f} |')
61 print('${easing.in_out_quint(x):8.4f} |')
62 print('${easing.in_out_expo(x):8.4f} |')
63 print('${easing.in_out_circ(x):8.4f} |')
64 print('${easing.in_out_back(x):8.4f} |')
65 print('${easing.in_out_elastic(x):8.4f} |')
66 print('${easing.in_out_bounce(x):8.4f} |')
67 println('')
68 }
69 hline()
70}
71