1let assertEqual = @extern("assertEqual");
2
3fn main {
4 assertEqual(addFloat(1, 2), f(3));
5 assertEqual(addFloat(1.5, 2.2), f(3.7));
6 assertEqual(subFloat(1, 2), f(-1));
7 assertEqual(subFloat(1.5, 2.2), f(-0.7000000000000002));
8 assertEqual(mulFloat(1, 2), f(2));
9 assertEqual(mulFloat(1.5, 2.2), f(3.3000000000000003));
10 assertEqual(divFloat(1, 2), f(0.5));
11 assertEqual(divFloat(1.5, 2.2), f(0.6818181818181818));
12
13 assertEqual(addInt(1, 2), i(3));
14 assertEqual(addInt(-421, 592), i(171));
15 assertEqual(subInt(1, 2), i(-1));
16 assertEqual(subInt(528, -43), i(571));
17}
18
19fn f(a: float) { a }
20
21fn addFloat(a: float, b: float) -> float {
22 a + b
23}
24
25fn subFloat(a: float, b: float) -> float {
26 a - b
27}
28
29fn mulFloat(a: float, b: float) -> float {
30 a * b
31}
32
33fn divFloat(a: float, b: float) -> float {
34 a / b
35}
36
37// fn modFloat(a: float, b: float) -> float {
38// a % b
39// }
40
41// fn expFloat(a: float, b: float) -> float {
42// a ** b
43// }
44
45fn i(a: int) { a }
46
47fn addInt(a: int, b: int) -> int {
48 a + b
49}
50
51fn subInt(a: int, b: int) -> int {
52 a - b
53}
54
55// fn mulInt(a: int, b: int) -> int {
56// a * b
57// }
58
59// fn divInt(a: int, b: int) -> int {
60// a / b
61// }
62
63// fn expInt(a: int, b: int) -> int {
64// a * b
65// }
66
67// fn modFloat(a: float, b: float) -> float {
68// a % b
69// }
70