core
math
linalg
glsl
package core:math/linalg/glsl
Overview
GLSL-like mathematics library plus numerous other utility procedures.
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters
Related Procedures With Returns
dmat2x2 :: matrix [2, 2]f64
dmat2x3 :: matrix [3, 2]f64
dmat2x4 :: matrix [4, 2]f64
Related Procedures With Parameters
dmat3x2 :: matrix [2, 3]f64
dmat3x3 :: matrix [3, 3]f64
Related Procedures With Parameters
dmat3x4 :: matrix [4, 3]f64
Related Procedures With Parameters
Related Procedures With Returns
dmat4x2 :: matrix [2, 4]f64
dmat4x3 :: matrix [3, 4]f64
dmat4x4 :: matrix [4, 4]f64
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters 101
Related Procedures With Parameters 114
Related Procedures With Parameters 101
Related Procedures With Parameters
Related Procedures With Parameters
Related Procedures With Parameters
Odin matrices are stored internally as Column-Major, which matches OpenGL/GLSL by default
mat2x2 :: matrix [2, 2]f32
mat2x3 :: matrix [3, 2]f32
mat2x4 :: matrix [4, 2]f32
Related Procedures With Parameters
mat3x2 :: matrix [2, 3]f32
IMPORTANT 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 :: matrix [3, 3]f32
Related Procedures With Parameters
mat3x4 :: matrix [4, 3]f32
Related Procedures With Parameters
Related Procedures With Returns
mat4x2 :: matrix [2, 4]f32
mat4x3 :: matrix [3, 4]f32
mat4x4 :: matrix [4, 4]f32
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters
Related Procedures With Returns
Related Procedures With Parameters
Related Procedures With Parameters
Related Procedures With Parameters
Related Procedures With Parameters 101
Related Procedures With Parameters 114
Related Procedures With Parameters 101
E :: 2.71828182845904523536
LN10 :: 2.30258509299404568401799145468436421
LN2 :: 0.693147180559945309417232121458176568
PI :: 3.14159265358979323846264338327950288
SQRT_FIVE :: 2.23606797749978969640917366873127623
SQRT_THREE :: 1.73205080756887729352744634150587236
SQRT_TWO :: 1.41421356237309504880168872420969808
TAU :: 6.28318530717958647692528676655900576
This section is empty.
@(require_results)
abs_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
abs_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
abs_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
abs_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
abs_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
abs_i32 :: proc "c" (x: i32 ) -> i32 {…}
@(require_results)
abs_ivec2 :: proc "c" (x: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
abs_ivec3 :: proc "c" (x: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
abs_ivec4 :: proc "c" (x: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
abs_u32 :: proc "c" (x: u32 ) -> u32 {…}
@(require_results)
abs_uvec2 :: proc "c" (x: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
abs_uvec3 :: proc "c" (x: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
abs_uvec4 :: proc "c" (x: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
abs_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
abs_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
abs_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
acos_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
acos_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
acos_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
acos_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
acos_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
acos_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
acos_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
acos_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
acosh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
acosh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
acosh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
acosh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
acosh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
acosh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
acosh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
acosh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
adjugate_matrix1x1 :: proc "contextless" (x: $M/matrix [1, 1]$T) -> (y: M) {…}
@(require_results)
adjugate_matrix2x2 :: proc "contextless" (x: $M/matrix [2, 2]$T) -> (y: M) {…}
@(require_results)
adjugate_matrix3x3 :: proc "contextless" (m: $M/matrix [3, 3]$T) -> (y: M) {…}
@(require_results)
adjugate_matrix4x4 :: proc "contextless" (x: $M/matrix [4, 4]$T) -> (y: M) {…}
@(require_results)
all_bool :: proc "c" (v: bool ) -> bool {…}
@(require_results)
all_bvec2 :: proc "c" (v: [2 ]bool ) -> bool {…}
@(require_results)
all_bvec3 :: proc "c" (v: [3 ]bool ) -> bool {…}
@(require_results)
all_bvec4 :: proc "c" (v: [4 ]bool ) -> bool {…}
@(require_results)
any_bool :: proc "c" (v: bool ) -> bool {…}
@(require_results)
any_bvec2 :: proc "c" (v: [2 ]bool ) -> bool {…}
@(require_results)
any_bvec3 :: proc "c" (v: [3 ]bool ) -> bool {…}
@(require_results)
any_bvec4 :: proc "c" (v: [4 ]bool ) -> bool {…}
@(require_results)
asin_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
asin_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
asin_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
asin_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
asin_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
asin_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
asin_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
asin_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
asinh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
asinh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
asinh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
asinh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
asinh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
asinh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
asinh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
asinh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
atan2_dvec2 :: proc "c" (y, x: [2 ]f64 ) -> [2 ]f64 {…}
Related Procedure Groups
@(require_results)
atan2_dvec3 :: proc "c" (y, x: [3 ]f64 ) -> [3 ]f64 {…}
Related Procedure Groups
@(require_results)
atan2_dvec4 :: proc "c" (y, x: [4 ]f64 ) -> [4 ]f64 {…}
Related Procedure Groups
@(require_results)
atan2_f32 :: proc "c" (y, x: f32 ) -> f32 {…}
Related Procedure Groups
@(require_results)
atan2_f64 :: proc "c" (y, x: f64 ) -> f64 {…}
Related Procedure Groups
@(require_results)
atan2_vec2 :: proc "c" (y, x: [2 ]f32 ) -> [2 ]f32 {…}
Related Procedure Groups
@(require_results)
atan2_vec3 :: proc "c" (y, x: [3 ]f32 ) -> [3 ]f32 {…}
Related Procedure Groups
@(require_results)
atan2_vec4 :: proc "c" (y, x: [4 ]f32 ) -> [4 ]f32 {…}
Related Procedure Groups
@(require_results)
atan_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
atan_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
atan_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
atan_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
atan_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
atan_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
atan_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
atan_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
atanh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
atanh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
atanh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
atanh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
atanh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
atanh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
atanh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
atanh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
ceil_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
ceil_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
ceil_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
ceil_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
ceil_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
ceil_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
ceil_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
ceil_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
clamp_dvec2 :: proc "c" (x, y, z: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
clamp_dvec3 :: proc "c" (x, y, z: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
clamp_dvec4 :: proc "c" (x, y, z: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
clamp_f32 :: proc "c" (x, y, z: f32 ) -> f32 {…}
@(require_results)
clamp_f64 :: proc "c" (x, y, z: f64 ) -> f64 {…}
@(require_results)
clamp_i32 :: proc "c" (x, y, z: i32 ) -> i32 {…}
@(require_results)
clamp_ivec2 :: proc "c" (x, y, z: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
clamp_ivec3 :: proc "c" (x, y, z: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
clamp_ivec4 :: proc "c" (x, y, z: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
clamp_u32 :: proc "c" (x, y, z: u32 ) -> u32 {…}
@(require_results)
clamp_uvec2 :: proc "c" (x, y, z: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
clamp_uvec3 :: proc "c" (x, y, z: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
clamp_uvec4 :: proc "c" (x, y, z: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
clamp_vec2 :: proc "c" (x, y, z: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
clamp_vec3 :: proc "c" (x, y, z: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
clamp_vec4 :: proc "c" (x, y, z: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
cofactor_matrix1x1 :: proc "contextless" (x: $M/matrix [1, 1]$T) -> (y: M) {…}
@(require_results)
cofactor_matrix2x2 :: proc "contextless" (x: $M/matrix [2, 2]$T) -> (y: M) {…}
@(require_results)
cofactor_matrix3x3 :: proc "contextless" (m: $M/matrix [3, 3]$T) -> (y: M) {…}
@(require_results)
cofactor_matrix4x4 :: proc "contextless" (x: $M/matrix [4, 4]$T) -> (y: M) {…}
@(require_results)
cos_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
cos_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
cos_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
cos_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
cos_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
cos_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
cos_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
cos_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
cosh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
cosh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
cosh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
cosh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
cosh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
cosh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
cosh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
cosh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
cross_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> (c: [3 ]f64 ) {…}
@(require_results)
cross_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> (c: [3 ]i32 ) {…}
@(require_results)
cross_vec3 :: proc "c" (a, b: [3 ]f32 ) -> (c: [3 ]f32 ) {…}
@(require_results)
degrees_dvec2 :: proc "c" (radians: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
degrees_dvec3 :: proc "c" (radians: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
degrees_dvec4 :: proc "c" (radians: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
degrees_f32 :: proc "c" (radians: f32 ) -> f32 {…}
@(require_results)
degrees_f64 :: proc "c" (radians: f64 ) -> f64 {…}
@(require_results)
degrees_vec2 :: proc "c" (radians: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
degrees_vec3 :: proc "c" (radians: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
degrees_vec4 :: proc "c" (radians: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
determinant_matrix1x1 :: proc "contextless" (m: $M/matrix [1, 1]$T) -> (det: T) {…}
@(require_results)
determinant_matrix2x2 :: proc "contextless" (m: $M/matrix [2, 2]$T) -> (det: T) {…}
@(require_results)
determinant_matrix3x3 :: proc "contextless" (m: $M/matrix [3, 3]$T) -> (det: T) {…}
@(require_results)
determinant_matrix4x4 :: proc "contextless" (m: $M/matrix [4, 4]$T) -> (det: T) {…}
@(require_results)
distance_dvec2 :: proc "c" (x, y: [2 ]f64 ) -> f64 {…}
@(require_results)
distance_dvec3 :: proc "c" (x, y: [3 ]f64 ) -> f64 {…}
@(require_results)
distance_dvec4 :: proc "c" (x, y: [4 ]f64 ) -> f64 {…}
@(require_results)
distance_f32 :: proc "c" (x, y: f32 ) -> f32 {…}
@(require_results)
distance_f64 :: proc "c" (x, y: f64 ) -> f64 {…}
@(require_results)
distance_vec2 :: proc "c" (x, y: [2 ]f32 ) -> f32 {…}
@(require_results)
distance_vec3 :: proc "c" (x, y: [3 ]f32 ) -> f32 {…}
@(require_results)
distance_vec4 :: proc "c" (x, y: [4 ]f32 ) -> f32 {…}
@(require_results)
dmat4FromDquat :: proc "c" (q: quaternion256 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4LookAt :: proc "c" (eye, centre, up: [3 ]f64 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4Orientation :: proc "c" (normal, up: [3 ]f64 ) -> matrix [4, 4]f64 {…}
@(require_results)
dmat4Ortho3d :: proc "c" (
left, right, bottom, top, near,
far: f64 ,
) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4Perspective :: proc "c" (fovy, aspect, near, far: f64 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4PerspectiveInfinite :: proc "c" (fovy, aspect, near: f64 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4Rotate :: proc "c" (v: [3 ]f64 , radians: f64 ) -> (rot: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4Scale :: proc "c" (v: [3 ]f64 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dmat4Translate :: proc "c" (v: [3 ]f64 ) -> (m: matrix [4, 4]f64 ) {…}
@(require_results)
dot_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> f64 {…}
@(require_results)
dot_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> f64 {…}
@(require_results)
dot_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> f64 {…}
@(require_results)
dot_f32 :: proc "c" (a, b: f32 ) -> f32 {…}
@(require_results)
dot_f64 :: proc "c" (a, b: f64 ) -> f64 {…}
@(require_results)
dot_i32 :: proc "c" (a, b: i32 ) -> i32 {…}
@(require_results)
dot_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> i32 {…}
@(require_results)
dot_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> i32 {…}
@(require_results)
dot_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> i32 {…}
@(require_results)
dot_u32 :: proc "c" (a, b: u32 ) -> u32 {…}
@(require_results)
dot_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> u32 {…}
@(require_results)
dot_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> u32 {…}
@(require_results)
dot_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> u32 {…}
@(require_results)
dot_vec2 :: proc "c" (a, b: [2 ]f32 ) -> f32 {…}
@(require_results)
dot_vec3 :: proc "c" (a, b: [3 ]f32 ) -> f32 {…}
@(require_results)
dot_vec4 :: proc "c" (a, b: [4 ]f32 ) -> f32 {…}
@(require_results)
dquatAxisAngle :: proc "c" (axis: [3 ]f64 , radians: f64 ) -> (q: quaternion256 ) {…}
@(require_results)
dquatFromDmat4 :: proc "c" (m: matrix [4, 4]f64 ) -> (q: quaternion256 ) {…}
@(require_results)
dquatFromdMat3 :: proc "c" (m: matrix [3, 3]f64 ) -> (q: quaternion256 ) {…}
@(require_results)
equal_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
equal_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
equal_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
equal_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
equal_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
equal_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
equal_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
equal_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
equal_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
equal_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
equal_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
equal_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
equal_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
equal_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
equal_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
equal_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
exp2_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
exp2_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
exp2_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
exp2_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
exp2_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
exp2_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
exp2_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
exp2_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
exp_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
exp_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
exp_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
exp_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
exp_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
exp_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
exp_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
exp_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
faceForward_dvec2 :: proc "c" (N, I, Nref: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
faceForward_dvec3 :: proc "c" (N, I, Nref: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
faceForward_dvec4 :: proc "c" (N, I, Nref: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
faceForward_f32 :: proc "c" (N, I, Nref: f32 ) -> f32 {…}
@(require_results)
faceForward_f64 :: proc "c" (N, I, Nref: f64 ) -> f64 {…}
@(require_results)
faceForward_vec2 :: proc "c" (N, I, Nref: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
faceForward_vec3 :: proc "c" (N, I, Nref: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
faceForward_vec4 :: proc "c" (N, I, Nref: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
floor_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
floor_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
floor_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
floor_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
floor_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
floor_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
floor_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
floor_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
fract_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
fract_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
fract_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
fract_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
fract_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
fract_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
fract_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
fract_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
greaterThanEqual_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
greaterThanEqual_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
greaterThanEqual_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
greaterThanEqual_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
greaterThanEqual_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
greaterThanEqual_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
greaterThanEqual_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
greaterThanEqual_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
greaterThanEqual_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
greaterThanEqual_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
greaterThanEqual_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
greaterThanEqual_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
greaterThanEqual_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
greaterThanEqual_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
greaterThanEqual_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
greaterThanEqual_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
greaterThan_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
greaterThan_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
greaterThan_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
greaterThan_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
greaterThan_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
greaterThan_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
greaterThan_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
greaterThan_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
greaterThan_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
greaterThan_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
greaterThan_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
greaterThan_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
greaterThan_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
greaterThan_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
greaterThan_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
greaterThan_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
hermitian_adjoint :: proc "contextless" (m: $M/matrix [0, 0]$T) -> M {…}
@(require_results)
identity :: proc "c" ($M: typeid /matrix [0, 0]$T) -> M {…}
@(require_results)
inverse_dmat2 :: proc "c" (m: matrix [2, 2]f64 ) -> matrix [2, 2]f64 {…}
@(require_results)
inverse_dmat3 :: proc "c" (m: matrix [3, 3]f64 ) -> matrix [3, 3]f64 {…}
@(require_results)
inverse_dmat4 :: proc "c" (m: matrix [4, 4]f64 ) -> matrix [4, 4]f64 {…}
@(require_results)
inverse_mat2 :: proc "c" (m: matrix [2, 2]f32 ) -> matrix [2, 2]f32 {…}
@(require_results)
inverse_mat3 :: proc "c" (m: matrix [3, 3]f32 ) -> matrix [3, 3]f32 {…}
@(require_results)
inverse_mat4 :: proc "c" (m: matrix [4, 4]f32 ) -> matrix [4, 4]f32 {…}
@(require_results)
inverse_matrix1x1 :: proc "contextless" (x: $M/matrix [1, 1]$T) -> (y: M) {…}
@(require_results)
inverse_matrix2x2 :: proc "contextless" (x: $M/matrix [2, 2]$T) -> (y: M) {…}
@(require_results)
inverse_matrix3x3 :: proc "contextless" (x: $M/matrix [3, 3]$T) -> (y: M) {…}
@(require_results)
inverse_matrix4x4 :: proc "contextless" (x: $M/matrix [4, 4]$T) -> (y: M) {…}
@(require_results)
inverse_transpose_matrix1x1 :: proc "contextless" (x: $M/matrix [1, 1]$T) -> (y: M) {…}
@(require_results)
inverse_transpose_matrix2x2 :: proc "contextless" (x: $M/matrix [2, 2]$T) -> (y: M) {…}
@(require_results)
inverse_transpose_matrix3x3 :: proc "contextless" (x: $M/matrix [3, 3]$T) -> (y: M) {…}
@(require_results)
inverse_transpose_matrix4x4 :: proc "contextless" (x: $M/matrix [4, 4]$T) -> (y: M) {…}
@(require_results)
inversesqrt_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
Related Procedure Groups
@(require_results)
inversesqrt_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
Related Procedure Groups
@(require_results)
inversesqrt_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
Related Procedure Groups
@(require_results)
inversesqrt_f32 :: proc "c" (x: f32 ) -> f32 {…}
Related Procedure Groups
@(require_results)
inversesqrt_f64 :: proc "c" (x: f64 ) -> f64 {…}
Related Procedure Groups
@(require_results)
inversesqrt_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
Related Procedure Groups
@(require_results)
inversesqrt_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
Related Procedure Groups
@(require_results)
inversesqrt_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
Related Procedure Groups
@(require_results)
length_dvec2 :: proc "c" (x: [2 ]f64 ) -> f64 {…}
@(require_results)
length_dvec3 :: proc "c" (x: [3 ]f64 ) -> f64 {…}
@(require_results)
length_dvec4 :: proc "c" (x: [4 ]f64 ) -> f64 {…}
@(require_results)
length_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
length_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
length_vec2 :: proc "c" (x: [2 ]f32 ) -> f32 {…}
@(require_results)
length_vec3 :: proc "c" (x: [3 ]f32 ) -> f32 {…}
@(require_results)
length_vec4 :: proc "c" (x: [4 ]f32 ) -> f32 {…}
@(require_results)
lerp_dvec2 :: proc "c" (x, y, t: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
lerp_dvec3 :: proc "c" (x, y, t: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
lerp_dvec4 :: proc "c" (x, y, t: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
lerp_f32 :: proc "c" (x, y, t: f32 ) -> f32 {…}
@(require_results)
lerp_f64 :: proc "c" (x, y, t: f64 ) -> f64 {…}
@(require_results)
lerp_vec2 :: proc "c" (x, y, t: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
lerp_vec3 :: proc "c" (x, y, t: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
lerp_vec4 :: proc "c" (x, y, t: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
lessThanEqual_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
lessThanEqual_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
lessThanEqual_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
lessThanEqual_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
lessThanEqual_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
lessThanEqual_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
lessThanEqual_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
lessThanEqual_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
lessThanEqual_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
lessThanEqual_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
lessThanEqual_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
lessThanEqual_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
lessThanEqual_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
lessThanEqual_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
lessThanEqual_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
lessThanEqual_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
lessThan_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
lessThan_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
lessThan_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
lessThan_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
lessThan_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
lessThan_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
lessThan_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
lessThan_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
lessThan_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
lessThan_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
lessThan_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
lessThan_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
lessThan_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
lessThan_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
lessThan_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
lessThan_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
log_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
log_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
log_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
log_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
log_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
log_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
log_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
log_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
mat4FromQuat :: proc "c" (q: quaternion128 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4LookAt :: proc "c" (eye, centre, up: [3 ]f32 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4Orientation :: proc "c" (normal, up: [3 ]f32 ) -> matrix [4, 4]f32 {…}
@(require_results)
mat4Ortho3d :: proc "c" (
left, right, bottom, top, near,
far: f32 ,
) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4Perspective :: proc "c" (fovy, aspect, near, far: f32 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4PerspectiveInfinite :: proc "c" (fovy, aspect, near: f32 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4Rotate :: proc "c" (v: [3 ]f32 , radians: f32 ) -> (rot: matrix [4, 4]f32 ) {…}
@(require_results)
mat4Scale :: proc "c" (v: [3 ]f32 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
mat4Translate :: proc "c" (v: [3 ]f32 ) -> (m: matrix [4, 4]f32 ) {…}
@(require_results)
matrix_minor :: proc "contextless" (
m: $M/matrix [0, 0]$T,
#any_int row,
#any_int column: int ,
) -> (minor: T) {…}
@(require_results)
max_dvec2 :: proc "c" (x, y: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
max_dvec3 :: proc "c" (x, y: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
max_dvec4 :: proc "c" (x, y: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
max_f32 :: proc "c" (x, y: f32 ) -> f32 {…}
@(require_results)
max_f64 :: proc "c" (x, y: f64 ) -> f64 {…}
@(require_results)
max_i32 :: proc "c" (x, y: i32 ) -> i32 {…}
@(require_results)
max_ivec2 :: proc "c" (x, y: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
max_ivec3 :: proc "c" (x, y: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
max_ivec4 :: proc "c" (x, y: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
max_u32 :: proc "c" (x, y: u32 ) -> u32 {…}
@(require_results)
max_uvec2 :: proc "c" (x, y: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
max_uvec3 :: proc "c" (x, y: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
max_uvec4 :: proc "c" (x, y: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
max_vec2 :: proc "c" (x, y: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
max_vec3 :: proc "c" (x, y: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
max_vec4 :: proc "c" (x, y: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
min_dvec2 :: proc "c" (x, y: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
min_dvec3 :: proc "c" (x, y: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
min_dvec4 :: proc "c" (x, y: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
min_f32 :: proc "c" (x, y: f32 ) -> f32 {…}
@(require_results)
min_f64 :: proc "c" (x, y: f64 ) -> f64 {…}
@(require_results)
min_i32 :: proc "c" (x, y: i32 ) -> i32 {…}
@(require_results)
min_ivec2 :: proc "c" (x, y: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
min_ivec3 :: proc "c" (x, y: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
min_ivec4 :: proc "c" (x, y: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
min_u32 :: proc "c" (x, y: u32 ) -> u32 {…}
@(require_results)
min_uvec2 :: proc "c" (x, y: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
min_uvec3 :: proc "c" (x, y: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
min_uvec4 :: proc "c" (x, y: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
min_vec2 :: proc "c" (x, y: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
min_vec3 :: proc "c" (x, y: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
min_vec4 :: proc "c" (x, y: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
mix_dvec2 :: proc "c" (x, y, t: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
mix_dvec3 :: proc "c" (x, y, t: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
mix_dvec4 :: proc "c" (x, y, t: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
mix_f32 :: proc "c" (x, y, t: f32 ) -> f32 {…}
@(require_results)
mix_f64 :: proc "c" (x, y, t: f64 ) -> f64 {…}
@(require_results)
mix_vec2 :: proc "c" (x, y, t: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
mix_vec3 :: proc "c" (x, y, t: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
mix_vec4 :: proc "c" (x, y, t: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
mod_dvec2 :: proc "c" (x, y: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
mod_dvec3 :: proc "c" (x, y: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
mod_dvec4 :: proc "c" (x, y: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
mod_f32 :: proc "c" (x, y: f32 ) -> f32 {…}
@(require_results)
mod_f64 :: proc "c" (x, y: f64 ) -> f64 {…}
@(require_results)
mod_vec2 :: proc "c" (x, y: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
mod_vec3 :: proc "c" (x, y: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
mod_vec4 :: proc "c" (x, y: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
normalize_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
normalize_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
normalize_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
normalize_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
normalize_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
normalize_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
normalize_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
normalize_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
notEqual_dvec2 :: proc "c" (a, b: [2 ]f64 ) -> [2 ]bool {…}
@(require_results)
notEqual_dvec3 :: proc "c" (a, b: [3 ]f64 ) -> [3 ]bool {…}
@(require_results)
notEqual_dvec4 :: proc "c" (a, b: [4 ]f64 ) -> [4 ]bool {…}
@(require_results)
notEqual_f32 :: proc "c" (a, b: f32 ) -> bool {…}
@(require_results)
notEqual_f64 :: proc "c" (a, b: f64 ) -> bool {…}
@(require_results)
notEqual_i32 :: proc "c" (a, b: i32 ) -> bool {…}
@(require_results)
notEqual_ivec2 :: proc "c" (a, b: [2 ]i32 ) -> [2 ]bool {…}
@(require_results)
notEqual_ivec3 :: proc "c" (a, b: [3 ]i32 ) -> [3 ]bool {…}
@(require_results)
notEqual_ivec4 :: proc "c" (a, b: [4 ]i32 ) -> [4 ]bool {…}
@(require_results)
notEqual_u32 :: proc "c" (a, b: u32 ) -> bool {…}
@(require_results)
notEqual_uvec2 :: proc "c" (a, b: [2 ]u32 ) -> [2 ]bool {…}
@(require_results)
notEqual_uvec3 :: proc "c" (a, b: [3 ]u32 ) -> [3 ]bool {…}
@(require_results)
notEqual_uvec4 :: proc "c" (a, b: [4 ]u32 ) -> [4 ]bool {…}
@(require_results)
notEqual_vec2 :: proc "c" (a, b: [2 ]f32 ) -> [2 ]bool {…}
@(require_results)
notEqual_vec3 :: proc "c" (a, b: [3 ]f32 ) -> [3 ]bool {…}
@(require_results)
notEqual_vec4 :: proc "c" (a, b: [4 ]f32 ) -> [4 ]bool {…}
@(require_results)
not_bool :: proc "c" (v: bool ) -> bool {…}
@(require_results)
not_bvec2 :: proc "c" (v: [2 ]bool ) -> [2 ]bool {…}
@(require_results)
not_bvec3 :: proc "c" (v: [3 ]bool ) -> [3 ]bool {…}
@(require_results)
not_bvec4 :: proc "c" (v: [4 ]bool ) -> [4 ]bool {…}
@(require_results)
pow_dvec2 :: proc "c" (x, y: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
pow_dvec3 :: proc "c" (x, y: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
pow_dvec4 :: proc "c" (x, y: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
pow_f32 :: proc "c" (x, y: f32 ) -> f32 {…}
@(require_results)
pow_f64 :: proc "c" (x, y: f64 ) -> f64 {…}
@(require_results)
pow_vec2 :: proc "c" (x, y: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
pow_vec3 :: proc "c" (x, y: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
pow_vec4 :: proc "c" (x, y: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
quatAxisAngle :: proc "c" (axis: [3 ]f32 , radians: f32 ) -> (q: quaternion128 ) {…}
@(require_results)
quatFromMat3 :: proc "c" (m: matrix [3, 3]f32 ) -> (q: quaternion128 ) {…}
@(require_results)
quatFromMat4 :: proc "c" (m: matrix [4, 4]f32 ) -> (q: quaternion128 ) {…}
@(require_results)
radians_dvec2 :: proc "c" (degrees: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
radians_dvec3 :: proc "c" (degrees: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
radians_dvec4 :: proc "c" (degrees: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
radians_f32 :: proc "c" (degrees: f32 ) -> f32 {…}
@(require_results)
radians_f64 :: proc "c" (degrees: f64 ) -> f64 {…}
@(require_results)
radians_vec2 :: proc "c" (degrees: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
radians_vec3 :: proc "c" (degrees: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
radians_vec4 :: proc "c" (degrees: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
reflect_dvec2 :: proc "c" (I, N: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
reflect_dvec3 :: proc "c" (I, N: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
reflect_dvec4 :: proc "c" (I, N: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
reflect_f32 :: proc "c" (I, N: f32 ) -> f32 {…}
@(require_results)
reflect_f64 :: proc "c" (I, N: f64 ) -> f64 {…}
@(require_results)
reflect_vec2 :: proc "c" (I, N: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
reflect_vec3 :: proc "c" (I, N: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
reflect_vec4 :: proc "c" (I, N: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
refract_dvec2 :: proc "c" (i, n, eta: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
refract_dvec3 :: proc "c" (i, n, eta: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
refract_dvec4 :: proc "c" (i, n, eta: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
refract_f32 :: proc "c" (i, n, eta: f32 ) -> f32 {…}
@(require_results)
refract_f64 :: proc "c" (i, n, eta: f64 ) -> f64 {…}
@(require_results)
refract_vec2 :: proc "c" (i, n, eta: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
refract_vec3 :: proc "c" (i, n, eta: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
refract_vec4 :: proc "c" (i, n, eta: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
round_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
round_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
round_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
round_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
round_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
round_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
round_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
round_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
saturate_dvec2 :: proc "c" (v: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
saturate_dvec3 :: proc "c" (v: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
saturate_dvec4 :: proc "c" (v: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
saturate_f32 :: proc "c" (v: f32 ) -> f32 {…}
@(require_results)
saturate_f64 :: proc "c" (v: f64 ) -> f64 {…}
@(require_results)
saturate_i32 :: proc "c" (v: i32 ) -> i32 {…}
@(require_results)
saturate_ivec2 :: proc "c" (v: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
saturate_ivec3 :: proc "c" (v: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
saturate_ivec4 :: proc "c" (v: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
saturate_u32 :: proc "c" (v: u32 ) -> u32 {…}
@(require_results)
saturate_uvec2 :: proc "c" (v: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
saturate_uvec3 :: proc "c" (v: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
saturate_uvec4 :: proc "c" (v: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
saturate_vec2 :: proc "c" (v: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
saturate_vec3 :: proc "c" (v: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
saturate_vec4 :: proc "c" (v: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
scalarTripleProduct_dvec3 :: proc "c" (a, b, c: [3 ]f64 ) -> f64 {…}
@(require_results)
scalarTripleProduct_ivec3 :: proc "c" (a, b, c: [3 ]i32 ) -> i32 {…}
@(require_results)
scalarTripleProduct_vec3 :: proc "c" (a, b, c: [3 ]f32 ) -> f32 {…}
@(require_results)
sign_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
sign_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
sign_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
sign_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
sign_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
sign_i32 :: proc "c" (x: i32 ) -> i32 {…}
@(require_results)
sign_ivec2 :: proc "c" (x: [2 ]i32 ) -> [2 ]i32 {…}
@(require_results)
sign_ivec3 :: proc "c" (x: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
sign_ivec4 :: proc "c" (x: [4 ]i32 ) -> [4 ]i32 {…}
@(require_results)
sign_u32 :: proc "c" (x: u32 ) -> u32 {…}
@(require_results)
sign_uvec2 :: proc "c" (x: [2 ]u32 ) -> [2 ]u32 {…}
@(require_results)
sign_uvec3 :: proc "c" (x: [3 ]u32 ) -> [3 ]u32 {…}
@(require_results)
sign_uvec4 :: proc "c" (x: [4 ]u32 ) -> [4 ]u32 {…}
@(require_results)
sign_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
sign_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
sign_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
sin_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
sin_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
sin_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
sin_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
sin_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
sin_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
sin_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
sin_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
sinh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
sinh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
sinh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
sinh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
sinh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
sinh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
sinh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
sinh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
smoothstep_dvec2 :: proc "c" (edge0, edge1, x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
smoothstep_dvec3 :: proc "c" (edge0, edge1, x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
smoothstep_dvec4 :: proc "c" (edge0, edge1, x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
smoothstep_f32 :: proc "c" (edge0, edge1, x: f32 ) -> f32 {…}
@(require_results)
smoothstep_f64 :: proc "c" (edge0, edge1, x: f64 ) -> f64 {…}
@(require_results)
smoothstep_vec2 :: proc "c" (edge0, edge1, x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
smoothstep_vec3 :: proc "c" (edge0, edge1, x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
smoothstep_vec4 :: proc "c" (edge0, edge1, x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
sqrt_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
sqrt_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
sqrt_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
sqrt_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
sqrt_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
sqrt_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
sqrt_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
sqrt_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
step_dvec2 :: proc "c" (edge, x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
step_dvec3 :: proc "c" (edge, x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
step_dvec4 :: proc "c" (edge, x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
step_f32 :: proc "c" (edge, x: f32 ) -> f32 {…}
@(require_results)
step_f64 :: proc "c" (edge, x: f64 ) -> f64 {…}
@(require_results)
step_vec2 :: proc "c" (edge, x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
step_vec3 :: proc "c" (edge, x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
step_vec4 :: proc "c" (edge, x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
tan_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
tan_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
tan_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
tan_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
tan_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
tan_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
tan_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
tan_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
tanh_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
tanh_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
tanh_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
tanh_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
tanh_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
tanh_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
tanh_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
tanh_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
trace :: proc "contextless" (m: $M/matrix [0, 0]$T) -> (trace: T) {…}
transpose :: intrinsics .transpose transpose :: proc (m: $M/matrix [$R, $C]$E) -> matrix [C, R]E {…}
@(require_results)
trunc_dvec2 :: proc "c" (x: [2 ]f64 ) -> [2 ]f64 {…}
@(require_results)
trunc_dvec3 :: proc "c" (x: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
trunc_dvec4 :: proc "c" (x: [4 ]f64 ) -> [4 ]f64 {…}
@(require_results)
trunc_f32 :: proc "c" (x: f32 ) -> f32 {…}
@(require_results)
trunc_f64 :: proc "c" (x: f64 ) -> f64 {…}
@(require_results)
trunc_vec2 :: proc "c" (x: [2 ]f32 ) -> [2 ]f32 {…}
@(require_results)
trunc_vec3 :: proc "c" (x: [3 ]f32 ) -> [3 ]f32 {…}
@(require_results)
trunc_vec4 :: proc "c" (x: [4 ]f32 ) -> [4 ]f32 {…}
@(require_results)
vectorTripleProduct_dvec3 :: proc "c" (a, b, c: [3 ]f64 ) -> [3 ]f64 {…}
@(require_results)
vectorTripleProduct_ivec3 :: proc "c" (a, b, c: [3 ]i32 ) -> [3 ]i32 {…}
@(require_results)
vectorTripleProduct_vec3 :: proc "c" (a, b, c: [3 ]f32 ) -> [3 ]f32 {…}
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 ,
}
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 ,
}
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 ,
}
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 ,
}
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 ,
}
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 ,
}
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 ,
}
length :: proc {
length_f32 ,
length_f64 ,
length_vec2 ,
length_vec3 ,
length_vec4 ,
length_dvec2 ,
length_dvec3 ,
length_dvec4 ,
length_quat ,
length_dquat ,
}
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 ,
}
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 ,
}
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 ,
}
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 ,
}
normalize :: proc {
normalize_f32 ,
normalize_f64 ,
normalize_vec2 ,
normalize_vec3 ,
normalize_vec4 ,
normalize_dvec2 ,
normalize_dvec3 ,
normalize_dvec4 ,
normalize_quat ,
normalize_dquat ,
}
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 ,
}
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 ,
}
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 ,
}
Source Files
Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-10 00:25:51.511820200 +0000 UTC