aboutsummaryrefslogtreecommitdiff
path: root/code/demo.odin
blob: bd30670371a24fd42146f9fe4b96bf214077e687 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#import "fmt.odin"

variadic :: proc(args: ..any) {
	for i := 0; i < args.count; i++ {
		match type a : args[i] {
		case u128: fmt.println("u128", a)
		case i128: fmt.println("i128", a)
		}
	}

	fmt.println(..args)
}

main :: proc() {
	fmt.println("Hellope, everybody!")

	variadic(1 as u128, 1 as i128)

	// x: i128 = 321312321
	// y: i128 = 123123123
	// z: i128
	// x *= x; x *= x
	// y *= y; y *= y
	// fmt.println("x =", x)
	// fmt.println("y =", y)
	// z = x + y; fmt.println("x + y", z)
	// z = x - y; fmt.println("x - y", z)
	// z = x * y; fmt.println("x * y", z)
	// z = x / y; fmt.println("x / y", z)
	// z = x % y; fmt.println("x % y", z)
	// z = x & y; fmt.println("x & y", z)
	// z = x ~ y; fmt.println("x ~ y", z)
	// z = x | y; fmt.println("x | y", z)
	// z = x &~ y; fmt.println("x &~ y", z)

	// z = -x
	// z = ~x

	// b: bool
	// b = x == y; fmt.println("x == y", b)
	// b = x != y; fmt.println("x != y", b)
	// b = x <  y; fmt.println("x <  y", b)
	// b = x <= y; fmt.println("x <= y", b)
	// b = x >  y; fmt.println("x >  y", b)
	// b = x >= y; fmt.println("x >= y", b)
}