core/math/linalg/glsl
math_linalg_glsl
Types
41bvec2
bvec2 :: [2]boolSourcebvec3
bvec3 :: [3]boolSourcebvec4
bvec4 :: [4]boolSourcedmat2
dmat2 :: matrix[2, 2]f64SourceDouble Precision (f64) Floating Point Types
dmat2x2
dmat2x2 :: dmat2Sourcedmat2x3
dmat2x3 :: matrix[3, 2]f64Sourcedmat2x4
dmat2x4 :: matrix[4, 2]f64Sourcedmat3
dmat3 :: matrix[3, 3]f64Sourcedmat3x2
dmat3x2 :: matrix[2, 3]f64Sourcedmat3x3
dmat3x3 :: dmat3Sourcedmat3x4
dmat3x4 :: matrix[4, 3]f64Sourcedmat4
dmat4 :: matrix[4, 4]f64Sourcedmat4x2
dmat4x2 :: matrix[2, 4]f64Sourcedmat4x3
dmat4x3 :: matrix[3, 4]f64Sourcedmat4x4
dmat4x4 :: dmat4Sourcedquat
dquat :: quaternion256Sourcedvec2
dvec2 :: [2]f64Sourcedvec3
dvec3 :: [3]f64Sourcedvec4
dvec4 :: [4]f64Sourceivec2
ivec2 :: [2]i32Sourceivec3
ivec3 :: [3]i32Sourceivec4
ivec4 :: [4]i32Sourcemat2
mat2 :: matrix[2, 2]f32SourceOdin matrices are stored internally as Column-Major, which matches OpenGL/GLSL by default
mat2x2
mat2x2 :: mat2Sourcemat2x3
mat2x3 :: matrix[3, 2]f32Sourcemat2x4
mat2x4 :: matrix[4, 2]f32Sourcemat3
mat3 :: matrix[3, 3]f32Sourcemat3x2
mat3x2 :: matrix[2, 3]f32SourceIMPORTANT NOTE: These data types are "backwards" in normal mathematical terms but they match how GLSL and OpenGL defines them in name Odin: matrix[R, C]f32 GLSL: matCxR
mat3x3
mat3x3 :: mat3Sourcemat3x4
mat3x4 :: matrix[4, 3]f32Sourcemat4
mat4 :: matrix[4, 4]f32Sourcemat4x2
mat4x2 :: matrix[2, 4]f32Sourcemat4x3
mat4x3 :: matrix[3, 4]f32Sourcemat4x4
mat4x4 :: mat4Sourcequat
quat :: quaternion128Sourceuvec2
uvec2 :: [2]u32Sourceuvec3
uvec3 :: [3]u32Sourceuvec4
uvec4 :: [4]u32Sourcevec2
vec2 :: [2]f32Sourcevec3
vec3 :: [3]f32Sourcevec4
vec4 :: [4]f32SourceConstants
15E
E :: 2.71828182845904523536SourceF32_EPSILON
F32_EPSILON :: 1e-7SourceF64_EPSILON
F64_EPSILON :: 1e-15SourceLN10
LN10 :: 2.30258509299404568401799145468436421SourceLN2
LN2 :: 0.693147180559945309417232121458176568SourcePI
PI :: 3.14159265358979323846264338327950288SourceSQRT_FIVE
SQRT_FIVE :: 2.23606797749978969640917366873127623SourceSQRT_THREE
SQRT_THREE :: 1.73205080756887729352744634150587236SourceSQRT_TWO
SQRT_TWO :: 1.41421356237309504880168872420969808SourceTAU
TAU :: 6.28318530717958647692528676655900576Sourcee
e :: ESourcersqrt
rsqrt :: inversesqrtSourcetranspose
transpose :: intrinsics.transposeSourceπ
π :: PISourceτ
τ :: TAUSourceProcedures
593abs_dvec2
abs_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceabs_dvec3
abs_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceabs_dvec4
abs_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceabs_f32
abs_f32 :: proc(x: f32) -> (f32)Sourceabs_f64
abs_f64 :: proc(x: f64) -> (f64)Sourceabs_i32
abs_i32 :: proc(x: i32) -> (i32)Sourceabs_ivec2
abs_ivec2 :: proc(x: ivec2) -> (ivec2)Sourceabs_ivec3
abs_ivec3 :: proc(x: ivec3) -> (ivec3)Sourceabs_ivec4
abs_ivec4 :: proc(x: ivec4) -> (ivec4)Sourceabs_u32
abs_u32 :: proc(x: u32) -> (u32)Sourceabs_uvec2
abs_uvec2 :: proc(x: uvec2) -> (uvec2)Sourceabs_uvec3
abs_uvec3 :: proc(x: uvec3) -> (uvec3)Sourceabs_uvec4
abs_uvec4 :: proc(x: uvec4) -> (uvec4)Sourceabs_vec2
abs_vec2 :: proc(x: vec2) -> (vec2)Sourceabs_vec3
abs_vec3 :: proc(x: vec3) -> (vec3)Sourceabs_vec4
abs_vec4 :: proc(x: vec4) -> (vec4)Sourceacos_dvec2
acos_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceacos_dvec3
acos_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceacos_dvec4
acos_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceacos_f32
acos_f32 :: proc(x: f32) -> (f32)Sourceacos_f64
acos_f64 :: proc(x: f64) -> (f64)Sourceacos_vec2
acos_vec2 :: proc(x: vec2) -> (vec2)Sourceacos_vec3
acos_vec3 :: proc(x: vec3) -> (vec3)Sourceacos_vec4
acos_vec4 :: proc(x: vec4) -> (vec4)Sourceacosh_dvec2
acosh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceacosh_dvec3
acosh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceacosh_dvec4
acosh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceacosh_f32
acosh_f32 :: proc(x: f32) -> (f32)Sourceacosh_f64
acosh_f64 :: proc(x: f64) -> (f64)Sourceacosh_vec2
acosh_vec2 :: proc(x: vec2) -> (vec2)Sourceacosh_vec3
acosh_vec3 :: proc(x: vec3) -> (vec3)Sourceacosh_vec4
acosh_vec4 :: proc(x: vec4) -> (vec4)Sourceadjugate_matrix1x1
adjugate_matrix1x1 :: proc(x: M) -> (y: M)Sourceadjugate_matrix2x2
adjugate_matrix2x2 :: proc(x: M) -> (y: M)Sourceadjugate_matrix3x3
adjugate_matrix3x3 :: proc(m: M) -> (y: M)Sourceadjugate_matrix4x4
adjugate_matrix4x4 :: proc(x: M) -> (y: M)Sourceall_bool
all_bool :: proc(v: bool) -> (bool)Sourceall_bvec2
all_bvec2 :: proc(v: bvec2) -> (bool)Sourceall_bvec3
all_bvec3 :: proc(v: bvec3) -> (bool)Sourceall_bvec4
all_bvec4 :: proc(v: bvec4) -> (bool)Sourceany_bool
any_bool :: proc(v: bool) -> (bool)Sourceany_bvec2
any_bvec2 :: proc(v: bvec2) -> (bool)Sourceany_bvec3
any_bvec3 :: proc(v: bvec3) -> (bool)Sourceany_bvec4
any_bvec4 :: proc(v: bvec4) -> (bool)Sourceasin_dvec2
asin_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceasin_dvec3
asin_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceasin_dvec4
asin_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceasin_f32
asin_f32 :: proc(x: f32) -> (f32)Sourceasin_f64
asin_f64 :: proc(x: f64) -> (f64)Sourceasin_vec2
asin_vec2 :: proc(x: vec2) -> (vec2)Sourceasin_vec3
asin_vec3 :: proc(x: vec3) -> (vec3)Sourceasin_vec4
asin_vec4 :: proc(x: vec4) -> (vec4)Sourceasinh_dvec2
asinh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceasinh_dvec3
asinh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceasinh_dvec4
asinh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceasinh_f32
asinh_f32 :: proc(x: f32) -> (f32)Sourceasinh_f64
asinh_f64 :: proc(x: f64) -> (f64)Sourceasinh_vec2
asinh_vec2 :: proc(x: vec2) -> (vec2)Sourceasinh_vec3
asinh_vec3 :: proc(x: vec3) -> (vec3)Sourceasinh_vec4
asinh_vec4 :: proc(x: vec4) -> (vec4)Sourceatan2_dvec2
atan2_dvec2 :: proc(y: dvec2, x: dvec2) -> (dvec2)Sourceatan2_dvec3
atan2_dvec3 :: proc(y: dvec3, x: dvec3) -> (dvec3)Sourceatan2_dvec4
atan2_dvec4 :: proc(y: dvec4, x: dvec4) -> (dvec4)Sourceatan2_f32
atan2_f32 :: proc(y: f32, x: f32) -> (f32)Sourceatan2_f64
atan2_f64 :: proc(y: f64, x: f64) -> (f64)Sourceatan2_vec2
atan2_vec2 :: proc(y: vec2, x: vec2) -> (vec2)Sourceatan2_vec3
atan2_vec3 :: proc(y: vec3, x: vec3) -> (vec3)Sourceatan2_vec4
atan2_vec4 :: proc(y: vec4, x: vec4) -> (vec4)Sourceatan_dvec2
atan_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceatan_dvec3
atan_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceatan_dvec4
atan_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceatan_f32
atan_f32 :: proc(x: f32) -> (f32)Sourceatan_f64
atan_f64 :: proc(x: f64) -> (f64)Sourceatan_vec2
atan_vec2 :: proc(x: vec2) -> (vec2)Sourceatan_vec3
atan_vec3 :: proc(x: vec3) -> (vec3)Sourceatan_vec4
atan_vec4 :: proc(x: vec4) -> (vec4)Sourceatanh_dvec2
atanh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceatanh_dvec3
atanh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceatanh_dvec4
atanh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceatanh_f32
atanh_f32 :: proc(x: f32) -> (f32)Sourceatanh_f64
atanh_f64 :: proc(x: f64) -> (f64)Sourceatanh_vec2
atanh_vec2 :: proc(x: vec2) -> (vec2)Sourceatanh_vec3
atanh_vec3 :: proc(x: vec3) -> (vec3)Sourceatanh_vec4
atanh_vec4 :: proc(x: vec4) -> (vec4)Sourceceil_dvec2
ceil_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceceil_dvec3
ceil_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceceil_dvec4
ceil_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceceil_f32
ceil_f32 :: proc(x: f32) -> (f32)Sourceceil_f64
ceil_f64 :: proc(x: f64) -> (f64)Sourceceil_vec2
ceil_vec2 :: proc(x: vec2) -> (vec2)Sourceceil_vec3
ceil_vec3 :: proc(x: vec3) -> (vec3)Sourceceil_vec4
ceil_vec4 :: proc(x: vec4) -> (vec4)Sourceclamp_dvec2
clamp_dvec2 :: proc(x: dvec2, y: dvec2, z: dvec2) -> (dvec2)Sourceclamp_dvec3
clamp_dvec3 :: proc(x: dvec3, y: dvec3, z: dvec3) -> (dvec3)Sourceclamp_dvec4
clamp_dvec4 :: proc(x: dvec4, y: dvec4, z: dvec4) -> (dvec4)Sourceclamp_f32
clamp_f32 :: proc(x: f32, y: f32, z: f32) -> (f32)Sourceclamp_f64
clamp_f64 :: proc(x: f64, y: f64, z: f64) -> (f64)Sourceclamp_i32
clamp_i32 :: proc(x: i32, y: i32, z: i32) -> (i32)Sourceclamp_ivec2
clamp_ivec2 :: proc(x: ivec2, y: ivec2, z: ivec2) -> (ivec2)Sourceclamp_ivec3
clamp_ivec3 :: proc(x: ivec3, y: ivec3, z: ivec3) -> (ivec3)Sourceclamp_ivec4
clamp_ivec4 :: proc(x: ivec4, y: ivec4, z: ivec4) -> (ivec4)Sourceclamp_u32
clamp_u32 :: proc(x: u32, y: u32, z: u32) -> (u32)Sourceclamp_uvec2
clamp_uvec2 :: proc(x: uvec2, y: uvec2, z: uvec2) -> (uvec2)Sourceclamp_uvec3
clamp_uvec3 :: proc(x: uvec3, y: uvec3, z: uvec3) -> (uvec3)Sourceclamp_uvec4
clamp_uvec4 :: proc(x: uvec4, y: uvec4, z: uvec4) -> (uvec4)Sourceclamp_vec2
clamp_vec2 :: proc(x: vec2, y: vec2, z: vec2) -> (vec2)Sourceclamp_vec3
clamp_vec3 :: proc(x: vec3, y: vec3, z: vec3) -> (vec3)Sourceclamp_vec4
clamp_vec4 :: proc(x: vec4, y: vec4, z: vec4) -> (vec4)Sourcecofactor_matrix1x1
cofactor_matrix1x1 :: proc(x: M) -> (y: M)Sourcecofactor_matrix2x2
cofactor_matrix2x2 :: proc(x: M) -> (y: M)Sourcecofactor_matrix3x3
cofactor_matrix3x3 :: proc(m: M) -> (y: M)Sourcecofactor_matrix4x4
cofactor_matrix4x4 :: proc(x: M) -> (y: M)Sourcecos_dvec2
cos_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcecos_dvec3
cos_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcecos_dvec4
cos_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcecos_f32
cos_f32 :: proc(x: f32) -> (f32)Sourcecos_f64
cos_f64 :: proc(x: f64) -> (f64)Sourcecos_vec2
cos_vec2 :: proc(x: vec2) -> (vec2)Sourcecos_vec3
cos_vec3 :: proc(x: vec3) -> (vec3)Sourcecos_vec4
cos_vec4 :: proc(x: vec4) -> (vec4)Sourcecosh_dvec2
cosh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcecosh_dvec3
cosh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcecosh_dvec4
cosh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcecosh_f32
cosh_f32 :: proc(x: f32) -> (f32)Sourcecosh_f64
cosh_f64 :: proc(x: f64) -> (f64)Sourcecosh_vec2
cosh_vec2 :: proc(x: vec2) -> (vec2)Sourcecosh_vec3
cosh_vec3 :: proc(x: vec3) -> (vec3)Sourcecosh_vec4
cosh_vec4 :: proc(x: vec4) -> (vec4)Sourcecross_dvec3
cross_dvec3 :: proc(a: dvec3, b: dvec3) -> (c: dvec3)Sourcecross_ivec3
cross_ivec3 :: proc(a: ivec3, b: ivec3) -> (c: ivec3)Sourcecross_vec3
cross_vec3 :: proc(a: vec3, b: vec3) -> (c: vec3)Sourcedegrees_dvec2
degrees_dvec2 :: proc(radians: dvec2) -> (dvec2)Sourcedegrees_dvec3
degrees_dvec3 :: proc(radians: dvec3) -> (dvec3)Sourcedegrees_dvec4
degrees_dvec4 :: proc(radians: dvec4) -> (dvec4)Sourcedegrees_f32
degrees_f32 :: proc(radians: f32) -> (f32)Sourcedegrees_f64
degrees_f64 :: proc(radians: f64) -> (f64)Sourcedegrees_vec2
degrees_vec2 :: proc(radians: vec2) -> (vec2)Sourcedegrees_vec3
degrees_vec3 :: proc(radians: vec3) -> (vec3)Sourcedegrees_vec4
degrees_vec4 :: proc(radians: vec4) -> (vec4)Sourcedeterminant_matrix1x1
determinant_matrix1x1 :: proc(m: M) -> (det: T)Sourcedeterminant_matrix2x2
determinant_matrix2x2 :: proc(m: M) -> (det: T)Sourcedeterminant_matrix3x3
determinant_matrix3x3 :: proc(m: M) -> (det: T)Sourcedeterminant_matrix4x4
determinant_matrix4x4 :: proc(m: M) -> (det: T)Sourcedistance_dvec2
distance_dvec2 :: proc(x: dvec2, y: dvec2) -> (f64)Sourcedistance_dvec3
distance_dvec3 :: proc(x: dvec3, y: dvec3) -> (f64)Sourcedistance_dvec4
distance_dvec4 :: proc(x: dvec4, y: dvec4) -> (f64)Sourcedistance_f32
distance_f32 :: proc(x: f32, y: f32) -> (f32)Sourcedistance_f64
distance_f64 :: proc(x: f64, y: f64) -> (f64)Sourcedistance_vec2
distance_vec2 :: proc(x: vec2, y: vec2) -> (f32)Sourcedistance_vec3
distance_vec3 :: proc(x: vec3, y: vec3) -> (f32)Sourcedistance_vec4
distance_vec4 :: proc(x: vec4, y: vec4) -> (f32)Sourcedmat4FromDquat
dmat4FromDquat :: proc(q: dquat) -> (m: dmat4)Sourcedmat4LookAt
dmat4LookAt :: proc(eye: dvec3, centre: dvec3, up: dvec3) -> (m: dmat4)Sourcedmat4Orientation
dmat4Orientation :: proc(normal: dvec3, up: dvec3) -> (dmat4)Sourcedmat4Ortho3d
dmat4Ortho3d :: proc(
left: f64,
right: f64,
bottom: f64,
top: f64,
near: f64,
far: f64,
) -> (m: dmat4)Sourcedmat4Perspective
dmat4Perspective :: proc(fovy: f64, aspect: f64, near: f64, far: f64) -> (m: dmat4)Sourcedmat4PerspectiveInfinite
dmat4PerspectiveInfinite :: proc(fovy: f64, aspect: f64, near: f64) -> (m: dmat4)Sourcedmat4Rotate
dmat4Rotate :: proc(v: dvec3, radians: f64) -> (rot: dmat4)Sourcedmat4Scale
dmat4Scale :: proc(v: dvec3) -> (m: dmat4)Sourcedmat4Translate
dmat4Translate :: proc(v: dvec3) -> (m: dmat4)Sourcedot_dquat
dot_dquat :: proc(a: dquat, b: dquat) -> (f64)Sourcedot_dvec2
dot_dvec2 :: proc(a: dvec2, b: dvec2) -> (f64)Sourcedot_dvec3
dot_dvec3 :: proc(a: dvec3, b: dvec3) -> (f64)Sourcedot_dvec4
dot_dvec4 :: proc(a: dvec4, b: dvec4) -> (f64)Sourcedot_f32
dot_f32 :: proc(a: f32, b: f32) -> (f32)Sourcedot_f64
dot_f64 :: proc(a: f64, b: f64) -> (f64)Sourcedot_i32
dot_i32 :: proc(a: i32, b: i32) -> (i32)Sourcedot_ivec2
dot_ivec2 :: proc(a: ivec2, b: ivec2) -> (i32)Sourcedot_ivec3
dot_ivec3 :: proc(a: ivec3, b: ivec3) -> (i32)Sourcedot_ivec4
dot_ivec4 :: proc(a: ivec4, b: ivec4) -> (i32)Sourcedot_quat
dot_quat :: proc(a: quat, b: quat) -> (f32)Sourcedot_u32
dot_u32 :: proc(a: u32, b: u32) -> (u32)Sourcedot_uvec2
dot_uvec2 :: proc(a: uvec2, b: uvec2) -> (u32)Sourcedot_uvec3
dot_uvec3 :: proc(a: uvec3, b: uvec3) -> (u32)Sourcedot_uvec4
dot_uvec4 :: proc(a: uvec4, b: uvec4) -> (u32)Sourcedot_vec2
dot_vec2 :: proc(a: vec2, b: vec2) -> (f32)Sourcedot_vec3
dot_vec3 :: proc(a: vec3, b: vec3) -> (f32)Sourcedot_vec4
dot_vec4 :: proc(a: vec4, b: vec4) -> (f32)SourcedquatAxisAngle
dquatAxisAngle :: proc(axis: dvec3, radians: f64) -> (q: dquat)SourcedquatFromDmat4
dquatFromDmat4 :: proc(m: dmat4) -> (q: dquat)SourcedquatFromdMat3
dquatFromdMat3 :: proc(m: dmat3) -> (q: dquat)SourcedquatMulDvec3
dquatMulDvec3 :: proc(q: dquat, v: dvec3) -> (dvec3)SourcedquatNlerp
dquatNlerp :: proc(a: dquat, b: dquat, t: f64) -> (c: dquat)SourcedquatSlerp
dquatSlerp :: proc(x: dquat, y: dquat, t: f64) -> (q: dquat)Sourceequal_dvec2
equal_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)Sourceequal_dvec3
equal_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)Sourceequal_dvec4
equal_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)Sourceequal_f32
equal_f32 :: proc(a: f32, b: f32) -> (bool)Sourceequal_f64
equal_f64 :: proc(a: f64, b: f64) -> (bool)Sourceequal_i32
equal_i32 :: proc(a: i32, b: i32) -> (bool)Sourceequal_ivec2
equal_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)Sourceequal_ivec3
equal_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)Sourceequal_ivec4
equal_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)Sourceequal_u32
equal_u32 :: proc(a: u32, b: u32) -> (bool)Sourceequal_uvec2
equal_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)Sourceequal_uvec3
equal_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)Sourceequal_uvec4
equal_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)Sourceequal_vec2
equal_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)Sourceequal_vec3
equal_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)Sourceequal_vec4
equal_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)Sourceexp2_dvec2
exp2_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceexp2_dvec3
exp2_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceexp2_dvec4
exp2_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceexp2_f32
exp2_f32 :: proc(x: f32) -> (f32)Sourceexp2_f64
exp2_f64 :: proc(x: f64) -> (f64)Sourceexp2_vec2
exp2_vec2 :: proc(x: vec2) -> (vec2)Sourceexp2_vec3
exp2_vec3 :: proc(x: vec3) -> (vec3)Sourceexp2_vec4
exp2_vec4 :: proc(x: vec4) -> (vec4)Sourceexp_dvec2
exp_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceexp_dvec3
exp_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceexp_dvec4
exp_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceexp_f32
exp_f32 :: proc(x: f32) -> (f32)Sourceexp_f64
exp_f64 :: proc(x: f64) -> (f64)Sourceexp_vec2
exp_vec2 :: proc(x: vec2) -> (vec2)Sourceexp_vec3
exp_vec3 :: proc(x: vec3) -> (vec3)Sourceexp_vec4
exp_vec4 :: proc(x: vec4) -> (vec4)SourcefaceForward_dvec2
faceForward_dvec2 :: proc(N: dvec2, I: dvec2, Nref: dvec2) -> (dvec2)SourcefaceForward_dvec3
faceForward_dvec3 :: proc(N: dvec3, I: dvec3, Nref: dvec3) -> (dvec3)SourcefaceForward_dvec4
faceForward_dvec4 :: proc(N: dvec4, I: dvec4, Nref: dvec4) -> (dvec4)SourcefaceForward_f32
faceForward_f32 :: proc(N: f32, I: f32, Nref: f32) -> (f32)SourcefaceForward_f64
faceForward_f64 :: proc(N: f64, I: f64, Nref: f64) -> (f64)SourcefaceForward_vec2
faceForward_vec2 :: proc(N: vec2, I: vec2, Nref: vec2) -> (vec2)SourcefaceForward_vec3
faceForward_vec3 :: proc(N: vec3, I: vec3, Nref: vec3) -> (vec3)SourcefaceForward_vec4
faceForward_vec4 :: proc(N: vec4, I: vec4, Nref: vec4) -> (vec4)Sourcefloor_dvec2
floor_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcefloor_dvec3
floor_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcefloor_dvec4
floor_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcefloor_f32
floor_f32 :: proc(x: f32) -> (f32)Sourcefloor_f64
floor_f64 :: proc(x: f64) -> (f64)Sourcefloor_vec2
floor_vec2 :: proc(x: vec2) -> (vec2)Sourcefloor_vec3
floor_vec3 :: proc(x: vec3) -> (vec3)Sourcefloor_vec4
floor_vec4 :: proc(x: vec4) -> (vec4)Sourcefract_dvec2
fract_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcefract_dvec3
fract_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcefract_dvec4
fract_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcefract_f32
fract_f32 :: proc(x: f32) -> (f32)Sourcefract_f64
fract_f64 :: proc(x: f64) -> (f64)Sourcefract_vec2
fract_vec2 :: proc(x: vec2) -> (vec2)Sourcefract_vec3
fract_vec3 :: proc(x: vec3) -> (vec3)Sourcefract_vec4
fract_vec4 :: proc(x: vec4) -> (vec4)SourcegreaterThanEqual_dvec2
greaterThanEqual_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)SourcegreaterThanEqual_dvec3
greaterThanEqual_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)SourcegreaterThanEqual_dvec4
greaterThanEqual_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)SourcegreaterThanEqual_f32
greaterThanEqual_f32 :: proc(a: f32, b: f32) -> (bool)SourcegreaterThanEqual_f64
greaterThanEqual_f64 :: proc(a: f64, b: f64) -> (bool)SourcegreaterThanEqual_i32
greaterThanEqual_i32 :: proc(a: i32, b: i32) -> (bool)SourcegreaterThanEqual_ivec2
greaterThanEqual_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)SourcegreaterThanEqual_ivec3
greaterThanEqual_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)SourcegreaterThanEqual_ivec4
greaterThanEqual_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)SourcegreaterThanEqual_u32
greaterThanEqual_u32 :: proc(a: u32, b: u32) -> (bool)SourcegreaterThanEqual_uvec2
greaterThanEqual_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)SourcegreaterThanEqual_uvec3
greaterThanEqual_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)SourcegreaterThanEqual_uvec4
greaterThanEqual_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)SourcegreaterThanEqual_vec2
greaterThanEqual_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)SourcegreaterThanEqual_vec3
greaterThanEqual_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)SourcegreaterThanEqual_vec4
greaterThanEqual_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)SourcegreaterThan_dvec2
greaterThan_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)SourcegreaterThan_dvec3
greaterThan_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)SourcegreaterThan_dvec4
greaterThan_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)SourcegreaterThan_f32
greaterThan_f32 :: proc(a: f32, b: f32) -> (bool)SourcegreaterThan_f64
greaterThan_f64 :: proc(a: f64, b: f64) -> (bool)SourcegreaterThan_i32
greaterThan_i32 :: proc(a: i32, b: i32) -> (bool)SourcegreaterThan_ivec2
greaterThan_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)SourcegreaterThan_ivec3
greaterThan_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)SourcegreaterThan_ivec4
greaterThan_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)SourcegreaterThan_u32
greaterThan_u32 :: proc(a: u32, b: u32) -> (bool)SourcegreaterThan_uvec2
greaterThan_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)SourcegreaterThan_uvec3
greaterThan_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)SourcegreaterThan_uvec4
greaterThan_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)SourcegreaterThan_vec2
greaterThan_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)SourcegreaterThan_vec3
greaterThan_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)SourcegreaterThan_vec4
greaterThan_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)Sourcehermitian_adjoint
hermitian_adjoint :: proc(m) -> (M)Sourceidentity
identity :: proc(M: typeid) -> (M)Source/ Matrix Utilities
inverse_dmat2
inverse_dmat2 :: proc(m: dmat2) -> (dmat2)Sourceinverse_dmat3
inverse_dmat3 :: proc(m: dmat3) -> (dmat3)Sourceinverse_dmat4
inverse_dmat4 :: proc(m: dmat4) -> (dmat4)Sourceinverse_dquat
inverse_dquat :: proc(q: dquat) -> (dquat)Sourceinverse_mat2
inverse_mat2 :: proc(m: mat2) -> (mat2)Sourceinverse_mat3
inverse_mat3 :: proc(m: mat3) -> (mat3)Sourceinverse_mat4
inverse_mat4 :: proc(m: mat4) -> (mat4)Sourceinverse_matrix1x1
inverse_matrix1x1 :: proc(x: M) -> (y: M)Sourceinverse_matrix2x2
inverse_matrix2x2 :: proc(x: M) -> (y: M)Sourceinverse_matrix3x3
inverse_matrix3x3 :: proc(x: M) -> (y: M)Sourceinverse_matrix4x4
inverse_matrix4x4 :: proc(x: M) -> (y: M)Sourceinverse_quat
inverse_quat :: proc(q: quat) -> (quat)Sourceinverse_transpose_matrix1x1
inverse_transpose_matrix1x1 :: proc(x: M) -> (y: M)Sourceinverse_transpose_matrix2x2
inverse_transpose_matrix2x2 :: proc(x: M) -> (y: M)Sourceinverse_transpose_matrix3x3
inverse_transpose_matrix3x3 :: proc(x: M) -> (y: M)Sourceinverse_transpose_matrix4x4
inverse_transpose_matrix4x4 :: proc(x: M) -> (y: M)Sourceinversesqrt_dvec2
inversesqrt_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceinversesqrt_dvec3
inversesqrt_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceinversesqrt_dvec4
inversesqrt_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceinversesqrt_f32
inversesqrt_f32 :: proc(x: f32) -> (f32)Sourceinversesqrt_f64
inversesqrt_f64 :: proc(x: f64) -> (f64)Sourceinversesqrt_vec2
inversesqrt_vec2 :: proc(x: vec2) -> (vec2)Sourceinversesqrt_vec3
inversesqrt_vec3 :: proc(x: vec3) -> (vec3)Sourceinversesqrt_vec4
inversesqrt_vec4 :: proc(x: vec4) -> (vec4)Sourcelength_dquat
length_dquat :: proc(x: dquat) -> (f64)Sourcelength_dvec2
length_dvec2 :: proc(x: dvec2) -> (f64)Sourcelength_dvec3
length_dvec3 :: proc(x: dvec3) -> (f64)Sourcelength_dvec4
length_dvec4 :: proc(x: dvec4) -> (f64)Sourcelength_f32
length_f32 :: proc(x: f32) -> (f32)Sourcelength_f64
length_f64 :: proc(x: f64) -> (f64)Sourcelength_quat
length_quat :: proc(x: quat) -> (f32)Sourcelength_vec2
length_vec2 :: proc(x: vec2) -> (f32)Sourcelength_vec3
length_vec3 :: proc(x: vec3) -> (f32)Sourcelength_vec4
length_vec4 :: proc(x: vec4) -> (f32)Sourcelerp_dvec2
lerp_dvec2 :: proc(x: dvec2, y: dvec2, t: dvec2) -> (dvec2)Sourcelerp_dvec3
lerp_dvec3 :: proc(x: dvec3, y: dvec3, t: dvec3) -> (dvec3)Sourcelerp_dvec4
lerp_dvec4 :: proc(x: dvec4, y: dvec4, t: dvec4) -> (dvec4)Sourcelerp_f32
lerp_f32 :: proc(x: f32, y: f32, t: f32) -> (f32)Sourcelerp_f64
lerp_f64 :: proc(x: f64, y: f64, t: f64) -> (f64)Sourcelerp_vec2
lerp_vec2 :: proc(x: vec2, y: vec2, t: vec2) -> (vec2)Sourcelerp_vec3
lerp_vec3 :: proc(x: vec3, y: vec3, t: vec3) -> (vec3)Sourcelerp_vec4
lerp_vec4 :: proc(x: vec4, y: vec4, t: vec4) -> (vec4)SourcelessThanEqual_dvec2
lessThanEqual_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)SourcelessThanEqual_dvec3
lessThanEqual_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)SourcelessThanEqual_dvec4
lessThanEqual_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)SourcelessThanEqual_f32
lessThanEqual_f32 :: proc(a: f32, b: f32) -> (bool)SourcelessThanEqual_f64
lessThanEqual_f64 :: proc(a: f64, b: f64) -> (bool)SourcelessThanEqual_i32
lessThanEqual_i32 :: proc(a: i32, b: i32) -> (bool)SourcelessThanEqual_ivec2
lessThanEqual_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)SourcelessThanEqual_ivec3
lessThanEqual_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)SourcelessThanEqual_ivec4
lessThanEqual_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)SourcelessThanEqual_u32
lessThanEqual_u32 :: proc(a: u32, b: u32) -> (bool)SourcelessThanEqual_uvec2
lessThanEqual_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)SourcelessThanEqual_uvec3
lessThanEqual_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)SourcelessThanEqual_uvec4
lessThanEqual_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)SourcelessThanEqual_vec2
lessThanEqual_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)SourcelessThanEqual_vec3
lessThanEqual_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)SourcelessThanEqual_vec4
lessThanEqual_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)SourcelessThan_dvec2
lessThan_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)SourcelessThan_dvec3
lessThan_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)SourcelessThan_dvec4
lessThan_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)SourcelessThan_f32
lessThan_f32 :: proc(a: f32, b: f32) -> (bool)SourcelessThan_f64
lessThan_f64 :: proc(a: f64, b: f64) -> (bool)SourcelessThan_i32
lessThan_i32 :: proc(a: i32, b: i32) -> (bool)SourcelessThan_ivec2
lessThan_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)SourcelessThan_ivec3
lessThan_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)SourcelessThan_ivec4
lessThan_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)SourcelessThan_u32
lessThan_u32 :: proc(a: u32, b: u32) -> (bool)SourcelessThan_uvec2
lessThan_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)SourcelessThan_uvec3
lessThan_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)SourcelessThan_uvec4
lessThan_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)SourcelessThan_vec2
lessThan_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)SourcelessThan_vec3
lessThan_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)SourcelessThan_vec4
lessThan_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)Sourcelog_dvec2
log_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcelog_dvec3
log_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcelog_dvec4
log_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcelog_f32
log_f32 :: proc(x: f32) -> (f32)Sourcelog_f64
log_f64 :: proc(x: f64) -> (f64)Sourcelog_vec2
log_vec2 :: proc(x: vec2) -> (vec2)Sourcelog_vec3
log_vec3 :: proc(x: vec3) -> (vec3)Sourcelog_vec4
log_vec4 :: proc(x: vec4) -> (vec4)Sourcemat4FromQuat
mat4FromQuat :: proc(q: quat) -> (m: mat4)Sourcemat4LookAt
mat4LookAt :: proc(eye: vec3, centre: vec3, up: vec3) -> (m: mat4)Sourcemat4Orientation
mat4Orientation :: proc(normal: vec3, up: vec3) -> (mat4)Sourcemat4Ortho3d
mat4Ortho3d :: proc(
left: f32,
right: f32,
bottom: f32,
top: f32,
near: f32,
far: f32,
) -> (m: mat4)Sourcemat4Perspective
mat4Perspective :: proc(fovy: f32, aspect: f32, near: f32, far: f32) -> (m: mat4)Sourcemat4PerspectiveInfinite
mat4PerspectiveInfinite :: proc(fovy: f32, aspect: f32, near: f32) -> (m: mat4)Sourcemat4Rotate
mat4Rotate :: proc(v: vec3, radians: f32) -> (rot: mat4)Sourcemat4Scale
mat4Scale :: proc(v: vec3) -> (m: mat4)Sourcemat4Translate
mat4Translate :: proc(v: vec3) -> (m: mat4)Sourcematrix_minor
matrix_minor :: proc(m, any_int, column: int) -> (minor: T)Sourcemax_dvec2
max_dvec2 :: proc(x: dvec2, y: dvec2) -> (dvec2)Sourcemax_dvec3
max_dvec3 :: proc(x: dvec3, y: dvec3) -> (dvec3)Sourcemax_dvec4
max_dvec4 :: proc(x: dvec4, y: dvec4) -> (dvec4)Sourcemax_f32
max_f32 :: proc(x: f32, y: f32) -> (f32)Sourcemax_f64
max_f64 :: proc(x: f64, y: f64) -> (f64)Sourcemax_i32
max_i32 :: proc(x: i32, y: i32) -> (i32)Sourcemax_ivec2
max_ivec2 :: proc(x: ivec2, y: ivec2) -> (ivec2)Sourcemax_ivec3
max_ivec3 :: proc(x: ivec3, y: ivec3) -> (ivec3)Sourcemax_ivec4
max_ivec4 :: proc(x: ivec4, y: ivec4) -> (ivec4)Sourcemax_u32
max_u32 :: proc(x: u32, y: u32) -> (u32)Sourcemax_uvec2
max_uvec2 :: proc(x: uvec2, y: uvec2) -> (uvec2)Sourcemax_uvec3
max_uvec3 :: proc(x: uvec3, y: uvec3) -> (uvec3)Sourcemax_uvec4
max_uvec4 :: proc(x: uvec4, y: uvec4) -> (uvec4)Sourcemax_vec2
max_vec2 :: proc(x: vec2, y: vec2) -> (vec2)Sourcemax_vec3
max_vec3 :: proc(x: vec3, y: vec3) -> (vec3)Sourcemax_vec4
max_vec4 :: proc(x: vec4, y: vec4) -> (vec4)Sourcemin_dvec2
min_dvec2 :: proc(x: dvec2, y: dvec2) -> (dvec2)Sourcemin_dvec3
min_dvec3 :: proc(x: dvec3, y: dvec3) -> (dvec3)Sourcemin_dvec4
min_dvec4 :: proc(x: dvec4, y: dvec4) -> (dvec4)Sourcemin_f32
min_f32 :: proc(x: f32, y: f32) -> (f32)Sourcemin_f64
min_f64 :: proc(x: f64, y: f64) -> (f64)Sourcemin_i32
min_i32 :: proc(x: i32, y: i32) -> (i32)Sourcemin_ivec2
min_ivec2 :: proc(x: ivec2, y: ivec2) -> (ivec2)Sourcemin_ivec3
min_ivec3 :: proc(x: ivec3, y: ivec3) -> (ivec3)Sourcemin_ivec4
min_ivec4 :: proc(x: ivec4, y: ivec4) -> (ivec4)Sourcemin_u32
min_u32 :: proc(x: u32, y: u32) -> (u32)Sourcemin_uvec2
min_uvec2 :: proc(x: uvec2, y: uvec2) -> (uvec2)Sourcemin_uvec3
min_uvec3 :: proc(x: uvec3, y: uvec3) -> (uvec3)Sourcemin_uvec4
min_uvec4 :: proc(x: uvec4, y: uvec4) -> (uvec4)Sourcemin_vec2
min_vec2 :: proc(x: vec2, y: vec2) -> (vec2)Sourcemin_vec3
min_vec3 :: proc(x: vec3, y: vec3) -> (vec3)Sourcemin_vec4
min_vec4 :: proc(x: vec4, y: vec4) -> (vec4)Sourcemix_dvec2
mix_dvec2 :: proc(x: dvec2, y: dvec2, t: dvec2) -> (dvec2)Sourcemix_dvec3
mix_dvec3 :: proc(x: dvec3, y: dvec3, t: dvec3) -> (dvec3)Sourcemix_dvec4
mix_dvec4 :: proc(x: dvec4, y: dvec4, t: dvec4) -> (dvec4)Sourcemix_f32
mix_f32 :: proc(x: f32, y: f32, t: f32) -> (f32)Sourcemix_f64
mix_f64 :: proc(x: f64, y: f64, t: f64) -> (f64)Sourcemix_vec2
mix_vec2 :: proc(x: vec2, y: vec2, t: vec2) -> (vec2)Sourcemix_vec3
mix_vec3 :: proc(x: vec3, y: vec3, t: vec3) -> (vec3)Sourcemix_vec4
mix_vec4 :: proc(x: vec4, y: vec4, t: vec4) -> (vec4)Sourcemod_dvec2
mod_dvec2 :: proc(x: dvec2, y: dvec2) -> (dvec2)Sourcemod_dvec3
mod_dvec3 :: proc(x: dvec3, y: dvec3) -> (dvec3)Sourcemod_dvec4
mod_dvec4 :: proc(x: dvec4, y: dvec4) -> (dvec4)Sourcemod_f32
mod_f32 :: proc(x: f32, y: f32) -> (f32)Sourcemod_f64
mod_f64 :: proc(x: f64, y: f64) -> (f64)Sourcemod_vec2
mod_vec2 :: proc(x: vec2, y: vec2) -> (vec2)Sourcemod_vec3
mod_vec3 :: proc(x: vec3, y: vec3) -> (vec3)Sourcemod_vec4
mod_vec4 :: proc(x: vec4, y: vec4) -> (vec4)Sourcenormalize_dquat
normalize_dquat :: proc(x: dquat) -> (dquat)Sourcenormalize_dvec2
normalize_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcenormalize_dvec3
normalize_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcenormalize_dvec4
normalize_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcenormalize_f32
normalize_f32 :: proc(x: f32) -> (f32)Sourcenormalize_f64
normalize_f64 :: proc(x: f64) -> (f64)Sourcenormalize_quat
normalize_quat :: proc(x: quat) -> (quat)Sourcenormalize_vec2
normalize_vec2 :: proc(x: vec2) -> (vec2)Sourcenormalize_vec3
normalize_vec3 :: proc(x: vec3) -> (vec3)Sourcenormalize_vec4
normalize_vec4 :: proc(x: vec4) -> (vec4)SourcenotEqual_dvec2
notEqual_dvec2 :: proc(a: dvec2, b: dvec2) -> (bvec2)SourcenotEqual_dvec3
notEqual_dvec3 :: proc(a: dvec3, b: dvec3) -> (bvec3)SourcenotEqual_dvec4
notEqual_dvec4 :: proc(a: dvec4, b: dvec4) -> (bvec4)SourcenotEqual_f32
notEqual_f32 :: proc(a: f32, b: f32) -> (bool)SourcenotEqual_f64
notEqual_f64 :: proc(a: f64, b: f64) -> (bool)SourcenotEqual_i32
notEqual_i32 :: proc(a: i32, b: i32) -> (bool)SourcenotEqual_ivec2
notEqual_ivec2 :: proc(a: ivec2, b: ivec2) -> (bvec2)SourcenotEqual_ivec3
notEqual_ivec3 :: proc(a: ivec3, b: ivec3) -> (bvec3)SourcenotEqual_ivec4
notEqual_ivec4 :: proc(a: ivec4, b: ivec4) -> (bvec4)SourcenotEqual_u32
notEqual_u32 :: proc(a: u32, b: u32) -> (bool)SourcenotEqual_uvec2
notEqual_uvec2 :: proc(a: uvec2, b: uvec2) -> (bvec2)SourcenotEqual_uvec3
notEqual_uvec3 :: proc(a: uvec3, b: uvec3) -> (bvec3)SourcenotEqual_uvec4
notEqual_uvec4 :: proc(a: uvec4, b: uvec4) -> (bvec4)SourcenotEqual_vec2
notEqual_vec2 :: proc(a: vec2, b: vec2) -> (bvec2)SourcenotEqual_vec3
notEqual_vec3 :: proc(a: vec3, b: vec3) -> (bvec3)SourcenotEqual_vec4
notEqual_vec4 :: proc(a: vec4, b: vec4) -> (bvec4)Sourcenot_bool
not_bool :: proc(v: bool) -> (bool)Sourcenot_bvec2
not_bvec2 :: proc(v: bvec2) -> (bvec2)Sourcenot_bvec3
not_bvec3 :: proc(v: bvec3) -> (bvec3)Sourcenot_bvec4
not_bvec4 :: proc(v: bvec4) -> (bvec4)Sourcepow_dvec2
pow_dvec2 :: proc(x: dvec2, y: dvec2) -> (dvec2)Sourcepow_dvec3
pow_dvec3 :: proc(x: dvec3, y: dvec3) -> (dvec3)Sourcepow_dvec4
pow_dvec4 :: proc(x: dvec4, y: dvec4) -> (dvec4)Sourcepow_f32
pow_f32 :: proc(x: f32, y: f32) -> (f32)Sourcepow_f64
pow_f64 :: proc(x: f64, y: f64) -> (f64)Sourcepow_vec2
pow_vec2 :: proc(x: vec2, y: vec2) -> (vec2)Sourcepow_vec3
pow_vec3 :: proc(x: vec3, y: vec3) -> (vec3)Sourcepow_vec4
pow_vec4 :: proc(x: vec4, y: vec4) -> (vec4)SourcequatAxisAngle
quatAxisAngle :: proc(axis: vec3, radians: f32) -> (q: quat)SourcequatFromMat3
quatFromMat3 :: proc(m: mat3) -> (q: quat)SourcequatFromMat4
quatFromMat4 :: proc(m: mat4) -> (q: quat)SourcequatMulVec3
quatMulVec3 :: proc(q: quat, v: vec3) -> (vec3)SourcequatNlerp
quatNlerp :: proc(a: quat, b: quat, t: f32) -> (c: quat)SourcequatSlerp
quatSlerp :: proc(x: quat, y: quat, t: f32) -> (q: quat)Sourceradians_dvec2
radians_dvec2 :: proc(degrees: dvec2) -> (dvec2)Sourceradians_dvec3
radians_dvec3 :: proc(degrees: dvec3) -> (dvec3)Sourceradians_dvec4
radians_dvec4 :: proc(degrees: dvec4) -> (dvec4)Sourceradians_f32
radians_f32 :: proc(degrees: f32) -> (f32)Sourceradians_f64
radians_f64 :: proc(degrees: f64) -> (f64)Sourceradians_vec2
radians_vec2 :: proc(degrees: vec2) -> (vec2)Sourceradians_vec3
radians_vec3 :: proc(degrees: vec3) -> (vec3)Sourceradians_vec4
radians_vec4 :: proc(degrees: vec4) -> (vec4)Sourcereflect_dvec2
reflect_dvec2 :: proc(I: dvec2, N: dvec2) -> (dvec2)Sourcereflect_dvec3
reflect_dvec3 :: proc(I: dvec3, N: dvec3) -> (dvec3)Sourcereflect_dvec4
reflect_dvec4 :: proc(I: dvec4, N: dvec4) -> (dvec4)Sourcereflect_f32
reflect_f32 :: proc(I: f32, N: f32) -> (f32)Sourcereflect_f64
reflect_f64 :: proc(I: f64, N: f64) -> (f64)Sourcereflect_vec2
reflect_vec2 :: proc(I: vec2, N: vec2) -> (vec2)Sourcereflect_vec3
reflect_vec3 :: proc(I: vec3, N: vec3) -> (vec3)Sourcereflect_vec4
reflect_vec4 :: proc(I: vec4, N: vec4) -> (vec4)Sourcerefract_dvec2
refract_dvec2 :: proc(i: dvec2, n: dvec2, eta: dvec2) -> (dvec2)Sourcerefract_dvec3
refract_dvec3 :: proc(i: dvec3, n: dvec3, eta: dvec3) -> (dvec3)Sourcerefract_dvec4
refract_dvec4 :: proc(i: dvec4, n: dvec4, eta: dvec4) -> (dvec4)Sourcerefract_f32
refract_f32 :: proc(i: f32, n: f32, eta: f32) -> (f32)Sourcerefract_f64
refract_f64 :: proc(i: f64, n: f64, eta: f64) -> (f64)Sourcerefract_vec2
refract_vec2 :: proc(i: vec2, n: vec2, eta: vec2) -> (vec2)Sourcerefract_vec3
refract_vec3 :: proc(i: vec3, n: vec3, eta: vec3) -> (vec3)Sourcerefract_vec4
refract_vec4 :: proc(i: vec4, n: vec4, eta: vec4) -> (vec4)Sourceround_dvec2
round_dvec2 :: proc(x: dvec2) -> (dvec2)Sourceround_dvec3
round_dvec3 :: proc(x: dvec3) -> (dvec3)Sourceround_dvec4
round_dvec4 :: proc(x: dvec4) -> (dvec4)Sourceround_f32
round_f32 :: proc(x: f32) -> (f32)Sourceround_f64
round_f64 :: proc(x: f64) -> (f64)Sourceround_vec2
round_vec2 :: proc(x: vec2) -> (vec2)Sourceround_vec3
round_vec3 :: proc(x: vec3) -> (vec3)Sourceround_vec4
round_vec4 :: proc(x: vec4) -> (vec4)Sourcesaturate_dvec2
saturate_dvec2 :: proc(v: dvec2) -> (dvec2)Sourcesaturate_dvec3
saturate_dvec3 :: proc(v: dvec3) -> (dvec3)Sourcesaturate_dvec4
saturate_dvec4 :: proc(v: dvec4) -> (dvec4)Sourcesaturate_f32
saturate_f32 :: proc(v: f32) -> (f32)Sourcesaturate_f64
saturate_f64 :: proc(v: f64) -> (f64)Sourcesaturate_i32
saturate_i32 :: proc(v: i32) -> (i32)Sourcesaturate_ivec2
saturate_ivec2 :: proc(v: ivec2) -> (ivec2)Sourcesaturate_ivec3
saturate_ivec3 :: proc(v: ivec3) -> (ivec3)Sourcesaturate_ivec4
saturate_ivec4 :: proc(v: ivec4) -> (ivec4)Sourcesaturate_u32
saturate_u32 :: proc(v: u32) -> (u32)Sourcesaturate_uvec2
saturate_uvec2 :: proc(v: uvec2) -> (uvec2)Sourcesaturate_uvec3
saturate_uvec3 :: proc(v: uvec3) -> (uvec3)Sourcesaturate_uvec4
saturate_uvec4 :: proc(v: uvec4) -> (uvec4)Sourcesaturate_vec2
saturate_vec2 :: proc(v: vec2) -> (vec2)Sourcesaturate_vec3
saturate_vec3 :: proc(v: vec3) -> (vec3)Sourcesaturate_vec4
saturate_vec4 :: proc(v: vec4) -> (vec4)SourcescalarTripleProduct_dvec3
scalarTripleProduct_dvec3 :: proc(a: dvec3, b: dvec3, c: dvec3) -> (f64)SourcescalarTripleProduct_ivec3
scalarTripleProduct_ivec3 :: proc(a: ivec3, b: ivec3, c: ivec3) -> (i32)SourcescalarTripleProduct_vec3
scalarTripleProduct_vec3 :: proc(a: vec3, b: vec3, c: vec3) -> (f32)Sourcesign_dvec2
sign_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcesign_dvec3
sign_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcesign_dvec4
sign_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcesign_f32
sign_f32 :: proc(x: f32) -> (f32)Sourcesign_f64
sign_f64 :: proc(x: f64) -> (f64)Sourcesign_i32
sign_i32 :: proc(x: i32) -> (i32)Sourcesign_ivec2
sign_ivec2 :: proc(x: ivec2) -> (ivec2)Sourcesign_ivec3
sign_ivec3 :: proc(x: ivec3) -> (ivec3)Sourcesign_ivec4
sign_ivec4 :: proc(x: ivec4) -> (ivec4)Sourcesign_u32
sign_u32 :: proc(x: u32) -> (u32)Sourcesign_uvec2
sign_uvec2 :: proc(x: uvec2) -> (uvec2)Sourcesign_uvec3
sign_uvec3 :: proc(x: uvec3) -> (uvec3)Sourcesign_uvec4
sign_uvec4 :: proc(x: uvec4) -> (uvec4)Sourcesign_vec2
sign_vec2 :: proc(x: vec2) -> (vec2)Sourcesign_vec3
sign_vec3 :: proc(x: vec3) -> (vec3)Sourcesign_vec4
sign_vec4 :: proc(x: vec4) -> (vec4)Sourcesin_dvec2
sin_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcesin_dvec3
sin_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcesin_dvec4
sin_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcesin_f32
sin_f32 :: proc(x: f32) -> (f32)Sourcesin_f64
sin_f64 :: proc(x: f64) -> (f64)Sourcesin_vec2
sin_vec2 :: proc(x: vec2) -> (vec2)Sourcesin_vec3
sin_vec3 :: proc(x: vec3) -> (vec3)Sourcesin_vec4
sin_vec4 :: proc(x: vec4) -> (vec4)Sourcesinh_dvec2
sinh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcesinh_dvec3
sinh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcesinh_dvec4
sinh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcesinh_f32
sinh_f32 :: proc(x: f32) -> (f32)Sourcesinh_f64
sinh_f64 :: proc(x: f64) -> (f64)Sourcesinh_vec2
sinh_vec2 :: proc(x: vec2) -> (vec2)Sourcesinh_vec3
sinh_vec3 :: proc(x: vec3) -> (vec3)Sourcesinh_vec4
sinh_vec4 :: proc(x: vec4) -> (vec4)Sourcesmoothstep_dvec2
smoothstep_dvec2 :: proc(edge0: dvec2, edge1: dvec2, x: dvec2) -> (dvec2)Sourcesmoothstep_dvec3
smoothstep_dvec3 :: proc(edge0: dvec3, edge1: dvec3, x: dvec3) -> (dvec3)Sourcesmoothstep_dvec4
smoothstep_dvec4 :: proc(edge0: dvec4, edge1: dvec4, x: dvec4) -> (dvec4)Sourcesmoothstep_f32
smoothstep_f32 :: proc(edge0: f32, edge1: f32, x: f32) -> (f32)Sourcesmoothstep_f64
smoothstep_f64 :: proc(edge0: f64, edge1: f64, x: f64) -> (f64)Sourcesmoothstep_vec2
smoothstep_vec2 :: proc(edge0: vec2, edge1: vec2, x: vec2) -> (vec2)Sourcesmoothstep_vec3
smoothstep_vec3 :: proc(edge0: vec3, edge1: vec3, x: vec3) -> (vec3)Sourcesmoothstep_vec4
smoothstep_vec4 :: proc(edge0: vec4, edge1: vec4, x: vec4) -> (vec4)Sourcesqrt_dvec2
sqrt_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcesqrt_dvec3
sqrt_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcesqrt_dvec4
sqrt_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcesqrt_f32
sqrt_f32 :: proc(x: f32) -> (f32)Sourcesqrt_f64
sqrt_f64 :: proc(x: f64) -> (f64)Sourcesqrt_vec2
sqrt_vec2 :: proc(x: vec2) -> (vec2)Sourcesqrt_vec3
sqrt_vec3 :: proc(x: vec3) -> (vec3)Sourcesqrt_vec4
sqrt_vec4 :: proc(x: vec4) -> (vec4)Sourcestep_dvec2
step_dvec2 :: proc(edge: dvec2, x: dvec2) -> (dvec2)Sourcestep_dvec3
step_dvec3 :: proc(edge: dvec3, x: dvec3) -> (dvec3)Sourcestep_dvec4
step_dvec4 :: proc(edge: dvec4, x: dvec4) -> (dvec4)Sourcestep_f32
step_f32 :: proc(edge: f32, x: f32) -> (f32)Sourcestep_f64
step_f64 :: proc(edge: f64, x: f64) -> (f64)Sourcestep_vec2
step_vec2 :: proc(edge: vec2, x: vec2) -> (vec2)Sourcestep_vec3
step_vec3 :: proc(edge: vec3, x: vec3) -> (vec3)Sourcestep_vec4
step_vec4 :: proc(edge: vec4, x: vec4) -> (vec4)Sourcetan_dvec2
tan_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcetan_dvec3
tan_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcetan_dvec4
tan_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcetan_f32
tan_f32 :: proc(x: f32) -> (f32)Sourcetan_f64
tan_f64 :: proc(x: f64) -> (f64)Sourcetan_vec2
tan_vec2 :: proc(x: vec2) -> (vec2)Sourcetan_vec3
tan_vec3 :: proc(x: vec3) -> (vec3)Sourcetan_vec4
tan_vec4 :: proc(x: vec4) -> (vec4)Sourcetanh_dvec2
tanh_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcetanh_dvec3
tanh_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcetanh_dvec4
tanh_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcetanh_f32
tanh_f32 :: proc(x: f32) -> (f32)Sourcetanh_f64
tanh_f64 :: proc(x: f64) -> (f64)Sourcetanh_vec2
tanh_vec2 :: proc(x: vec2) -> (vec2)Sourcetanh_vec3
tanh_vec3 :: proc(x: vec3) -> (vec3)Sourcetanh_vec4
tanh_vec4 :: proc(x: vec4) -> (vec4)Sourcetrace
trace :: proc(m) -> (trace: T)Sourcetrunc_dvec2
trunc_dvec2 :: proc(x: dvec2) -> (dvec2)Sourcetrunc_dvec3
trunc_dvec3 :: proc(x: dvec3) -> (dvec3)Sourcetrunc_dvec4
trunc_dvec4 :: proc(x: dvec4) -> (dvec4)Sourcetrunc_f32
trunc_f32 :: proc(x: f32) -> (f32)Sourcetrunc_f64
trunc_f64 :: proc(x: f64) -> (f64)Sourcetrunc_vec2
trunc_vec2 :: proc(x: vec2) -> (vec2)Sourcetrunc_vec3
trunc_vec3 :: proc(x: vec3) -> (vec3)Sourcetrunc_vec4
trunc_vec4 :: proc(x: vec4) -> (vec4)SourcevectorTripleProduct_dvec3
vectorTripleProduct_dvec3 :: proc(a: dvec3, b: dvec3, c: dvec3) -> (dvec3)SourcevectorTripleProduct_ivec3
vectorTripleProduct_ivec3 :: proc(a: ivec3, b: ivec3, c: ivec3) -> (ivec3)SourcevectorTripleProduct_vec3
vectorTripleProduct_vec3 :: proc(a: vec3, b: vec3, c: vec3) -> (vec3)SourceProcedure Groups
63abs
abs :: proc{abs_i32, abs_u32, abs_f32, abs_f64, abs_vec2, abs_vec3, abs_vec4, abs_dvec2, abs_dvec3, abs_dvec4, abs_ivec2, abs_ivec3, abs_ivec4, abs_uvec2, abs_uvec3, abs_uvec4}Sourceacos
acos :: proc{acos_f32, acos_f64, acos_vec2, acos_vec3, acos_vec4, acos_dvec2, acos_dvec3, acos_dvec4}Sourceacosh
acosh :: proc{acosh_f32, acosh_f64, acosh_vec2, acosh_vec3, acosh_vec4, acosh_dvec2, acosh_dvec3, acosh_dvec4}Sourceadjugate
adjugate :: proc{adjugate_matrix1x1, adjugate_matrix2x2, adjugate_matrix3x3, adjugate_matrix4x4}Sourceall
all :: proc{all_bool, all_bvec2, all_bvec3, all_bvec4}Sourceany
any :: proc{any_bool, any_bvec2, any_bvec3, any_bvec4}Sourceasin
asin :: proc{asin_f32, asin_f64, asin_vec2, asin_vec3, asin_vec4, asin_dvec2, asin_dvec3, asin_dvec4}Sourceasinh
asinh :: proc{asinh_f32, asinh_f64, asinh_vec2, asinh_vec3, asinh_vec4, asinh_dvec2, asinh_dvec3, asinh_dvec4}Sourceatan
atan :: proc{atan_f32, atan_f64, atan_vec2, atan_vec3, atan_vec4, atan_dvec2, atan_dvec3, atan_dvec4, atan2_f32, atan2_f64, atan2_vec2, atan2_vec3, atan2_vec4, atan2_dvec2, atan2_dvec3, atan2_dvec4}Sourceatan2
atan2 :: proc{atan2_f32, atan2_f64, atan2_vec2, atan2_vec3, atan2_vec4, atan2_dvec2, atan2_dvec3, atan2_dvec4}Sourceatanh
atanh :: proc{atanh_f32, atanh_f64, atanh_vec2, atanh_vec3, atanh_vec4, atanh_dvec2, atanh_dvec3, atanh_dvec4}Sourceceil
ceil :: proc{ceil_f32, ceil_f64, ceil_vec2, ceil_vec3, ceil_vec4, ceil_dvec2, ceil_dvec3, ceil_dvec4}Sourceclamp
clamp :: proc{clamp_i32, clamp_u32, clamp_f32, clamp_f64, clamp_vec2, clamp_vec3, clamp_vec4, clamp_dvec2, clamp_dvec3, clamp_dvec4, clamp_ivec2, clamp_ivec3, clamp_ivec4, clamp_uvec2, clamp_uvec3, clamp_uvec4}Sourcecofactor
cofactor :: proc{cofactor_matrix1x1, cofactor_matrix2x2, cofactor_matrix3x3, cofactor_matrix4x4}Sourcecos
cos :: proc{cos_f32, cos_f64, cos_vec2, cos_vec3, cos_vec4, cos_dvec2, cos_dvec3, cos_dvec4}Sourcecosh
cosh :: proc{cosh_f32, cosh_f64, cosh_vec2, cosh_vec3, cosh_vec4, cosh_dvec2, cosh_dvec3, cosh_dvec4}Sourcecross
cross :: proc{cross_vec3, cross_dvec3, cross_ivec3}Sourcedegrees
degrees :: proc{degrees_f32, degrees_f64, degrees_vec2, degrees_vec3, degrees_vec4, degrees_dvec2, degrees_dvec3, degrees_dvec4}Sourcedeterminant
determinant :: proc{determinant_matrix1x1, determinant_matrix2x2, determinant_matrix3x3, determinant_matrix4x4}Sourcedistance
distance :: proc{distance_f32, distance_f64, distance_vec2, distance_vec3, distance_vec4, distance_dvec2, distance_dvec3, distance_dvec4}Sourcedot
dot :: proc{dot_i32, dot_u32, dot_f32, dot_f64, dot_vec2, dot_vec3, dot_vec4, dot_dvec2, dot_dvec3, dot_dvec4, dot_ivec2, dot_ivec3, dot_ivec4, dot_uvec2, dot_uvec3, dot_uvec4, dot_quat, dot_dquat}Sourceequal
equal :: proc{equal_f32, equal_f64, equal_i32, equal_u32, equal_vec2, equal_dvec2, equal_ivec2, equal_uvec2, equal_vec3, equal_dvec3, equal_ivec3, equal_uvec3, equal_vec4, equal_dvec4, equal_ivec4, equal_uvec4}Sourceexp
exp :: proc{exp_f32, exp_f64, exp_vec2, exp_vec3, exp_vec4, exp_dvec2, exp_dvec3, exp_dvec4}Sourceexp2
exp2 :: proc{exp2_f32, exp2_f64, exp2_vec2, exp2_vec3, exp2_vec4, exp2_dvec2, exp2_dvec3, exp2_dvec4}SourcefaceForward
faceForward :: proc{faceForward_f32, faceForward_f64, faceForward_vec2, faceForward_vec3, faceForward_vec4, faceForward_dvec2, faceForward_dvec3, faceForward_dvec4}Sourcefloor
floor :: proc{floor_f32, floor_f64, floor_vec2, floor_vec3, floor_vec4, floor_dvec2, floor_dvec3, floor_dvec4}Sourcefract
fract :: proc{fract_f32, fract_f64, fract_vec2, fract_vec3, fract_vec4, fract_dvec2, fract_dvec3, fract_dvec4}SourcegreaterThan
greaterThan :: proc{greaterThan_f32, greaterThan_f64, greaterThan_i32, greaterThan_u32, greaterThan_vec2, greaterThan_dvec2, greaterThan_ivec2, greaterThan_uvec2, greaterThan_vec3, greaterThan_dvec3, greaterThan_ivec3, greaterThan_uvec3, greaterThan_vec4, greaterThan_dvec4, greaterThan_ivec4, greaterThan_uvec4}SourcegreaterThanEqual
greaterThanEqual :: proc{greaterThanEqual_f32, greaterThanEqual_f64, greaterThanEqual_i32, greaterThanEqual_u32, greaterThanEqual_vec2, greaterThanEqual_dvec2, greaterThanEqual_ivec2, greaterThanEqual_uvec2, greaterThanEqual_vec3, greaterThanEqual_dvec3, greaterThanEqual_ivec3, greaterThanEqual_uvec3, greaterThanEqual_vec4, greaterThanEqual_dvec4, greaterThanEqual_ivec4, greaterThanEqual_uvec4}Sourceinverse
inverse :: proc{inverse_matrix1x1, inverse_matrix2x2, inverse_matrix3x3, inverse_matrix4x4}Sourceinverse_transpose
inverse_transpose :: proc{inverse_transpose_matrix1x1, inverse_transpose_matrix2x2, inverse_transpose_matrix3x3, inverse_transpose_matrix4x4}Sourceinversesqrt
inversesqrt :: proc{inversesqrt_f32, inversesqrt_f64, inversesqrt_vec2, inversesqrt_vec3, inversesqrt_vec4, inversesqrt_dvec2, inversesqrt_dvec3, inversesqrt_dvec4}Sourcelength
length :: proc{length_f32, length_f64, length_vec2, length_vec3, length_vec4, length_dvec2, length_dvec3, length_dvec4, length_quat, length_dquat}Sourcelerp
lerp :: proc{lerp_f32, lerp_f64, lerp_vec2, lerp_vec3, lerp_vec4, lerp_dvec2, lerp_dvec3, lerp_dvec4}SourcelessThan
lessThan :: proc{lessThan_f32, lessThan_f64, lessThan_i32, lessThan_u32, lessThan_vec2, lessThan_dvec2, lessThan_ivec2, lessThan_uvec2, lessThan_vec3, lessThan_dvec3, lessThan_ivec3, lessThan_uvec3, lessThan_vec4, lessThan_dvec4, lessThan_ivec4, lessThan_uvec4}SourceVector Relational Procedures
lessThanEqual
lessThanEqual :: proc{lessThanEqual_f32, lessThanEqual_f64, lessThanEqual_i32, lessThanEqual_u32, lessThanEqual_vec2, lessThanEqual_dvec2, lessThanEqual_ivec2, lessThanEqual_uvec2, lessThanEqual_vec3, lessThanEqual_dvec3, lessThanEqual_ivec3, lessThanEqual_uvec3, lessThanEqual_vec4, lessThanEqual_dvec4, lessThanEqual_ivec4, lessThanEqual_uvec4}Sourcelog
log :: proc{log_f32, log_f64, log_vec2, log_vec3, log_vec4, log_dvec2, log_dvec3, log_dvec4}Sourcemax
max :: proc{max_i32, max_u32, max_f32, max_f64, max_vec2, max_vec3, max_vec4, max_dvec2, max_dvec3, max_dvec4, max_ivec2, max_ivec3, max_ivec4, max_uvec2, max_uvec3, max_uvec4}Sourcemin
min :: proc{min_i32, min_u32, min_f32, min_f64, min_vec2, min_vec3, min_vec4, min_dvec2, min_dvec3, min_dvec4, min_ivec2, min_ivec3, min_ivec4, min_uvec2, min_uvec3, min_uvec4}Sourcemix
mix :: proc{mix_f32, mix_f64, mix_vec2, mix_vec3, mix_vec4, mix_dvec2, mix_dvec3, mix_dvec4}Sourcemod
mod :: proc{mod_f32, mod_f64, mod_vec2, mod_vec3, mod_vec4, mod_dvec2, mod_dvec3, mod_dvec4}Sourcenlerp
nlerp :: proc{quatNlerp, dquatNlerp}Sourcenormalize
normalize :: proc{normalize_f32, normalize_f64, normalize_vec2, normalize_vec3, normalize_vec4, normalize_dvec2, normalize_dvec3, normalize_dvec4, normalize_quat, normalize_dquat}Sourcenot
not :: proc{not_bool, not_bvec2, not_bvec3, not_bvec4}SourcenotEqual
notEqual :: proc{notEqual_f32, notEqual_f64, notEqual_i32, notEqual_u32, notEqual_vec2, notEqual_dvec2, notEqual_ivec2, notEqual_uvec2, notEqual_vec3, notEqual_dvec3, notEqual_ivec3, notEqual_uvec3, notEqual_vec4, notEqual_dvec4, notEqual_ivec4, notEqual_uvec4}Sourcepow
pow :: proc{pow_f32, pow_f64, pow_vec2, pow_vec3, pow_vec4, pow_dvec2, pow_dvec3, pow_dvec4}Sourceradians
radians :: proc{radians_f32, radians_f64, radians_vec2, radians_vec3, radians_vec4, radians_dvec2, radians_dvec3, radians_dvec4}Sourcereflect
reflect :: proc{reflect_f32, reflect_f64, reflect_vec2, reflect_vec3, reflect_vec4, reflect_dvec2, reflect_dvec3, reflect_dvec4}Sourcerefract
refract :: proc{refract_f32, refract_f64, refract_vec2, refract_vec3, refract_vec4, refract_dvec2, refract_dvec3, refract_dvec4}Sourceround
round :: proc{round_f32, round_f64, round_vec2, round_vec3, round_vec4, round_dvec2, round_dvec3, round_dvec4}Sourcesaturate
saturate :: proc{saturate_i32, saturate_u32, saturate_f32, saturate_f64, saturate_vec2, saturate_vec3, saturate_vec4, saturate_dvec2, saturate_dvec3, saturate_dvec4, saturate_ivec2, saturate_ivec3, saturate_ivec4, saturate_uvec2, saturate_uvec3, saturate_uvec4}SourcescalarTripleProduct
scalarTripleProduct :: proc{scalarTripleProduct_vec3, scalarTripleProduct_dvec3, scalarTripleProduct_ivec3}Sourcesign
sign :: proc{sign_i32, sign_u32, sign_f32, sign_f64, sign_vec2, sign_vec3, sign_vec4, sign_dvec2, sign_dvec3, sign_dvec4, sign_ivec2, sign_ivec3, sign_ivec4, sign_uvec2, sign_uvec3, sign_uvec4}Sourcesin
sin :: proc{sin_f32, sin_f64, sin_vec2, sin_vec3, sin_vec4, sin_dvec2, sin_dvec3, sin_dvec4}Sourcesinh
sinh :: proc{sinh_f32, sinh_f64, sinh_vec2, sinh_vec3, sinh_vec4, sinh_dvec2, sinh_dvec3, sinh_dvec4}Sourceslerp
slerp :: proc{quatSlerp, dquatSlerp}Sourcesmoothstep
smoothstep :: proc{smoothstep_f32, smoothstep_f64, smoothstep_vec2, smoothstep_vec3, smoothstep_vec4, smoothstep_dvec2, smoothstep_dvec3, smoothstep_dvec4}Sourcesqrt
sqrt :: proc{sqrt_f32, sqrt_f64, sqrt_vec2, sqrt_vec3, sqrt_vec4, sqrt_dvec2, sqrt_dvec3, sqrt_dvec4}Sourcestep
step :: proc{step_f32, step_f64, step_vec2, step_vec3, step_vec4, step_dvec2, step_dvec3, step_dvec4}Sourcetan
tan :: proc{tan_f32, tan_f64, tan_vec2, tan_vec3, tan_vec4, tan_dvec2, tan_dvec3, tan_dvec4}Sourcetanh
tanh :: proc{tanh_f32, tanh_f64, tanh_vec2, tanh_vec3, tanh_vec4, tanh_dvec2, tanh_dvec3, tanh_dvec4}Sourcetrunc
trunc :: proc{trunc_f32, trunc_f64, trunc_vec2, trunc_vec3, trunc_vec4, trunc_dvec2, trunc_dvec3, trunc_dvec4}SourcevectorTripleProduct
vectorTripleProduct :: proc{vectorTripleProduct_vec3, vectorTripleProduct_dvec3, vectorTripleProduct_ivec3}Source