58 lines
2.3 KiB
Core
58 lines
2.3 KiB
Core
sqrtf :: #foreign (value: F32): F32
|
|
cosf :: #foreign (value: F32): F32
|
|
sinf :: #foreign (value: F32): F32
|
|
|
|
floorf :: #foreign (value: F32): F32
|
|
roundf :: #foreign (value: F32): F32
|
|
ceilf :: #foreign (value: F32): F32
|
|
|
|
Vec2I :: struct;; x: S64; y: S64
|
|
Vec2 :: struct;; x: F32; y: F32
|
|
|
|
"*" :: (a: Vec2, b: Vec2): Vec2 ;; return {a.x*b.x, a.y*b.y}
|
|
"*" :: (a: Vec2, b: F32) : Vec2 ;; return {a.x*b, a.y*b}
|
|
"*" :: (a: F32, b: Vec2) : Vec2 ;; return {a*b.x, a*b.y}
|
|
"-" :: (a: Vec2, b: Vec2): Vec2 ;; return {a.x-b.x, a.y-b.y}
|
|
"-" :: (a: Vec2, b: F32) : Vec2 ;; return {a.x-b, a.y-b}
|
|
"-" :: (a: F32, b: Vec2) : Vec2 ;; return {a-b.x, a-b.y}
|
|
"+" :: (a: Vec2, b: Vec2): Vec2 ;; return {a.x+b.x, a.y+b.y}
|
|
"+" :: (a: Vec2, b: F32) : Vec2 ;; return {a.x+b, a.y+b}
|
|
"+" :: (a: F32, b: Vec2) : Vec2 ;; return {a+b.x, a+b.y}
|
|
"/" :: (a: Vec2, b: Vec2): Vec2 ;; return {a.x/b.x, a.y/b.y}
|
|
"/" :: (a: Vec2, b: F32) : Vec2 ;; return {a.x/b, a.y/b}
|
|
"/" :: (a: F32, b: Vec2) : Vec2 ;; return {a/b.x, a/b.y}
|
|
|
|
"*" :: (a: Vec2I, b: Vec2I): Vec2I ;; return {a.x*b.x, a.y*b.y}
|
|
"*" :: (a: Vec2I, b: S64) : Vec2I ;; return {a.x*b, a.y*b}
|
|
"*" :: (a: S64, b: Vec2I) : Vec2I ;; return {a*b.x, a*b.y}
|
|
"-" :: (a: Vec2I, b: Vec2I): Vec2I ;; return {a.x-b.x, a.y-b.y}
|
|
"-" :: (a: Vec2I, b: S64) : Vec2I ;; return {a.x-b, a.y-b}
|
|
"-" :: (a: S64, b: Vec2I) : Vec2I ;; return {a-b.x, a-b.y}
|
|
"+" :: (a: Vec2I, b: Vec2I): Vec2I ;; return {a.x+b.x, a.y+b.y}
|
|
"+" :: (a: Vec2I, b: S64) : Vec2I ;; return {a.x+b, a.y+b}
|
|
"+" :: (a: S64, b: Vec2I) : Vec2I ;; return {a+b.x, a+b.y}
|
|
"/" :: (a: Vec2I, b: Vec2I): Vec2I ;; return {a.x/b.x, a.y/b.y}
|
|
"/" :: (a: Vec2I, b: S64) : Vec2I ;; return {a.x/b, a.y/b}
|
|
"/" :: (a: S64, b: Vec2I) : Vec2I ;; return {a/b.x, a/b.y}
|
|
|
|
FloorVec2ToVec2I :: (a: Vec2): Vec2I ;; return {floorf(a.x)->S64, floorf(a.y)->S64}
|
|
CastVec2ToVec2I :: (a: Vec2): Vec2I ;; return {a.x->S64, a.y->S64}
|
|
|
|
F32_Clamp :: (min: F32, value: F32, max: F32): F32
|
|
if value > max;; return max
|
|
if value < min;; return min
|
|
return value
|
|
|
|
F32_ClampBottom :: (min: F32, value: F32): F32
|
|
if value < min;; return min
|
|
return value
|
|
|
|
F32_Absolute :: (val: F32): F32
|
|
if val < 0;; return -val
|
|
return val
|
|
|
|
F32_Min :: (a: F32, b: F32): F32
|
|
if a > b ;; return b ; return a
|
|
F32_Max :: (a: F32, b: F32): F32
|
|
if a > b ;; return a ; return b
|