| 1 | import math.easing |
| 2 | |
| 3 | fn hline() { |
| 4 | println('+------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+') |
| 5 | } |
| 6 | |
| 7 | fn 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 | |
| 14 | const min_x = -0.5 |
| 15 | const max_x = 1.51 |
| 16 | const step_x = 0.1 |
| 17 | |
| 18 | fn 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 | |