2024-07-01 09:30:07 -07:00
|
|
|
struct Vec2(x,y:Int):
|
|
|
|
func __add(a,b:Vec2; inline)->Vec2:
|
|
|
|
return Vec2(a.x+b.x, a.y+b.y)
|
|
|
|
|
2024-07-04 10:40:09 -07:00
|
|
|
func __subtract(a,b:Vec2; inline)->Vec2:
|
2024-07-01 09:30:07 -07:00
|
|
|
return Vec2(a.x-b.x, a.y-b.y)
|
|
|
|
|
2024-07-04 10:40:09 -07:00
|
|
|
func __multiply(a,b:Vec2; inline)->Int:
|
2024-07-01 09:30:07 -07:00
|
|
|
return a.x*b.x + a.y*b.y
|
|
|
|
|
2024-07-04 10:40:09 -07:00
|
|
|
func __multiply2(a:Vec2,b:Int; inline)->Vec2:
|
2024-07-01 09:30:07 -07:00
|
|
|
return Vec2(a.x*b, a.y*b)
|
|
|
|
|
2024-07-04 10:40:09 -07:00
|
|
|
func __multiply3(a:Int,b:Vec2; inline)->Vec2:
|
2024-07-01 09:30:07 -07:00
|
|
|
return Vec2(a*b.x, a*b.y)
|
|
|
|
|
2024-07-04 10:40:09 -07:00
|
|
|
func __multiply4(a,b:Vec2; inline)->Vec2:
|
2024-07-01 09:30:07 -07:00
|
|
|
return Vec2(a.x*b.x, a.y*b.y)
|
|
|
|
|
2024-07-04 10:37:23 -07:00
|
|
|
func __negative(v:Vec2; inline)->Vec2:
|
|
|
|
return Vec2(-v.x, -v.y)
|
|
|
|
|
|
|
|
func __length(v:Vec2; inline)->Int:
|
|
|
|
return 2
|
|
|
|
|
2024-07-01 09:30:07 -07:00
|
|
|
func main():
|
|
|
|
>> x := Vec2(10, 20)
|
|
|
|
>> y := Vec2(100, 200)
|
|
|
|
>> x + y
|
|
|
|
= Vec2(x=110, y=220)
|
|
|
|
>> x - y
|
|
|
|
= Vec2(x=-90, y=-180)
|
|
|
|
>> x * y
|
|
|
|
= 5000
|
|
|
|
>> x * -1
|
|
|
|
= Vec2(x=-10, y=-20)
|
|
|
|
>> -10 * x
|
|
|
|
= Vec2(x=-100, y=-200)
|
|
|
|
|
|
|
|
>> x = Vec2(1, 2)
|
|
|
|
>> x += Vec2(10, 20)
|
|
|
|
= Vec2(x=11, y=22)
|
|
|
|
>> x *= Vec2(10, -1)
|
|
|
|
= Vec2(x=110, y=-22)
|
2024-07-04 10:37:23 -07:00
|
|
|
|
|
|
|
>> x = Vec2(1, 2)
|
|
|
|
>> -x
|
|
|
|
= Vec2(x=-1, y=-2)
|
|
|
|
>> #x
|
|
|
|
= 2
|
|
|
|
|