core/math/linalg
linalg
Types
77Euler_Angle_Order
Euler_Angle_Order :: enum int {
// Tait-Bryan
XYZ = 0,
XZY = 1,
YXZ = 2,
YZX = 3,
ZXY = 4,
ZYX = 5,
// Proper Euler
XYX = 6,
XZX = 7,
YXY = 8,
YZY = 9,
ZXZ = 10,
ZYZ = 11,
}SourceMatrix1f16
Matrix1f16 :: Matrix1x1f16SourceMatrix1f32
Matrix1f32 :: Matrix1x1f32SourceMatrix1f64
Matrix1f64 :: Matrix1x1f64SourceMatrix1x1f16
Matrix1x1f16 :: matrix[1, 1]f16SourceMatrix1x1f32
Matrix1x1f32 :: matrix[1, 1]f32SourceMatrix1x1f64
Matrix1x1f64 :: matrix[1, 1]f64SourceMatrix1x2f16
Matrix1x2f16 :: matrix[1, 2]f16SourceMatrix1x2f32
Matrix1x2f32 :: matrix[1, 2]f32SourceMatrix1x2f64
Matrix1x2f64 :: matrix[1, 2]f64SourceMatrix1x3f16
Matrix1x3f16 :: matrix[1, 3]f16SourceMatrix1x3f32
Matrix1x3f32 :: matrix[1, 3]f32SourceMatrix1x3f64
Matrix1x3f64 :: matrix[1, 3]f64SourceMatrix1x4f16
Matrix1x4f16 :: matrix[1, 4]f16SourceMatrix1x4f32
Matrix1x4f32 :: matrix[1, 4]f32SourceMatrix1x4f64
Matrix1x4f64 :: matrix[1, 4]f64SourceMatrix2f16
Matrix2f16 :: Matrix2x2f16SourceMatrix2f32
Matrix2f32 :: Matrix2x2f32SourceMatrix2f64
Matrix2f64 :: Matrix2x2f64SourceMatrix2x1f16
Matrix2x1f16 :: matrix[2, 1]f16SourceMatrix2x1f32
Matrix2x1f32 :: matrix[2, 1]f32SourceMatrix2x1f64
Matrix2x1f64 :: matrix[2, 1]f64SourceMatrix2x2f16
Matrix2x2f16 :: matrix[2, 2]f16SourceMatrix2x2f32
Matrix2x2f32 :: matrix[2, 2]f32SourceMatrix2x2f64
Matrix2x2f64 :: matrix[2, 2]f64SourceMatrix2x3f16
Matrix2x3f16 :: matrix[2, 3]f16SourceMatrix2x3f32
Matrix2x3f32 :: matrix[2, 3]f32SourceMatrix2x3f64
Matrix2x3f64 :: matrix[2, 3]f64SourceMatrix2x4f16
Matrix2x4f16 :: matrix[2, 4]f16SourceMatrix2x4f32
Matrix2x4f32 :: matrix[2, 4]f32SourceMatrix2x4f64
Matrix2x4f64 :: matrix[2, 4]f64SourceMatrix3f16
Matrix3f16 :: Matrix3x3f16SourceMatrix3f32
Matrix3f32 :: Matrix3x3f32SourceMatrix3f64
Matrix3f64 :: Matrix3x3f64SourceMatrix3x1f16
Matrix3x1f16 :: matrix[3, 1]f16SourceMatrix3x1f32
Matrix3x1f32 :: matrix[3, 1]f32SourceMatrix3x1f64
Matrix3x1f64 :: matrix[3, 1]f64SourceMatrix3x2f16
Matrix3x2f16 :: matrix[3, 2]f16SourceMatrix3x2f32
Matrix3x2f32 :: matrix[3, 2]f32SourceMatrix3x2f64
Matrix3x2f64 :: matrix[3, 2]f64SourceMatrix3x3f16
Matrix3x3f16 :: matrix[3, 3]f16SourceMatrix3x3f32
Matrix3x3f32 :: matrix[3, 3]f32SourceMatrix3x3f64
Matrix3x3f64 :: matrix[3, 3]f64SourceMatrix3x4f16
Matrix3x4f16 :: matrix[3, 4]f16SourceMatrix3x4f32
Matrix3x4f32 :: matrix[3, 4]f32SourceMatrix3x4f64
Matrix3x4f64 :: matrix[3, 4]f64SourceMatrix4f16
Matrix4f16 :: Matrix4x4f16SourceMatrix4f32
Matrix4f32 :: Matrix4x4f32SourceMatrix4f64
Matrix4f64 :: Matrix4x4f64SourceMatrix4x1f16
Matrix4x1f16 :: matrix[4, 1]f16SourceMatrix4x1f32
Matrix4x1f32 :: matrix[4, 1]f32SourceMatrix4x1f64
Matrix4x1f64 :: matrix[4, 1]f64SourceMatrix4x2f16
Matrix4x2f16 :: matrix[4, 2]f16SourceMatrix4x2f32
Matrix4x2f32 :: matrix[4, 2]f32SourceMatrix4x2f64
Matrix4x2f64 :: matrix[4, 2]f64SourceMatrix4x3f16
Matrix4x3f16 :: matrix[4, 3]f16SourceMatrix4x3f32
Matrix4x3f32 :: matrix[4, 3]f32SourceMatrix4x3f64
Matrix4x3f64 :: matrix[4, 3]f64SourceMatrix4x4f16
Matrix4x4f16 :: matrix[4, 4]f16SourceMatrix4x4f32
Matrix4x4f32 :: matrix[4, 4]f32SourceMatrix4x4f64
Matrix4x4f64 :: matrix[4, 4]f64SourceQuaternionf16
Quaternionf16 :: quaternion64SourceQuaternionf32
Quaternionf32 :: quaternion128SourceQuaternionf64
Quaternionf64 :: quaternion256SourceScalar_Components
Scalar_Components :: enum u8 {
x = 0,
r = 0,
}SourceVector2_Components
Vector2_Components :: enum u8 {
x = 0,
y = 1,
r = 0,
g = 1,
}SourceVector2f16
Vector2f16 :: [2]f16SourceVector2f32
Vector2f32 :: [2]f32SourceVector2f64
Vector2f64 :: [2]f64SourceVector3_Components
Vector3_Components :: enum u8 {
x = 0,
y = 1,
z = 2,
r = 0,
g = 1,
b = 2,
}SourceVector3f16
Vector3f16 :: [3]f16SourceVector3f32
Vector3f32 :: [3]f32SourceVector3f64
Vector3f64 :: [3]f64SourceVector4_Components
Vector4_Components :: enum u8 {
x = 0,
y = 1,
z = 2,
w = 3,
r = 0,
g = 1,
b = 2,
a = 3,
}SourceVector4f16
Vector4f16 :: [4]f16SourceVector4f32
Vector4f32 :: [4]f32SourceVector4f64
Vector4f64 :: [4]f64SourceConstants
47DEG_PER_RAD
DEG_PER_RAD :: _ = 360.0/TAUSourceE
E :: 2.71828182845904523536SourceF16_EPSILON
F16_EPSILON :: 1e-3SourceF32_EPSILON
F32_EPSILON :: 1e-7SourceF64_EPSILON
F64_EPSILON :: 1e-15SourceLN10
LN10 :: 2.30258509299404568401799145468436421SourceLN2
LN2 :: 0.693147180559945309417232121458176568SourceMATRIX1F16_IDENTITY
MATRIX1F16_IDENTITY :: matrix[1, 1]f16 = Matrix1f16(1)SourceMATRIX1F32_IDENTITY
MATRIX1F32_IDENTITY :: matrix[1, 1]f32 = Matrix1f32(1)SourceMATRIX1F64_IDENTITY
MATRIX1F64_IDENTITY :: matrix[1, 1]f64 = Matrix1f64(1)SourceMATRIX2F16_IDENTITY
MATRIX2F16_IDENTITY :: matrix[2, 2]f16 = Matrix2f16(1)SourceMATRIX2F32_IDENTITY
MATRIX2F32_IDENTITY :: matrix[2, 2]f32 = Matrix2f32(1)SourceMATRIX2F64_IDENTITY
MATRIX2F64_IDENTITY :: matrix[2, 2]f64 = Matrix2f64(1)SourceMATRIX3F16_IDENTITY
MATRIX3F16_IDENTITY :: matrix[3, 3]f16 = Matrix3f16(1)SourceMATRIX3F32_IDENTITY
MATRIX3F32_IDENTITY :: matrix[3, 3]f32 = Matrix3f32(1)SourceMATRIX3F64_IDENTITY
MATRIX3F64_IDENTITY :: matrix[3, 3]f64 = Matrix3f64(1)SourceMATRIX4F16_IDENTITY
MATRIX4F16_IDENTITY :: matrix[4, 4]f16 = Matrix4f16(1)SourceMATRIX4F32_IDENTITY
MATRIX4F32_IDENTITY :: matrix[4, 4]f32 = Matrix4f32(1)SourceMATRIX4F64_IDENTITY
MATRIX4F64_IDENTITY :: matrix[4, 4]f64 = Matrix4f64(1)SourceMAX_F32_PRECISION
MAX_F32_PRECISION :: 8SourceMaximum number of meaningful digits after the decimal point for 'f32'
MAX_F64_PRECISION
MAX_F64_PRECISION :: 16SourceMaximum number of meaningful digits after the decimal point for 'f64'
PI
PI :: 3.14159265358979323846264338327950288SourceQUATERNIONF16_IDENTITY
QUATERNIONF16_IDENTITY :: quaternion64 = Quaternionf16(1)SourceQUATERNIONF32_IDENTITY
QUATERNIONF32_IDENTITY :: quaternion128 = Quaternionf32(1)SourceQUATERNIONF64_IDENTITY
QUATERNIONF64_IDENTITY :: quaternion256 = Quaternionf64(1)SourceRAD_PER_DEG
RAD_PER_DEG :: _ = TAU/360.0SourceSQRT_FIVE
SQRT_FIVE :: 2.23606797749978969640917366873127623SourceSQRT_THREE
SQRT_THREE :: 1.73205080756887729352744634150587236SourceSQRT_TWO
SQRT_TWO :: 1.41421356237309504880168872420969808SourceTAU
TAU :: 6.28318530717958647692528676655900576SourceGeneric
VECTOR3F16_X_AXIS
VECTOR3F16_X_AXIS :: Vector3f16 = Vector3f16{1, 0, 0}SourceVECTOR3F16_Y_AXIS
VECTOR3F16_Y_AXIS :: Vector3f16 = Vector3f16{0, 1, 0}SourceVECTOR3F16_Z_AXIS
VECTOR3F16_Z_AXIS :: Vector3f16 = Vector3f16{0, 0, 1}SourceVECTOR3F32_X_AXIS
VECTOR3F32_X_AXIS :: Vector3f32 = Vector3f32{1, 0, 0}SourceVECTOR3F32_Y_AXIS
VECTOR3F32_Y_AXIS :: Vector3f32 = Vector3f32{0, 1, 0}SourceVECTOR3F32_Z_AXIS
VECTOR3F32_Z_AXIS :: Vector3f32 = Vector3f32{0, 0, 1}SourceVECTOR3F64_X_AXIS
VECTOR3F64_X_AXIS :: Vector3f64 = Vector3f64{1, 0, 0}SourceVECTOR3F64_Y_AXIS
VECTOR3F64_Y_AXIS :: Vector3f64 = Vector3f64{0, 1, 0}SourceVECTOR3F64_Z_AXIS
VECTOR3F64_Z_AXIS :: Vector3f64 = Vector3f64{0, 0, 1}Sourcee
e :: ESourcehadamard_product
hadamard_product :: intrinsics.hadamard_productSourceinner_product
inner_product :: dotSourcematrix_flatten
matrix_flatten :: intrinsics.matrix_flattenSourceouter_product
outer_product :: intrinsics.outer_productSourcetranspose
transpose :: intrinsics.transposeSourceπ
π :: PISourceτ
τ :: TAUSourceProcedures
704_from_simd4
_from_simd4 :: proc(T: typeid, a) -> (T)Source_to_simd4
_to_simd4 :: proc(a: T) -> (out)Sourceabs
abs :: proc(a: T) -> (out: T)Sourceacos
acos :: proc(x: T) -> (out: T)Sourceall
all :: proc(x: A) -> (out: bool)Sourceangle_axis_from_quaternion_f16
angle_axis_from_quaternion_f16 :: proc(q: Quaternionf16) -> (angle: f16, axis: Vector3f16)Sourceangle_axis_from_quaternion_f32
angle_axis_from_quaternion_f32 :: proc(q: Quaternionf32) -> (angle: f32, axis: Vector3f32)Sourceangle_axis_from_quaternion_f64
angle_axis_from_quaternion_f64 :: proc(q: Quaternionf64) -> (angle: f64, axis: Vector3f64)Sourceangle_from_quaternion_f16
angle_from_quaternion_f16 :: proc(q: Quaternionf16) -> (f16)Sourceangle_from_quaternion_f32
angle_from_quaternion_f32 :: proc(q: Quaternionf32) -> (f32)Sourceangle_from_quaternion_f64
angle_from_quaternion_f64 :: proc(q: Quaternionf64) -> (f64)Sourceany
any :: proc(x: A) -> (out: bool)Sourcearray_cast
array_cast :: proc(v: A, Elem_Type: typeid) -> ([N]Elem_Type)Sourceasin
asin :: proc(x: T) -> (out: T)Sourceatan
atan :: proc(x: T) -> (out: T)Sourceatan2
atan2 :: proc(y: T, x: T) -> (out: T)Sourceaxis_from_quaternion_f16
axis_from_quaternion_f16 :: proc(q: Quaternionf16) -> (Vector3f16)Sourceaxis_from_quaternion_f32
axis_from_quaternion_f32 :: proc(q: Quaternionf32) -> (Vector3f32)Sourceaxis_from_quaternion_f64
axis_from_quaternion_f64 :: proc(q: Quaternionf64) -> (Vector3f64)Sourcecatmull_rom
catmull_rom :: proc(v1: T, v2: T, v3: T, v4: T, s: E) -> (T)Sourceceil
ceil :: proc(x: T) -> (out: T)Sourceclamp
clamp :: proc(x: T, a: T, b: T) -> (out: T)Sourceclamp_length
clamp_length :: proc(v: T, a: E) -> (T)Sourceclassify_array
classify_array :: proc(x: A) -> (out: [N]math.Float_Class)Sourceclassify_single
classify_single :: proc(x: T) -> (math.Float_Class)Sourcecos
cos :: proc(x: T) -> (out: T)Sourcecubic
cubic :: proc(v1: T, v2: T, v3: T, v4: T, s: E) -> (T)Sourcedistance
distance :: proc(p0: V, p1: V) -> (E)Sourceequal_array
equal_array :: proc(x: A, y: A) -> (out: [N]bool)Sourceequal_single
equal_single :: proc(x: T, y: T) -> (out: bool)Sourceeuclidean_from_polar_f16
euclidean_from_polar_f16 :: proc(polar: Vector2f16) -> (Vector3f16)Sourceeuclidean_from_polar_f32
euclidean_from_polar_f32 :: proc(polar: Vector2f32) -> (Vector3f32)Sourceeuclidean_from_polar_f64
euclidean_from_polar_f64 :: proc(polar: Vector2f64) -> (Vector3f64)Sourceeuler_angles_from_matrix3_f16
euler_angles_from_matrix3_f16 :: proc(m: Matrix3f16, order: Euler_Angle_Order) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_from_matrix3_f32
euler_angles_from_matrix3_f32 :: proc(m: Matrix3f32, order: Euler_Angle_Order) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_from_matrix3_f64
euler_angles_from_matrix3_f64 :: proc(m: Matrix3f64, order: Euler_Angle_Order) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_from_matrix4_f16
euler_angles_from_matrix4_f16 :: proc(m: Matrix4f16, order: Euler_Angle_Order) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_from_matrix4_f32
euler_angles_from_matrix4_f32 :: proc(m: Matrix4f32, order: Euler_Angle_Order) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_from_matrix4_f64
euler_angles_from_matrix4_f64 :: proc(m: Matrix4f64, order: Euler_Angle_Order) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_from_quaternion_f16
euler_angles_from_quaternion_f16 :: proc(m: Quaternionf16, order: Euler_Angle_Order) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_from_quaternion_f32
euler_angles_from_quaternion_f32 :: proc(m: Quaternionf32, order: Euler_Angle_Order) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_from_quaternion_f64
euler_angles_from_quaternion_f64 :: proc(m: Quaternionf64, order: Euler_Angle_Order) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyx_from_matrix3_f16
euler_angles_xyx_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyx_from_matrix3_f32
euler_angles_xyx_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyx_from_matrix3_f64
euler_angles_xyx_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyx_from_matrix4_f16
euler_angles_xyx_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyx_from_matrix4_f32
euler_angles_xyx_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyx_from_matrix4_f64
euler_angles_xyx_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyx_from_quaternion_f16
euler_angles_xyx_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyx_from_quaternion_f32
euler_angles_xyx_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyx_from_quaternion_f64
euler_angles_xyx_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyz_from_matrix3_f16
euler_angles_xyz_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyz_from_matrix3_f32
euler_angles_xyz_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyz_from_matrix3_f64
euler_angles_xyz_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyz_from_matrix4_f16
euler_angles_xyz_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyz_from_matrix4_f32
euler_angles_xyz_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyz_from_matrix4_f64
euler_angles_xyz_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xyz_from_quaternion_f16
euler_angles_xyz_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xyz_from_quaternion_f32
euler_angles_xyz_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xyz_from_quaternion_f64
euler_angles_xyz_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzx_from_matrix3_f16
euler_angles_xzx_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzx_from_matrix3_f32
euler_angles_xzx_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzx_from_matrix3_f64
euler_angles_xzx_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzx_from_matrix4_f16
euler_angles_xzx_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzx_from_matrix4_f32
euler_angles_xzx_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzx_from_matrix4_f64
euler_angles_xzx_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzx_from_quaternion_f16
euler_angles_xzx_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzx_from_quaternion_f32
euler_angles_xzx_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzx_from_quaternion_f64
euler_angles_xzx_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzy_from_matrix3_f16
euler_angles_xzy_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzy_from_matrix3_f32
euler_angles_xzy_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzy_from_matrix3_f64
euler_angles_xzy_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzy_from_matrix4_f16
euler_angles_xzy_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzy_from_matrix4_f32
euler_angles_xzy_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzy_from_matrix4_f64
euler_angles_xzy_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_xzy_from_quaternion_f16
euler_angles_xzy_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_xzy_from_quaternion_f32
euler_angles_xzy_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_xzy_from_quaternion_f64
euler_angles_xzy_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxy_from_matrix3_f16
euler_angles_yxy_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxy_from_matrix3_f32
euler_angles_yxy_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxy_from_matrix3_f64
euler_angles_yxy_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxy_from_matrix4_f16
euler_angles_yxy_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxy_from_matrix4_f32
euler_angles_yxy_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxy_from_matrix4_f64
euler_angles_yxy_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxy_from_quaternion_f16
euler_angles_yxy_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxy_from_quaternion_f32
euler_angles_yxy_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxy_from_quaternion_f64
euler_angles_yxy_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxz_from_matrix3_f16
euler_angles_yxz_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxz_from_matrix3_f32
euler_angles_yxz_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxz_from_matrix3_f64
euler_angles_yxz_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxz_from_matrix4_f16
euler_angles_yxz_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxz_from_matrix4_f32
euler_angles_yxz_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxz_from_matrix4_f64
euler_angles_yxz_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yxz_from_quaternion_f16
euler_angles_yxz_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yxz_from_quaternion_f32
euler_angles_yxz_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yxz_from_quaternion_f64
euler_angles_yxz_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzx_from_matrix3_f16
euler_angles_yzx_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzx_from_matrix3_f32
euler_angles_yzx_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzx_from_matrix3_f64
euler_angles_yzx_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzx_from_matrix4_f16
euler_angles_yzx_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzx_from_matrix4_f32
euler_angles_yzx_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzx_from_matrix4_f64
euler_angles_yzx_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzx_from_quaternion_f16
euler_angles_yzx_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzx_from_quaternion_f32
euler_angles_yzx_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzx_from_quaternion_f64
euler_angles_yzx_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzy_from_matrix3_f16
euler_angles_yzy_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzy_from_matrix3_f32
euler_angles_yzy_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzy_from_matrix3_f64
euler_angles_yzy_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzy_from_matrix4_f16
euler_angles_yzy_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzy_from_matrix4_f32
euler_angles_yzy_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzy_from_matrix4_f64
euler_angles_yzy_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_yzy_from_quaternion_f16
euler_angles_yzy_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_yzy_from_quaternion_f32
euler_angles_yzy_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_yzy_from_quaternion_f64
euler_angles_yzy_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxy_from_matrix3_f16
euler_angles_zxy_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxy_from_matrix3_f32
euler_angles_zxy_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxy_from_matrix3_f64
euler_angles_zxy_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxy_from_matrix4_f16
euler_angles_zxy_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxy_from_matrix4_f32
euler_angles_zxy_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxy_from_matrix4_f64
euler_angles_zxy_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxy_from_quaternion_f16
euler_angles_zxy_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxy_from_quaternion_f32
euler_angles_zxy_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxy_from_quaternion_f64
euler_angles_zxy_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxz_from_matrix3_f16
euler_angles_zxz_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxz_from_matrix3_f32
euler_angles_zxz_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxz_from_matrix3_f64
euler_angles_zxz_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxz_from_matrix4_f16
euler_angles_zxz_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxz_from_matrix4_f32
euler_angles_zxz_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxz_from_matrix4_f64
euler_angles_zxz_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zxz_from_quaternion_f16
euler_angles_zxz_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zxz_from_quaternion_f32
euler_angles_zxz_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zxz_from_quaternion_f64
euler_angles_zxz_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyx_from_matrix3_f16
euler_angles_zyx_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyx_from_matrix3_f32
euler_angles_zyx_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyx_from_matrix3_f64
euler_angles_zyx_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyx_from_matrix4_f16
euler_angles_zyx_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyx_from_matrix4_f32
euler_angles_zyx_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyx_from_matrix4_f64
euler_angles_zyx_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyx_from_quaternion_f16
euler_angles_zyx_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyx_from_quaternion_f32
euler_angles_zyx_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyx_from_quaternion_f64
euler_angles_zyx_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyz_from_matrix3_f16
euler_angles_zyz_from_matrix3_f16 :: proc(m: Matrix3f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyz_from_matrix3_f32
euler_angles_zyz_from_matrix3_f32 :: proc(m: Matrix3f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyz_from_matrix3_f64
euler_angles_zyz_from_matrix3_f64 :: proc(m: Matrix3f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyz_from_matrix4_f16
euler_angles_zyz_from_matrix4_f16 :: proc(m: Matrix4f16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyz_from_matrix4_f32
euler_angles_zyz_from_matrix4_f32 :: proc(m: Matrix4f32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyz_from_matrix4_f64
euler_angles_zyz_from_matrix4_f64 :: proc(m: Matrix4f64) -> (t1: f64, t2: f64, t3: f64)Sourceeuler_angles_zyz_from_quaternion_f16
euler_angles_zyz_from_quaternion_f16 :: proc(q: Quaternionf16) -> (t1: f16, t2: f16, t3: f16)Sourceeuler_angles_zyz_from_quaternion_f32
euler_angles_zyz_from_quaternion_f32 :: proc(q: Quaternionf32) -> (t1: f32, t2: f32, t3: f32)Sourceeuler_angles_zyz_from_quaternion_f64
euler_angles_zyz_from_quaternion_f64 :: proc(q: Quaternionf64) -> (t1: f64, t2: f64, t3: f64)Sourceexp
exp :: proc(x: T) -> (out: T)Sourceexp10
exp10 :: proc(x: T) -> (out: T)Sourceexp2
exp2 :: proc(x: T) -> (out: T)Sourceface_forward
face_forward :: proc(N: T, I: T, N_ref: T) -> (out: T)Sourcefloor
floor :: proc(x: T) -> (out: T)Sourcefract
fract :: proc(x: T) -> (T)Sourcegreater_than_array
greater_than_array :: proc(x: A, y: A) -> (out: [N]bool)Sourcegreater_than_equal_array
greater_than_equal_array :: proc(x: A, y: A) -> (out: [N]bool)Sourcegreater_than_equal_single
greater_than_equal_single :: proc(x: T, y: T) -> (out: bool)Sourcegreater_than_single
greater_than_single :: proc(x: T, y: T) -> (out: bool)Sourcehermite
hermite :: proc(v1: T, t1: T, v2: T, t2: T, s: E) -> (T)Sourcehermitian_adjoint
hermitian_adjoint :: proc(m) -> (M)Sourceidentity_array_based_matrix
identity_array_based_matrix :: proc(T: typeid) -> (m: T)Sourceidentity_matrix
identity_matrix :: proc(T: typeid) -> (T)Sourceinverse_sqrt
inverse_sqrt :: proc(x: T) -> (out: T)Sourceis_inf_array
is_inf_array :: proc(x: A) -> (out: [N]bool)Sourceis_inf_single
is_inf_single :: proc(x: T) -> (bool)Sourceis_nan_array
is_nan_array :: proc(x: A) -> (out: [N]bool)Sourceis_nan_single
is_nan_single :: proc(x: T) -> (bool)Sourcelerp
lerp :: proc(a: T, b: T, t: T) -> (out: T)Sourceless_than_array
less_than_array :: proc(x: A, y: A) -> (out: [N]bool)Sourceless_than_equal_array
less_than_equal_array :: proc(x: A, y: A) -> (out: [N]bool)Sourceless_than_equal_single
less_than_equal_single :: proc(x: T, y: T) -> (out: bool)Sourceless_than_single
less_than_single :: proc(x: T, y: T) -> (out: bool)Sourceln
ln :: proc(x: T) -> (out: T)Sourcelog
log :: proc(x: T, b: T) -> (out: T)Sourcelog10
log10 :: proc(x: T) -> (out: T)Sourcelog2
log2 :: proc(x: T) -> (out: T)Sourcematrix1x1_adjugate
matrix1x1_adjugate :: proc(x: M) -> (y: M)Sourcematrix1x1_cofactor
matrix1x1_cofactor :: proc(x: M) -> (y: M)Sourcematrix1x1_determinant
matrix1x1_determinant :: proc(m: M) -> (det: T)Sourcematrix1x1_inverse
matrix1x1_inverse :: proc(x: M) -> (y: M)Sourcematrix1x1_inverse_transpose
matrix1x1_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix2_adjoint_f16
matrix2_adjoint_f16 :: proc(m: Matrix2f16) -> (c: Matrix2f16)Sourcematrix2_adjoint_f32
matrix2_adjoint_f32 :: proc(m: Matrix2f32) -> (c: Matrix2f32)Sourcematrix2_adjoint_f64
matrix2_adjoint_f64 :: proc(m: Matrix2f64) -> (c: Matrix2f64)Sourcematrix2_determinant_f16
matrix2_determinant_f16 :: proc(m: Matrix2f16) -> (f16)Sourcematrix2_determinant_f32
matrix2_determinant_f32 :: proc(m: Matrix2f32) -> (f32)Sourcematrix2_determinant_f64
matrix2_determinant_f64 :: proc(m: Matrix2f64) -> (f64)Sourcematrix2_from_matrix3_f16
matrix2_from_matrix3_f16 :: proc(m: Matrix3f16) -> (r: Matrix2f16)Sourcematrix2_from_matrix3_f32
matrix2_from_matrix3_f32 :: proc(m: Matrix3f32) -> (r: Matrix2f32)Sourcematrix2_from_matrix3_f64
matrix2_from_matrix3_f64 :: proc(m: Matrix3f64) -> (r: Matrix2f64)Sourcematrix2_from_matrix4_f16
matrix2_from_matrix4_f16 :: proc(m: Matrix4f16) -> (r: Matrix2f16)Sourcematrix2_from_matrix4_f32
matrix2_from_matrix4_f32 :: proc(m: Matrix4f32) -> (r: Matrix2f32)Sourcematrix2_from_matrix4_f64
matrix2_from_matrix4_f64 :: proc(m: Matrix4f64) -> (r: Matrix2f64)Sourcematrix2_from_scalar_f16
matrix2_from_scalar_f16 :: proc(f: f16) -> (m: Matrix2f16)Sourcematrix2_from_scalar_f32
matrix2_from_scalar_f32 :: proc(f: f32) -> (m: Matrix2f32)Sourcematrix2_from_scalar_f64
matrix2_from_scalar_f64 :: proc(f: f64) -> (m: Matrix2f64)Sourcematrix2_inverse_f16
matrix2_inverse_f16 :: proc(m: Matrix2f16) -> (c: Matrix2f16)Sourcematrix2_inverse_f32
matrix2_inverse_f32 :: proc(m: Matrix2f32) -> (c: Matrix2f32)Sourcematrix2_inverse_f64
matrix2_inverse_f64 :: proc(m: Matrix2f64) -> (c: Matrix2f64)Sourcematrix2_inverse_transpose_f16
matrix2_inverse_transpose_f16 :: proc(m: Matrix2f16) -> (c: Matrix2f16)Sourcematrix2_inverse_transpose_f32
matrix2_inverse_transpose_f32 :: proc(m: Matrix2f32) -> (c: Matrix2f32)Sourcematrix2_inverse_transpose_f64
matrix2_inverse_transpose_f64 :: proc(m: Matrix2f64) -> (c: Matrix2f64)Sourcematrix2_orthonormalize_f16
matrix2_orthonormalize_f16 :: proc(m: Matrix2f16) -> (r: Matrix2f16)Sourcematrix2_orthonormalize_f32
matrix2_orthonormalize_f32 :: proc(m: Matrix2f32) -> (r: Matrix2f32)Sourcematrix2_orthonormalize_f64
matrix2_orthonormalize_f64 :: proc(m: Matrix2f64) -> (r: Matrix2f64)Sourcematrix2_rotate_f16
matrix2_rotate_f16 :: proc(angle_radians: f16) -> (Matrix2f16)Sourcematrix2_rotate_f32
matrix2_rotate_f32 :: proc(angle_radians: f32) -> (Matrix2f32)Sourcematrix2_rotate_f64
matrix2_rotate_f64 :: proc(angle_radians: f64) -> (Matrix2f64)Sourcematrix2x2_adjugate
matrix2x2_adjugate :: proc(x: M) -> (y: M)Sourcematrix2x2_cofactor
matrix2x2_cofactor :: proc(x: M) -> (y: M)Sourcematrix2x2_determinant
matrix2x2_determinant :: proc(m: M) -> (det: T)Sourcematrix2x2_inverse
matrix2x2_inverse :: proc(x: M) -> (y: M)Sourcematrix2x2_inverse_transpose
matrix2x2_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix3_adjoint_f16
matrix3_adjoint_f16 :: proc(m: Matrix3f16) -> (adjoint: Matrix3f16)Sourcematrix3_adjoint_f32
matrix3_adjoint_f32 :: proc(m: Matrix3f32) -> (adjoint: Matrix3f32)Sourcematrix3_adjoint_f64
matrix3_adjoint_f64 :: proc(m: Matrix3f64) -> (adjoint: Matrix3f64)Sourcematrix3_determinant_f16
matrix3_determinant_f16 :: proc(m: Matrix3f16) -> (f16)Sourcematrix3_determinant_f32
matrix3_determinant_f32 :: proc(m: Matrix3f32) -> (f32)Sourcematrix3_determinant_f64
matrix3_determinant_f64 :: proc(m: Matrix3f64) -> (f64)Sourcematrix3_from_derived_euler_angle_x_f16
matrix3_from_derived_euler_angle_x_f16 :: proc(angle_x: f16, angular_velocity_x: f16) -> (m: Matrix3f16)Sourcematrix3_from_derived_euler_angle_x_f32
matrix3_from_derived_euler_angle_x_f32 :: proc(angle_x: f32, angular_velocity_x: f32) -> (m: Matrix3f32)Sourcematrix3_from_derived_euler_angle_x_f64
matrix3_from_derived_euler_angle_x_f64 :: proc(angle_x: f64, angular_velocity_x: f64) -> (m: Matrix3f64)Sourcematrix3_from_derived_euler_angle_y_f16
matrix3_from_derived_euler_angle_y_f16 :: proc(angle_y: f16, angular_velocity_y: f16) -> (m: Matrix3f16)Sourcematrix3_from_derived_euler_angle_y_f32
matrix3_from_derived_euler_angle_y_f32 :: proc(angle_y: f32, angular_velocity_y: f32) -> (m: Matrix3f32)Sourcematrix3_from_derived_euler_angle_y_f64
matrix3_from_derived_euler_angle_y_f64 :: proc(angle_y: f64, angular_velocity_y: f64) -> (m: Matrix3f64)Sourcematrix3_from_derived_euler_angle_z_f16
matrix3_from_derived_euler_angle_z_f16 :: proc(angle_z: f16, angular_velocity_z: f16) -> (m: Matrix3f16)Sourcematrix3_from_derived_euler_angle_z_f32
matrix3_from_derived_euler_angle_z_f32 :: proc(angle_z: f32, angular_velocity_z: f32) -> (m: Matrix3f32)Sourcematrix3_from_derived_euler_angle_z_f64
matrix3_from_derived_euler_angle_z_f64 :: proc(angle_z: f64, angular_velocity_z: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angle_x_f16
matrix3_from_euler_angle_x_f16 :: proc(angle_x: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angle_x_f32
matrix3_from_euler_angle_x_f32 :: proc(angle_x: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angle_x_f64
matrix3_from_euler_angle_x_f64 :: proc(angle_x: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angle_y_f16
matrix3_from_euler_angle_y_f16 :: proc(angle_y: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angle_y_f32
matrix3_from_euler_angle_y_f32 :: proc(angle_y: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angle_y_f64
matrix3_from_euler_angle_y_f64 :: proc(angle_y: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angle_z_f16
matrix3_from_euler_angle_z_f16 :: proc(angle_z: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angle_z_f32
matrix3_from_euler_angle_z_f32 :: proc(angle_z: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angle_z_f64
matrix3_from_euler_angle_z_f64 :: proc(angle_z: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_f16
matrix3_from_euler_angles_f16 :: proc(t1: f16, t2: f16, t3: f16, order: Euler_Angle_Order) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_f32
matrix3_from_euler_angles_f32 :: proc(t1: f32, t2: f32, t3: f32, order: Euler_Angle_Order) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_f64
matrix3_from_euler_angles_f64 :: proc(t1: f64, t2: f64, t3: f64, order: Euler_Angle_Order) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xy_f16
matrix3_from_euler_angles_xy_f16 :: proc(angle_x: f16, angle_y: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xy_f32
matrix3_from_euler_angles_xy_f32 :: proc(angle_x: f32, angle_y: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xy_f64
matrix3_from_euler_angles_xy_f64 :: proc(angle_x: f64, angle_y: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xyx_f16
matrix3_from_euler_angles_xyx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xyx_f32
matrix3_from_euler_angles_xyx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xyx_f64
matrix3_from_euler_angles_xyx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xyz_f16
matrix3_from_euler_angles_xyz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xyz_f32
matrix3_from_euler_angles_xyz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xyz_f64
matrix3_from_euler_angles_xyz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xz_f16
matrix3_from_euler_angles_xz_f16 :: proc(angle_x: f16, angle_z: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xz_f32
matrix3_from_euler_angles_xz_f32 :: proc(angle_x: f32, angle_z: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xz_f64
matrix3_from_euler_angles_xz_f64 :: proc(angle_x: f64, angle_z: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xzx_f16
matrix3_from_euler_angles_xzx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xzx_f32
matrix3_from_euler_angles_xzx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xzx_f64
matrix3_from_euler_angles_xzx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_xzy_f16
matrix3_from_euler_angles_xzy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_xzy_f32
matrix3_from_euler_angles_xzy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_xzy_f64
matrix3_from_euler_angles_xzy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yx_f16
matrix3_from_euler_angles_yx_f16 :: proc(angle_y: f16, angle_x: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yx_f32
matrix3_from_euler_angles_yx_f32 :: proc(angle_y: f32, angle_x: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yx_f64
matrix3_from_euler_angles_yx_f64 :: proc(angle_y: f64, angle_x: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yxy_f16
matrix3_from_euler_angles_yxy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yxy_f32
matrix3_from_euler_angles_yxy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yxy_f64
matrix3_from_euler_angles_yxy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yxz_f16
matrix3_from_euler_angles_yxz_f16 :: proc(yaw: f16, pitch: f16, roll: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yxz_f32
matrix3_from_euler_angles_yxz_f32 :: proc(yaw: f32, pitch: f32, roll: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yxz_f64
matrix3_from_euler_angles_yxz_f64 :: proc(yaw: f64, pitch: f64, roll: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yz_f16
matrix3_from_euler_angles_yz_f16 :: proc(angle_y: f16, angle_z: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yz_f32
matrix3_from_euler_angles_yz_f32 :: proc(angle_y: f32, angle_z: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yz_f64
matrix3_from_euler_angles_yz_f64 :: proc(angle_y: f64, angle_z: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yzx_f16
matrix3_from_euler_angles_yzx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yzx_f32
matrix3_from_euler_angles_yzx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yzx_f64
matrix3_from_euler_angles_yzx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_yzy_f16
matrix3_from_euler_angles_yzy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_yzy_f32
matrix3_from_euler_angles_yzy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_yzy_f64
matrix3_from_euler_angles_yzy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zx_f16
matrix3_from_euler_angles_zx_f16 :: proc(angle_z: f16, angle_x: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zx_f32
matrix3_from_euler_angles_zx_f32 :: proc(angle_z: f32, angle_x: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zx_f64
matrix3_from_euler_angles_zx_f64 :: proc(angle_z: f64, angle_x: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zxy_f16
matrix3_from_euler_angles_zxy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zxy_f32
matrix3_from_euler_angles_zxy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zxy_f64
matrix3_from_euler_angles_zxy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zxz_f16
matrix3_from_euler_angles_zxz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zxz_f32
matrix3_from_euler_angles_zxz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zxz_f64
matrix3_from_euler_angles_zxz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zy_f16
matrix3_from_euler_angles_zy_f16 :: proc(angle_z: f16, angle_y: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zy_f32
matrix3_from_euler_angles_zy_f32 :: proc(angle_z: f32, angle_y: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zy_f64
matrix3_from_euler_angles_zy_f64 :: proc(angle_z: f64, angle_y: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zyx_f16
matrix3_from_euler_angles_zyx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zyx_f32
matrix3_from_euler_angles_zyx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zyx_f64
matrix3_from_euler_angles_zyx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_euler_angles_zyz_f16
matrix3_from_euler_angles_zyz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix3f16)Sourcematrix3_from_euler_angles_zyz_f32
matrix3_from_euler_angles_zyz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix3f32)Sourcematrix3_from_euler_angles_zyz_f64
matrix3_from_euler_angles_zyz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix3f64)Sourcematrix3_from_matrix2_f16
matrix3_from_matrix2_f16 :: proc(m: Matrix2f16) -> (r: Matrix3f16)Sourcematrix3_from_matrix2_f32
matrix3_from_matrix2_f32 :: proc(m: Matrix2f32) -> (r: Matrix3f32)Sourcematrix3_from_matrix2_f64
matrix3_from_matrix2_f64 :: proc(m: Matrix2f64) -> (r: Matrix3f64)Sourcematrix3_from_matrix4_f16
matrix3_from_matrix4_f16 :: proc(m: Matrix4f16) -> (r: Matrix3f16)Sourcematrix3_from_matrix4_f32
matrix3_from_matrix4_f32 :: proc(m: Matrix4f32) -> (r: Matrix3f32)Sourcematrix3_from_matrix4_f64
matrix3_from_matrix4_f64 :: proc(m: Matrix4f64) -> (r: Matrix3f64)Sourcematrix3_from_quaternion_f16
matrix3_from_quaternion_f16 :: proc(q: Quaternionf16) -> (m: Matrix3f16)Sourcematrix3_from_quaternion_f32
matrix3_from_quaternion_f32 :: proc(q: Quaternionf32) -> (m: Matrix3f32)Sourcematrix3_from_quaternion_f64
matrix3_from_quaternion_f64 :: proc(q: Quaternionf64) -> (m: Matrix3f64)Sourcematrix3_from_scalar_f16
matrix3_from_scalar_f16 :: proc(f: f16) -> (m: Matrix3f16)Sourcematrix3_from_scalar_f32
matrix3_from_scalar_f32 :: proc(f: f32) -> (m: Matrix3f32)Sourcematrix3_from_scalar_f64
matrix3_from_scalar_f64 :: proc(f: f64) -> (m: Matrix3f64)Sourcematrix3_from_yaw_pitch_roll_f16
matrix3_from_yaw_pitch_roll_f16 :: proc(yaw: f16, pitch: f16, roll: f16) -> (m: Matrix3f16)Sourcematrix3_from_yaw_pitch_roll_f32
matrix3_from_yaw_pitch_roll_f32 :: proc(yaw: f32, pitch: f32, roll: f32) -> (m: Matrix3f32)Sourcematrix3_from_yaw_pitch_roll_f64
matrix3_from_yaw_pitch_roll_f64 :: proc(yaw: f64, pitch: f64, roll: f64) -> (m: Matrix3f64)Sourcematrix3_gram_schmidt
matrix3_gram_schmidt :: proc(m: matrix[3, 3]E, A: int, B: int, C: int) -> (r: matrix[3, 3]E)Sourcematrix3_inverse_f16
matrix3_inverse_f16 :: proc(m: Matrix3f16) -> (Matrix3f16)Sourcematrix3_inverse_f32
matrix3_inverse_f32 :: proc(m: Matrix3f32) -> (Matrix3f32)Sourcematrix3_inverse_f64
matrix3_inverse_f64 :: proc(m: Matrix3f64) -> (Matrix3f64)Sourcematrix3_inverse_transpose_f16
matrix3_inverse_transpose_f16 :: proc(m: Matrix3f16) -> (p: Matrix3f16)Sourcematrix3_inverse_transpose_f32
matrix3_inverse_transpose_f32 :: proc(m: Matrix3f32) -> (p: Matrix3f32)Sourcematrix3_inverse_transpose_f64
matrix3_inverse_transpose_f64 :: proc(m: Matrix3f64) -> (p: Matrix3f64)Sourcematrix3_look_at_f16
matrix3_look_at_f16 :: proc(eye: Vector3f16, centre: Vector3f16, up: Vector3f16) -> (Matrix3f16)Sourcematrix3_look_at_f32
matrix3_look_at_f32 :: proc(eye: Vector3f32, centre: Vector3f32, up: Vector3f32) -> (Matrix3f32)Sourcematrix3_look_at_f64
matrix3_look_at_f64 :: proc(eye: Vector3f64, centre: Vector3f64, up: Vector3f64) -> (Matrix3f64)Sourcematrix3_orthonormalize_f16
matrix3_orthonormalize_f16 :: proc(m: Matrix3f16) -> (Matrix3f16)Sourcematrix3_orthonormalize_f32
matrix3_orthonormalize_f32 :: proc(m: Matrix3f32) -> (Matrix3f32)Sourcematrix3_orthonormalize_f64
matrix3_orthonormalize_f64 :: proc(m: Matrix3f64) -> (Matrix3f64)Sourcematrix3_rotate_f16
matrix3_rotate_f16 :: proc(angle_radians: f16, v: Vector3f16) -> (rot: Matrix3f16)Sourcematrix3_rotate_f32
matrix3_rotate_f32 :: proc(angle_radians: f32, v: Vector3f32) -> (rot: Matrix3f32)Sourcematrix3_rotate_f64
matrix3_rotate_f64 :: proc(angle_radians: f64, v: Vector3f64) -> (rot: Matrix3f64)Sourcematrix3_scale_f16
matrix3_scale_f16 :: proc(s: Vector3f16) -> (m: Matrix3f16)Sourcematrix3_scale_f32
matrix3_scale_f32 :: proc(s: Vector3f32) -> (m: Matrix3f32)Sourcematrix3_scale_f64
matrix3_scale_f64 :: proc(s: Vector3f64) -> (m: Matrix3f64)Sourcematrix3x3_adjugate
matrix3x3_adjugate :: proc(m: M) -> (y: M)Sourcematrix3x3_cofactor
matrix3x3_cofactor :: proc(m: M) -> (y: M)Sourcematrix3x3_determinant
matrix3x3_determinant :: proc(m: M) -> (det: T)Sourcematrix3x3_inverse
matrix3x3_inverse :: proc(x: M) -> (y: M)Sourcematrix3x3_inverse_transpose
matrix3x3_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix4_adjoint_f16
matrix4_adjoint_f16 :: proc(m: Matrix4f16) -> (adjoint: Matrix4f16)Sourcematrix4_adjoint_f32
matrix4_adjoint_f32 :: proc(m: Matrix4f32) -> (adjoint: Matrix4f32)Sourcematrix4_adjoint_f64
matrix4_adjoint_f64 :: proc(m: Matrix4f64) -> (adjoint: Matrix4f64)Sourcematrix4_cofactor_f16
matrix4_cofactor_f16 :: proc(m: Matrix4f16, c: int, r: int) -> (f16)Sourcematrix4_cofactor_f32
matrix4_cofactor_f32 :: proc(m: Matrix4f32, c: int, r: int) -> (f32)Sourcematrix4_cofactor_f64
matrix4_cofactor_f64 :: proc(m: Matrix4f64, c: int, r: int) -> (f64)Sourcematrix4_determinant_f16
matrix4_determinant_f16 :: proc(m: Matrix4f16) -> (determinant: f16)Sourcematrix4_determinant_f32
matrix4_determinant_f32 :: proc(m: Matrix4f32) -> (determinant: f32)Sourcematrix4_determinant_f64
matrix4_determinant_f64 :: proc(m: Matrix4f64) -> (determinant: f64)Sourcematrix4_from_derived_euler_angle_x_f16
matrix4_from_derived_euler_angle_x_f16 :: proc(angle_x: f16, angular_velocity_x: f16) -> (m: Matrix4f16)Sourcematrix4_from_derived_euler_angle_x_f32
matrix4_from_derived_euler_angle_x_f32 :: proc(angle_x: f32, angular_velocity_x: f32) -> (m: Matrix4f32)Sourcematrix4_from_derived_euler_angle_x_f64
matrix4_from_derived_euler_angle_x_f64 :: proc(angle_x: f64, angular_velocity_x: f64) -> (m: Matrix4f64)Sourcematrix4_from_derived_euler_angle_y_f16
matrix4_from_derived_euler_angle_y_f16 :: proc(angle_y: f16, angular_velocity_y: f16) -> (m: Matrix4f16)Sourcematrix4_from_derived_euler_angle_y_f32
matrix4_from_derived_euler_angle_y_f32 :: proc(angle_y: f32, angular_velocity_y: f32) -> (m: Matrix4f32)Sourcematrix4_from_derived_euler_angle_y_f64
matrix4_from_derived_euler_angle_y_f64 :: proc(angle_y: f64, angular_velocity_y: f64) -> (m: Matrix4f64)Sourcematrix4_from_derived_euler_angle_z_f16
matrix4_from_derived_euler_angle_z_f16 :: proc(angle_z: f16, angular_velocity_z: f16) -> (m: Matrix4f16)Sourcematrix4_from_derived_euler_angle_z_f32
matrix4_from_derived_euler_angle_z_f32 :: proc(angle_z: f32, angular_velocity_z: f32) -> (m: Matrix4f32)Sourcematrix4_from_derived_euler_angle_z_f64
matrix4_from_derived_euler_angle_z_f64 :: proc(angle_z: f64, angular_velocity_z: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angle_x_f16
matrix4_from_euler_angle_x_f16 :: proc(angle_x: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angle_x_f32
matrix4_from_euler_angle_x_f32 :: proc(angle_x: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angle_x_f64
matrix4_from_euler_angle_x_f64 :: proc(angle_x: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angle_y_f16
matrix4_from_euler_angle_y_f16 :: proc(angle_y: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angle_y_f32
matrix4_from_euler_angle_y_f32 :: proc(angle_y: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angle_y_f64
matrix4_from_euler_angle_y_f64 :: proc(angle_y: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angle_z_f16
matrix4_from_euler_angle_z_f16 :: proc(angle_z: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angle_z_f32
matrix4_from_euler_angle_z_f32 :: proc(angle_z: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angle_z_f64
matrix4_from_euler_angle_z_f64 :: proc(angle_z: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_f16
matrix4_from_euler_angles_f16 :: proc(t1: f16, t2: f16, t3: f16, order: Euler_Angle_Order) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_f32
matrix4_from_euler_angles_f32 :: proc(t1: f32, t2: f32, t3: f32, order: Euler_Angle_Order) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_f64
matrix4_from_euler_angles_f64 :: proc(t1: f64, t2: f64, t3: f64, order: Euler_Angle_Order) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xy_f16
matrix4_from_euler_angles_xy_f16 :: proc(angle_x: f16, angle_y: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xy_f32
matrix4_from_euler_angles_xy_f32 :: proc(angle_x: f32, angle_y: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xy_f64
matrix4_from_euler_angles_xy_f64 :: proc(angle_x: f64, angle_y: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xyx_f16
matrix4_from_euler_angles_xyx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xyx_f32
matrix4_from_euler_angles_xyx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xyx_f64
matrix4_from_euler_angles_xyx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xyz_f16
matrix4_from_euler_angles_xyz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xyz_f32
matrix4_from_euler_angles_xyz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xyz_f64
matrix4_from_euler_angles_xyz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xz_f16
matrix4_from_euler_angles_xz_f16 :: proc(angle_x: f16, angle_z: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xz_f32
matrix4_from_euler_angles_xz_f32 :: proc(angle_x: f32, angle_z: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xz_f64
matrix4_from_euler_angles_xz_f64 :: proc(angle_x: f64, angle_z: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xzx_f16
matrix4_from_euler_angles_xzx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xzx_f32
matrix4_from_euler_angles_xzx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xzx_f64
matrix4_from_euler_angles_xzx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_xzy_f16
matrix4_from_euler_angles_xzy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_xzy_f32
matrix4_from_euler_angles_xzy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_xzy_f64
matrix4_from_euler_angles_xzy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yx_f16
matrix4_from_euler_angles_yx_f16 :: proc(angle_y: f16, angle_x: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yx_f32
matrix4_from_euler_angles_yx_f32 :: proc(angle_y: f32, angle_x: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yx_f64
matrix4_from_euler_angles_yx_f64 :: proc(angle_y: f64, angle_x: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yxy_f16
matrix4_from_euler_angles_yxy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yxy_f32
matrix4_from_euler_angles_yxy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yxy_f64
matrix4_from_euler_angles_yxy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yxz_f16
matrix4_from_euler_angles_yxz_f16 :: proc(yaw: f16, pitch: f16, roll: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yxz_f32
matrix4_from_euler_angles_yxz_f32 :: proc(yaw: f32, pitch: f32, roll: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yxz_f64
matrix4_from_euler_angles_yxz_f64 :: proc(yaw: f64, pitch: f64, roll: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yz_f16
matrix4_from_euler_angles_yz_f16 :: proc(angle_y: f16, angle_z: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yz_f32
matrix4_from_euler_angles_yz_f32 :: proc(angle_y: f32, angle_z: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yz_f64
matrix4_from_euler_angles_yz_f64 :: proc(angle_y: f64, angle_z: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yzx_f16
matrix4_from_euler_angles_yzx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yzx_f32
matrix4_from_euler_angles_yzx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yzx_f64
matrix4_from_euler_angles_yzx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_yzy_f16
matrix4_from_euler_angles_yzy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_yzy_f32
matrix4_from_euler_angles_yzy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_yzy_f64
matrix4_from_euler_angles_yzy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zx_f16
matrix4_from_euler_angles_zx_f16 :: proc(angle_z: f16, angle_x: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zx_f32
matrix4_from_euler_angles_zx_f32 :: proc(angle_z: f32, angle_x: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zx_f64
matrix4_from_euler_angles_zx_f64 :: proc(angle_z: f64, angle_x: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zxy_f16
matrix4_from_euler_angles_zxy_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zxy_f32
matrix4_from_euler_angles_zxy_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zxy_f64
matrix4_from_euler_angles_zxy_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zxz_f16
matrix4_from_euler_angles_zxz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zxz_f32
matrix4_from_euler_angles_zxz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zxz_f64
matrix4_from_euler_angles_zxz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zy_f16
matrix4_from_euler_angles_zy_f16 :: proc(angle_z: f16, angle_y: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zy_f32
matrix4_from_euler_angles_zy_f32 :: proc(angle_z: f32, angle_y: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zy_f64
matrix4_from_euler_angles_zy_f64 :: proc(angle_z: f64, angle_y: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zyx_f16
matrix4_from_euler_angles_zyx_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zyx_f32
matrix4_from_euler_angles_zyx_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zyx_f64
matrix4_from_euler_angles_zyx_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_euler_angles_zyz_f16
matrix4_from_euler_angles_zyz_f16 :: proc(t1: f16, t2: f16, t3: f16) -> (m: Matrix4f16)Sourcematrix4_from_euler_angles_zyz_f32
matrix4_from_euler_angles_zyz_f32 :: proc(t1: f32, t2: f32, t3: f32) -> (m: Matrix4f32)Sourcematrix4_from_euler_angles_zyz_f64
matrix4_from_euler_angles_zyz_f64 :: proc(t1: f64, t2: f64, t3: f64) -> (m: Matrix4f64)Sourcematrix4_from_matrix2_f16
matrix4_from_matrix2_f16 :: proc(m: Matrix2f16) -> (r: Matrix4f16)Sourcematrix4_from_matrix2_f32
matrix4_from_matrix2_f32 :: proc(m: Matrix2f32) -> (r: Matrix4f32)Sourcematrix4_from_matrix2_f64
matrix4_from_matrix2_f64 :: proc(m: Matrix2f64) -> (r: Matrix4f64)Sourcematrix4_from_matrix3_f16
matrix4_from_matrix3_f16 :: proc(m: Matrix3f16) -> (r: Matrix4f16)Sourcematrix4_from_matrix3_f32
matrix4_from_matrix3_f32 :: proc(m: Matrix3f32) -> (r: Matrix4f32)Sourcematrix4_from_matrix3_f64
matrix4_from_matrix3_f64 :: proc(m: Matrix3f64) -> (r: Matrix4f64)Sourcematrix4_from_quaternion_f16
matrix4_from_quaternion_f16 :: proc(q: Quaternionf16) -> (m: Matrix4f16)Sourcematrix4_from_quaternion_f32
matrix4_from_quaternion_f32 :: proc(q: Quaternionf32) -> (m: Matrix4f32)Sourcematrix4_from_quaternion_f64
matrix4_from_quaternion_f64 :: proc(q: Quaternionf64) -> (m: Matrix4f64)Sourcematrix4_from_scalar_f16
matrix4_from_scalar_f16 :: proc(f: f16) -> (m: Matrix4f16)Sourcematrix4_from_scalar_f32
matrix4_from_scalar_f32 :: proc(f: f32) -> (m: Matrix4f32)Sourcematrix4_from_scalar_f64
matrix4_from_scalar_f64 :: proc(f: f64) -> (m: Matrix4f64)Sourcematrix4_from_trs_f16
matrix4_from_trs_f16 :: proc(t: Vector3f16, r: Quaternionf16, s: Vector3f16) -> (Matrix4f16)Sourcematrix4_from_trs_f32
matrix4_from_trs_f32 :: proc(t: Vector3f32, r: Quaternionf32, s: Vector3f32) -> (Matrix4f32)Sourcematrix4_from_trs_f64
matrix4_from_trs_f64 :: proc(t: Vector3f64, r: Quaternionf64, s: Vector3f64) -> (Matrix4f64)Sourcematrix4_from_yaw_pitch_roll_f16
matrix4_from_yaw_pitch_roll_f16 :: proc(yaw: f16, pitch: f16, roll: f16) -> (m: Matrix4f16)Sourcematrix4_from_yaw_pitch_roll_f32
matrix4_from_yaw_pitch_roll_f32 :: proc(yaw: f32, pitch: f32, roll: f32) -> (m: Matrix4f32)Sourcematrix4_from_yaw_pitch_roll_f64
matrix4_from_yaw_pitch_roll_f64 :: proc(yaw: f64, pitch: f64, roll: f64) -> (m: Matrix4f64)Sourcematrix4_infinite_perspective_f16
matrix4_infinite_perspective_f16 :: proc(fovy: f16, aspect: f16, near: f16, flip_z_axis: untyped boolean = true) -> (m: Matrix4f16)Sourcematrix4_infinite_perspective_f32
matrix4_infinite_perspective_f32 :: proc(fovy: f32, aspect: f32, near: f32, flip_z_axis: untyped boolean = true) -> (m: Matrix4f32)Sourcematrix4_infinite_perspective_f64
matrix4_infinite_perspective_f64 :: proc(fovy: f64, aspect: f64, near: f64, flip_z_axis: untyped boolean = true) -> (m: Matrix4f64)Sourcematrix4_inverse_f16
matrix4_inverse_f16 :: proc(m: Matrix4f16) -> (Matrix4f16)Sourcematrix4_inverse_f32
matrix4_inverse_f32 :: proc(m: Matrix4f32) -> (Matrix4f32)Sourcematrix4_inverse_f64
matrix4_inverse_f64 :: proc(m: Matrix4f64) -> (Matrix4f64)Sourcematrix4_inverse_transpose_f16
matrix4_inverse_transpose_f16 :: proc(m: Matrix4f16) -> (inverse_transpose: Matrix4f16)Sourcematrix4_inverse_transpose_f32
matrix4_inverse_transpose_f32 :: proc(m: Matrix4f32) -> (inverse_transpose: Matrix4f32)Sourcematrix4_inverse_transpose_f64
matrix4_inverse_transpose_f64 :: proc(m: Matrix4f64) -> (inverse_transpose: Matrix4f64)Sourcematrix4_look_at_f16
matrix4_look_at_f16 :: proc(eye: Vector3f16, centre: Vector3f16, up: Vector3f16, flip_z_axis: untyped boolean = true) -> (m: Matrix4f16)Sourcematrix4_look_at_f32
matrix4_look_at_f32 :: proc(eye: Vector3f32, centre: Vector3f32, up: Vector3f32, flip_z_axis: untyped boolean = true) -> (m: Matrix4f32)Sourcematrix4_look_at_f64
matrix4_look_at_f64 :: proc(eye: Vector3f64, centre: Vector3f64, up: Vector3f64, flip_z_axis: untyped boolean = true) -> (m: Matrix4f64)Sourcematrix4_look_at_from_fru_f16
matrix4_look_at_from_fru_f16 :: proc(eye: Vector3f16, f: Vector3f16, r: Vector3f16, u: Vector3f16, flip_z_axis: untyped boolean = true) -> (m: Matrix4f16)Sourcematrix4_look_at_from_fru_f32
matrix4_look_at_from_fru_f32 :: proc(eye: Vector3f32, f: Vector3f32, r: Vector3f32, u: Vector3f32, flip_z_axis: untyped boolean = true) -> (m: Matrix4f32)Sourcematrix4_look_at_from_fru_f64
matrix4_look_at_from_fru_f64 :: proc(eye: Vector3f64, f: Vector3f64, r: Vector3f64, u: Vector3f64, flip_z_axis: untyped boolean = true) -> (m: Matrix4f64)Sourcematrix4_minor_f16
matrix4_minor_f16 :: proc(m: Matrix4f16, c: int, r: int) -> (f16)Sourcematrix4_minor_f32
matrix4_minor_f32 :: proc(m: Matrix4f32, c: int, r: int) -> (f32)Sourcematrix4_minor_f64
matrix4_minor_f64 :: proc(m: Matrix4f64, c: int, r: int) -> (f64)Sourcematrix4_orientation_f16
matrix4_orientation_f16 :: proc(normal: Vector3f16, up: Vector3f16) -> (Matrix4f16)Sourcematrix4_orientation_f32
matrix4_orientation_f32 :: proc(normal: Vector3f32, up: Vector3f32) -> (Matrix4f32)Sourcematrix4_orientation_f64
matrix4_orientation_f64 :: proc(normal: Vector3f64, up: Vector3f64) -> (Matrix4f64)Sourcematrix4_perspective_f16
matrix4_perspective_f16 :: proc(fovy: f16, aspect: f16, near: f16, far: f16, flip_z_axis: untyped boolean = true) -> (m: Matrix4f16)Sourcematrix4_perspective_f32
matrix4_perspective_f32 :: proc(fovy: f32, aspect: f32, near: f32, far: f32, flip_z_axis: untyped boolean = true) -> (m: Matrix4f32)Sourcematrix4_perspective_f64
matrix4_perspective_f64 :: proc(fovy: f64, aspect: f64, near: f64, far: f64, flip_z_axis: untyped boolean = true) -> (m: Matrix4f64)Sourcematrix4_rotate_f16
matrix4_rotate_f16 :: proc(angle_radians: f16, v: Vector3f16) -> (Matrix4f16)Sourcematrix4_rotate_f32
matrix4_rotate_f32 :: proc(angle_radians: f32, v: Vector3f32) -> (Matrix4f32)Sourcematrix4_rotate_f64
matrix4_rotate_f64 :: proc(angle_radians: f64, v: Vector3f64) -> (Matrix4f64)Sourcematrix4_scale_f16
matrix4_scale_f16 :: proc(v: Vector3f16) -> (m: Matrix4f16)Sourcematrix4_scale_f32
matrix4_scale_f32 :: proc(v: Vector3f32) -> (m: Matrix4f32)Sourcematrix4_scale_f64
matrix4_scale_f64 :: proc(v: Vector3f64) -> (m: Matrix4f64)Sourcematrix4_translate_f16
matrix4_translate_f16 :: proc(v: Vector3f16) -> (Matrix4f16)Sourcematrix4_translate_f32
matrix4_translate_f32 :: proc(v: Vector3f32) -> (Matrix4f32)Sourcematrix4_translate_f64
matrix4_translate_f64 :: proc(v: Vector3f64) -> (Matrix4f64)Sourcematrix4x4_adjugate
matrix4x4_adjugate :: proc(x: M) -> (y: M)Sourcematrix4x4_cofactor
matrix4x4_cofactor :: proc(x: M) -> (y: M)Sourcematrix4x4_determinant
matrix4x4_determinant :: proc(m: M) -> (det: T)Sourcematrix4x4_inverse
matrix4x4_inverse :: proc(x: M) -> (y: M)Sourcematrix4x4_inverse_transpose
matrix4x4_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix5x5_adjugate
matrix5x5_adjugate :: proc(x: M) -> (y: M)Sourcematrix5x5_cofactor
matrix5x5_cofactor :: proc(x: M) -> (y: M)Sourcematrix5x5_determinant
matrix5x5_determinant :: proc(m: M) -> (det: T)Sourcematrix5x5_inverse
matrix5x5_inverse :: proc(x: M) -> (y: M)Sourcematrix5x5_inverse_transpose
matrix5x5_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix6x6_adjugate
matrix6x6_adjugate :: proc(x: M) -> (y: M)Sourcematrix6x6_cofactor
matrix6x6_cofactor :: proc(x: M) -> (y: M)Sourcematrix6x6_determinant
matrix6x6_determinant :: proc(m: M) -> (det: T)Sourcematrix6x6_inverse
matrix6x6_inverse :: proc(x: M) -> (y: M)Sourcematrix6x6_inverse_transpose
matrix6x6_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix7x7_adjugate
matrix7x7_adjugate :: proc(x: M) -> (y: M)Sourcematrix7x7_cofactor
matrix7x7_cofactor :: proc(x: M) -> (y: M)Sourcematrix7x7_determinant
matrix7x7_determinant :: proc(m: M) -> (det: T)Sourcematrix7x7_inverse
matrix7x7_inverse :: proc(x: M) -> (y: M)Sourcematrix7x7_inverse_transpose
matrix7x7_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix8x8_adjugate
matrix8x8_adjugate :: proc(x: M) -> (y: M)Sourcematrix8x8_cofactor
matrix8x8_cofactor :: proc(x: M) -> (y: M)Sourcematrix8x8_determinant
matrix8x8_determinant :: proc(m: M) -> (det: T)Sourcematrix8x8_inverse
matrix8x8_inverse :: proc(x: M) -> (y: M)Sourcematrix8x8_inverse_transpose
matrix8x8_inverse_transpose :: proc(x: M) -> (y: M)Sourcematrix_adjugate_general
matrix_adjugate_general :: proc(x) -> (y: M)Sourcematrix_cast
matrix_cast :: proc(v, Elem_Type: typeid) -> (w)Sourcematrix_cofactor_general
matrix_cofactor_general :: proc(x) -> (y: M)Sourcematrix_comp_mul
matrix_comp_mul :: proc(a, b) -> (c: M)Sourcematrix_determinant_generic
matrix_determinant_generic :: proc(a) -> (T)Sourcematrix_inverse_gauss_jordan
matrix_inverse_gauss_jordan :: proc(A) -> (b: M, non_singular: bool)Sourcematrix_inverse_lu_decomposition
matrix_inverse_lu_decomposition :: proc(A) -> (b: M, non_singular: bool)Sourcematrix_minor
matrix_minor :: proc(m, any_int, column: int) -> (minor: T)Sourcematrix_mul
matrix_mul :: proc(a, b) -> (c: M)Sourcematrix_mul_differ
matrix_mul_differ :: proc(a, b) -> (c)Sourcematrix_mul_vector
matrix_mul_vector :: proc(a, b: B) -> (c: B)Sourcematrix_ortho3d_f16
matrix_ortho3d_f16 :: proc(
left: f16,
right: f16,
bottom: f16,
top: f16,
near: f16,
far: f16,
flip_z_axis: untyped boolean = true,
) -> (m: Matrix4f16)Sourcematrix_ortho3d_f32
matrix_ortho3d_f32 :: proc(
left: f32,
right: f32,
bottom: f32,
top: f32,
near: f32,
far: f32,
flip_z_axis: untyped boolean = true,
) -> (m: Matrix4f32)Sourcematrix_ortho3d_f64
matrix_ortho3d_f64 :: proc(
left: f64,
right: f64,
bottom: f64,
top: f64,
near: f64,
far: f64,
flip_z_axis: untyped boolean = true,
) -> (m: Matrix4f64)Sourcematrix_pseudo_inverse
matrix_pseudo_inverse :: proc(A) -> (B, not_singular: bool)SourceMoore-Penrose Pseudo-Inverse
matrix_to_ptr
matrix_to_ptr :: proc(m) -> (^E)Sourcemax_double
max_double :: proc(a: T, b: T) -> (out: T)Sourcemax_single
max_single :: proc(a: T) -> (out: ELEM_TYPE(T))Sourcemax_triple
max_triple :: proc(a: T, b: T, c: T) -> (T)Sourcemin_double
min_double :: proc(a: T, b: T) -> (out: T)Sourcemin_single
min_single :: proc(a: T) -> (out: ELEM_TYPE(T))Sourcemin_triple
min_triple :: proc(a: T, b: T, c: T) -> (T)Sourcemix
mix :: proc(a: T, b: T, t: T) -> (out: T)Sourcemod
mod :: proc(x: T, m: T) -> (T)Sourcenot
not :: proc(x: A) -> (out: A)Sourcenot_equal_array
not_equal_array :: proc(x: A, y: A) -> (out: [N]bool)Sourcenot_equal_single
not_equal_single :: proc(x: T, y: T) -> (out: bool)Sourcepitch_from_quaternion_f16
pitch_from_quaternion_f16 :: proc(q: Quaternionf16) -> (f16)Sourcepitch_from_quaternion_f32
pitch_from_quaternion_f32 :: proc(q: Quaternionf32) -> (f32)Sourcepitch_from_quaternion_f64
pitch_from_quaternion_f64 :: proc(q: Quaternionf64) -> (f64)Sourcepitch_yaw_roll_from_quaternion_f16
pitch_yaw_roll_from_quaternion_f16 :: proc(q: Quaternionf16) -> (pitch: f16, yaw: f16, roll: f16)Sourcepitch_yaw_roll_from_quaternion_f32
pitch_yaw_roll_from_quaternion_f32 :: proc(q: Quaternionf32) -> (pitch: f32, yaw: f32, roll: f32)Sourcepitch_yaw_roll_from_quaternion_f64
pitch_yaw_roll_from_quaternion_f64 :: proc(q: Quaternionf64) -> (pitch: f64, yaw: f64, roll: f64)Sourcepolar_from_euclidean_f16
polar_from_euclidean_f16 :: proc(euclidean: Vector3f16) -> (Vector3f16)Sourcepolar_from_euclidean_f32
polar_from_euclidean_f32 :: proc(euclidean: Vector3f32) -> (Vector3f32)Sourcepolar_from_euclidean_f64
polar_from_euclidean_f64 :: proc(euclidean: Vector3f64) -> (Vector3f64)Sourcepow
pow :: proc(x: T, e: T) -> (out: T)Sourceprojection
projection :: proc(x: T, normal: T) -> (T)Sourcequaternion128_angle_between
quaternion128_angle_between :: proc(a: Q, b: Q) -> (f32)Sourcequaternion128_dot
quaternion128_dot :: proc(a: T, b: T) -> (c: f32)Sourcequaternion128_mul_vector3
quaternion128_mul_vector3 :: proc(q: Q, v: V) -> (V)Sourcequaternion256_angle_between
quaternion256_angle_between :: proc(a: Q, b: Q) -> (f64)Sourcequaternion256_dot
quaternion256_dot :: proc(a: T, b: T) -> (c: f64)Sourcequaternion256_mul_vector3
quaternion256_mul_vector3 :: proc(q: Q, v: V) -> (V)Sourcequaternion64_angle_between
quaternion64_angle_between :: proc(a: Q, b: Q) -> (f16)Sourcequaternion64_dot
quaternion64_dot :: proc(a: T, b: T) -> (c: f16)Sourcequaternion64_mul_vector3
quaternion64_mul_vector3 :: proc(q: Q, v: V) -> (V)Sourcequaternion_angle_axis_f16
quaternion_angle_axis_f16 :: proc(angle_radians: f16, axis: Vector3f16) -> (q: Quaternionf16)Sourcequaternion_angle_axis_f32
quaternion_angle_axis_f32 :: proc(angle_radians: f32, axis: Vector3f32) -> (q: Quaternionf32)Sourcequaternion_angle_axis_f64
quaternion_angle_axis_f64 :: proc(angle_radians: f64, axis: Vector3f64) -> (q: Quaternionf64)Sourcequaternion_between_two_vector3_f16
quaternion_between_two_vector3_f16 :: proc(from: Vector3f16, to: Vector3f16) -> (q: Quaternionf16)Sourcequaternion_between_two_vector3_f32
quaternion_between_two_vector3_f32 :: proc(from: Vector3f32, to: Vector3f32) -> (q: Quaternionf32)Sourcequaternion_between_two_vector3_f64
quaternion_between_two_vector3_f64 :: proc(from: Vector3f64, to: Vector3f64) -> (q: Quaternionf64)Sourcequaternion_cross
quaternion_cross :: proc(q1: Q, q2: Q) -> (q3: Q)Sourcequaternion_from_euler_angle_x_f16
quaternion_from_euler_angle_x_f16 :: proc(angle_x: f16) -> (q: Quaternionf16)SourceQuaternionf16s
quaternion_from_euler_angle_x_f32
quaternion_from_euler_angle_x_f32 :: proc(angle_x: f32) -> (q: Quaternionf32)SourceQuaternionf32s
quaternion_from_euler_angle_x_f64
quaternion_from_euler_angle_x_f64 :: proc(angle_x: f64) -> (q: Quaternionf64)SourceQuaternionf64s
quaternion_from_euler_angle_y_f16
quaternion_from_euler_angle_y_f16 :: proc(angle_y: f16) -> (q: Quaternionf16)Sourcequaternion_from_euler_angle_y_f32
quaternion_from_euler_angle_y_f32 :: proc(angle_y: f32) -> (q: Quaternionf32)Sourcequaternion_from_euler_angle_y_f64
quaternion_from_euler_angle_y_f64 :: proc(angle_y: f64) -> (q: Quaternionf64)Sourcequaternion_from_euler_angle_z_f16
quaternion_from_euler_angle_z_f16 :: proc(angle_z: f16) -> (q: Quaternionf16)Sourcequaternion_from_euler_angle_z_f32
quaternion_from_euler_angle_z_f32 :: proc(angle_z: f32) -> (q: Quaternionf32)Sourcequaternion_from_euler_angle_z_f64
quaternion_from_euler_angle_z_f64 :: proc(angle_z: f64) -> (q: Quaternionf64)Sourcequaternion_from_euler_angles_f16
quaternion_from_euler_angles_f16 :: proc(t1: f16, t2: f16, t3: f16, order: Euler_Angle_Order) -> (Quaternionf16)Sourcequaternion_from_euler_angles_f32
quaternion_from_euler_angles_f32 :: proc(t1: f32, t2: f32, t3: f32, order: Euler_Angle_Order) -> (Quaternionf32)Sourcequaternion_from_euler_angles_f64
quaternion_from_euler_angles_f64 :: proc(t1: f64, t2: f64, t3: f64, order: Euler_Angle_Order) -> (Quaternionf64)Sourcequaternion_from_forward_and_up_f16
quaternion_from_forward_and_up_f16 :: proc(forward: Vector3f16, up: Vector3f16) -> (Quaternionf16)Sourcequaternion_from_forward_and_up_f32
quaternion_from_forward_and_up_f32 :: proc(forward: Vector3f32, up: Vector3f32) -> (Quaternionf32)Sourcequaternion_from_forward_and_up_f64
quaternion_from_forward_and_up_f64 :: proc(forward: Vector3f64, up: Vector3f64) -> (Quaternionf64)Sourcequaternion_from_matrix3_f16
quaternion_from_matrix3_f16 :: proc(m: Matrix3f16) -> (q: Quaternionf16)Sourcequaternion_from_matrix3_f32
quaternion_from_matrix3_f32 :: proc(m: Matrix3f32) -> (q: Quaternionf32)Sourcequaternion_from_matrix3_f64
quaternion_from_matrix3_f64 :: proc(m: Matrix3f64) -> (q: Quaternionf64)Sourcequaternion_from_matrix4_f16
quaternion_from_matrix4_f16 :: proc(m: Matrix4f16) -> (q: Quaternionf16)Sourcequaternion_from_matrix4_f32
quaternion_from_matrix4_f32 :: proc(m: Matrix4f32) -> (q: Quaternionf32)Sourcequaternion_from_matrix4_f64
quaternion_from_matrix4_f64 :: proc(m: Matrix4f64) -> (q: Quaternionf64)Sourcequaternion_from_pitch_yaw_roll_f16
quaternion_from_pitch_yaw_roll_f16 :: proc(pitch: f16, yaw: f16, roll: f16) -> (Quaternionf16)Sourcequaternion_from_pitch_yaw_roll_f32
quaternion_from_pitch_yaw_roll_f32 :: proc(pitch: f32, yaw: f32, roll: f32) -> (Quaternionf32)Sourcequaternion_from_pitch_yaw_roll_f64
quaternion_from_pitch_yaw_roll_f64 :: proc(pitch: f64, yaw: f64, roll: f64) -> (Quaternionf64)Sourcequaternion_from_scalar_f16
quaternion_from_scalar_f16 :: proc(f: f16) -> (q: Quaternionf16)Sourcequaternion_from_scalar_f32
quaternion_from_scalar_f32 :: proc(f: f32) -> (q: Quaternionf32)Sourcequaternion_from_scalar_f64
quaternion_from_scalar_f64 :: proc(f: f64) -> (q: Quaternionf64)Sourcequaternion_inverse
quaternion_inverse :: proc(q: Q) -> (Q)Sourcequaternion_length
quaternion_length :: proc(q: Q) -> (Q)Sourcequaternion_length2
quaternion_length2 :: proc(q: Q) -> (Q)Sourcequaternion_look_at_f16
quaternion_look_at_f16 :: proc(eye: Vector3f16, centre: Vector3f16, up: Vector3f16) -> (Quaternionf16)Sourcequaternion_look_at_f32
quaternion_look_at_f32 :: proc(eye: Vector3f32, centre: Vector3f32, up: Vector3f32) -> (Quaternionf32)Sourcequaternion_look_at_f64
quaternion_look_at_f64 :: proc(eye: Vector3f64, centre: Vector3f64, up: Vector3f64) -> (Quaternionf64)Sourcequaternion_mul_quaternion
quaternion_mul_quaternion :: proc(q1: Q, q2: Q) -> (Q)Sourcequaternion_nlerp_f16
quaternion_nlerp_f16 :: proc(a: Quaternionf16, b: Quaternionf16, t: f16) -> (c: Quaternionf16)Sourcequaternion_nlerp_f32
quaternion_nlerp_f32 :: proc(a: Quaternionf32, b: Quaternionf32, t: f32) -> (c: Quaternionf32)Sourcequaternion_nlerp_f64
quaternion_nlerp_f64 :: proc(a: Quaternionf64, b: Quaternionf64, t: f64) -> (c: Quaternionf64)Sourcequaternion_normalize
quaternion_normalize :: proc(q: Q) -> (Q)Sourcequaternion_normalize0
quaternion_normalize0 :: proc(q: Q) -> (Q)Sourcequaternion_slerp_f16
quaternion_slerp_f16 :: proc(x: Quaternionf16, y: Quaternionf16, t: f16) -> (q: Quaternionf16)Sourcequaternion_slerp_f32
quaternion_slerp_f32 :: proc(x: Quaternionf32, y: Quaternionf32, t: f32) -> (q: Quaternionf32)Sourcequaternion_slerp_f64
quaternion_slerp_f64 :: proc(x: Quaternionf64, y: Quaternionf64, t: f64) -> (q: Quaternionf64)Sourcequaternion_squad_f16
quaternion_squad_f16 :: proc(q1: Quaternionf16, q2: Quaternionf16, s1: Quaternionf16, s2: Quaternionf16, h: f16) -> (Quaternionf16)Sourcequaternion_squad_f32
quaternion_squad_f32 :: proc(q1: Quaternionf32, q2: Quaternionf32, s1: Quaternionf32, s2: Quaternionf32, h: f32) -> (Quaternionf32)Sourcequaternion_squad_f64
quaternion_squad_f64 :: proc(q1: Quaternionf64, q2: Quaternionf64, s1: Quaternionf64, s2: Quaternionf64, h: f64) -> (Quaternionf64)Sourcereflect
reflect :: proc(I: T, N: T) -> (out: T)Sourcerefract
refract :: proc(I: V, Normal: V, eta: E) -> (out: V)Sourceroll_from_quaternion_f16
roll_from_quaternion_f16 :: proc(q: Quaternionf16) -> (f16)Sourceroll_from_quaternion_f32
roll_from_quaternion_f32 :: proc(q: Quaternionf32) -> (f32)Sourceroll_from_quaternion_f64
roll_from_quaternion_f64 :: proc(q: Quaternionf64) -> (f64)Sourceround
round :: proc(x: T) -> (out: T)Sourcesaturate
saturate :: proc(x: T) -> (T)Sourcescalar_cross
scalar_cross :: proc(a: T, b: T) -> (T)Sourcescalar_dot
scalar_dot :: proc(a: T, b: T) -> (T)Sourcescalar_f32_swizzle1
scalar_f32_swizzle1 :: proc(f: f32, c0: Scalar_Components) -> (f32)Sourcescalar_f32_swizzle2
scalar_f32_swizzle2 :: proc(f: f32, c0: Scalar_Components, c1: Scalar_Components) -> (Vector2f32)Sourcescalar_f32_swizzle3
scalar_f32_swizzle3 :: proc(f: f32, c0: Scalar_Components, c1: Scalar_Components, c2: Scalar_Components) -> (Vector3f32)Sourcescalar_f32_swizzle4
scalar_f32_swizzle4 :: proc(f: f32, c0: Scalar_Components, c1: Scalar_Components, c2: Scalar_Components, c3: Scalar_Components) -> (Vector4f32)Sourcescalar_f64_swizzle1
scalar_f64_swizzle1 :: proc(f: f64, c0: Scalar_Components) -> (f64)Sourcescalar_f64_swizzle2
scalar_f64_swizzle2 :: proc(f: f64, c0: Scalar_Components, c1: Scalar_Components) -> (Vector2f64)Sourcescalar_f64_swizzle3
scalar_f64_swizzle3 :: proc(f: f64, c0: Scalar_Components, c1: Scalar_Components, c2: Scalar_Components) -> (Vector3f64)Sourcescalar_f64_swizzle4
scalar_f64_swizzle4 :: proc(f: f64, c0: Scalar_Components, c1: Scalar_Components, c2: Scalar_Components, c3: Scalar_Components) -> (Vector4f64)Sourcescalar_triple_product
scalar_triple_product :: proc(a: T, b: T, c: T) -> (E)Sourcesign
sign :: proc(a: T) -> (out: T)Sourcesin
sin :: proc(x: T) -> (out: T)Sourcesmootherstep
smootherstep :: proc(e0: T, e1: T, x: T) -> (T)Sourcesmoothstep
smoothstep :: proc(e0: T, e1: T, x: T) -> (T)Sourcesqrt
sqrt :: proc(x: T) -> (out: T)Sourcestep
step :: proc(e: T, x: T) -> (out: T)Sourcetan
tan :: proc(x: T) -> (out: T)Sourceto_complex128
to_complex128 :: proc(v: A) -> ([N]complex128)Sourceto_complex32
to_complex32 :: proc(v: A) -> ([N]complex32)Sourceto_complex64
to_complex64 :: proc(v: A) -> ([N]complex64)Sourceto_degrees
to_degrees :: proc(radians: T) -> (out: T)Sourceto_f16
to_f16 :: proc(v: A) -> ([N]f16)Sourceto_f32
to_f32 :: proc(v: A) -> ([N]f32)Sourceto_f64
to_f64 :: proc(v: A) -> ([N]f64)Sourceto_i16
to_i16 :: proc(v: A) -> ([N]i16)Sourceto_i32
to_i32 :: proc(v: A) -> ([N]i32)Sourceto_i64
to_i64 :: proc(v: A) -> ([N]i64)Sourceto_i8
to_i8 :: proc(v: A) -> ([N]i8)Sourceto_int
to_int :: proc(v: A) -> ([N]int)Sourceto_quaternion128
to_quaternion128 :: proc(v: A) -> ([N]quaternion128)Sourceto_quaternion256
to_quaternion256 :: proc(v: A) -> ([N]quaternion256)Sourceto_quaternion64
to_quaternion64 :: proc(v: A) -> ([N]quaternion64)Sourceto_radians
to_radians :: proc(degrees: T) -> (out: T)Sourceto_u16
to_u16 :: proc(v: A) -> ([N]u16)Sourceto_u32
to_u32 :: proc(v: A) -> ([N]u32)Sourceto_u64
to_u64 :: proc(v: A) -> ([N]u64)Sourceto_u8
to_u8 :: proc(v: A) -> ([N]u8)Sourceto_uint
to_uint :: proc(v: A) -> ([N]uint)Sourcetrace
trace :: proc(m) -> (trace: T)Sourcetrunc
trunc :: proc(x: T) -> (out: T)Sourceunlerp
unlerp :: proc(a: T, b: T, x: T) -> (T)Sourcevector2_orthogonal
vector2_orthogonal :: proc(v: V) -> (V)Sourcevector2f32_swizzle1
vector2f32_swizzle1 :: proc(v: Vector2f32, c0: Vector2_Components) -> (f32)Sourcevector2f32_swizzle2
vector2f32_swizzle2 :: proc(v: Vector2f32, c0: Vector2_Components, c1: Vector2_Components) -> (Vector2f32)Sourcevector2f32_swizzle3
vector2f32_swizzle3 :: proc(v: Vector2f32, c0: Vector2_Components, c1: Vector2_Components, c2: Vector2_Components) -> (Vector3f32)Sourcevector2f32_swizzle4
vector2f32_swizzle4 :: proc(v: Vector2f32, c0: Vector2_Components, c1: Vector2_Components, c2: Vector2_Components, c3: Vector2_Components) -> (Vector4f32)Sourcevector2f64_swizzle1
vector2f64_swizzle1 :: proc(v: Vector2f64, c0: Vector2_Components) -> (f64)Sourcevector2f64_swizzle2
vector2f64_swizzle2 :: proc(v: Vector2f64, c0: Vector2_Components, c1: Vector2_Components) -> (Vector2f64)Sourcevector2f64_swizzle3
vector2f64_swizzle3 :: proc(v: Vector2f64, c0: Vector2_Components, c1: Vector2_Components, c2: Vector2_Components) -> (Vector3f64)Sourcevector2f64_swizzle4
vector2f64_swizzle4 :: proc(v: Vector2f64, c0: Vector2_Components, c1: Vector2_Components, c2: Vector2_Components, c3: Vector2_Components) -> (Vector4f64)Sourcevector3_linear_to_srgb_f16
vector3_linear_to_srgb_f16 :: proc(col: Vector3f16) -> (Vector3f16)Sourcevector3_linear_to_srgb_f32
vector3_linear_to_srgb_f32 :: proc(col: Vector3f32) -> (Vector3f32)Sourcevector3_linear_to_srgb_f64
vector3_linear_to_srgb_f64 :: proc(col: Vector3f64) -> (Vector3f64)Sourcevector3_orthogonal
vector3_orthogonal :: proc(v: V) -> (V)Sourcevector3_orthonormalize_f16
vector3_orthonormalize_f16 :: proc(x: Vector3f16, y: Vector3f16) -> (z: Vector3f16)Sourcevector3_orthonormalize_f32
vector3_orthonormalize_f32 :: proc(x: Vector3f32, y: Vector3f32) -> (z: Vector3f32)Sourcevector3_orthonormalize_f64
vector3_orthonormalize_f64 :: proc(x: Vector3f64, y: Vector3f64) -> (z: Vector3f64)Sourcevector3_srgb_to_linear_f16
vector3_srgb_to_linear_f16 :: proc(col: Vector3f16) -> (Vector3f16)Sourcevector3_srgb_to_linear_f32
vector3_srgb_to_linear_f32 :: proc(col: Vector3f32) -> (Vector3f32)Sourcevector3_srgb_to_linear_f64
vector3_srgb_to_linear_f64 :: proc(col: Vector3f64) -> (Vector3f64)Sourcevector3f32_swizzle1
vector3f32_swizzle1 :: proc(v: Vector3f32, c0: Vector3_Components) -> (f32)Sourcevector3f32_swizzle2
vector3f32_swizzle2 :: proc(v: Vector3f32, c0: Vector3_Components, c1: Vector3_Components) -> (Vector2f32)Sourcevector3f32_swizzle3
vector3f32_swizzle3 :: proc(v: Vector3f32, c0: Vector3_Components, c1: Vector3_Components, c2: Vector3_Components) -> (Vector3f32)Sourcevector3f32_swizzle4
vector3f32_swizzle4 :: proc(v: Vector3f32, c0: Vector3_Components, c1: Vector3_Components, c2: Vector3_Components, c3: Vector3_Components) -> (Vector4f32)Sourcevector3f64_swizzle1
vector3f64_swizzle1 :: proc(v: Vector3f64, c0: Vector3_Components) -> (f64)Sourcevector3f64_swizzle2
vector3f64_swizzle2 :: proc(v: Vector3f64, c0: Vector3_Components, c1: Vector3_Components) -> (Vector2f64)Sourcevector3f64_swizzle3
vector3f64_swizzle3 :: proc(v: Vector3f64, c0: Vector3_Components, c1: Vector3_Components, c2: Vector3_Components) -> (Vector3f64)Sourcevector3f64_swizzle4
vector3f64_swizzle4 :: proc(v: Vector3f64, c0: Vector3_Components, c1: Vector3_Components, c2: Vector3_Components, c3: Vector3_Components) -> (Vector4f64)Sourcevector4_hsl_to_rgb_f16
vector4_hsl_to_rgb_f16 :: proc(h: f16, s: f16, l: f16, a: f16) -> (Vector4f16)Sourcevector4_hsl_to_rgb_f32
vector4_hsl_to_rgb_f32 :: proc(h: f32, s: f32, l: f32, a: f32) -> (Vector4f32)Sourcevector4_hsl_to_rgb_f64
vector4_hsl_to_rgb_f64 :: proc(h: f64, s: f64, l: f64, a: f64) -> (Vector4f64)Sourcevector4_linear_to_srgb_f16
vector4_linear_to_srgb_f16 :: proc(col: Vector4f16) -> (Vector4f16)Sourcevector4_linear_to_srgb_f32
vector4_linear_to_srgb_f32 :: proc(col: Vector4f32) -> (Vector4f32)Sourcevector4_linear_to_srgb_f64
vector4_linear_to_srgb_f64 :: proc(col: Vector4f64) -> (Vector4f64)Sourcevector4_rgb_to_hsl_f16
vector4_rgb_to_hsl_f16 :: proc(col: Vector4f16) -> (Vector4f16)Sourcevector4_rgb_to_hsl_f32
vector4_rgb_to_hsl_f32 :: proc(col: Vector4f32) -> (Vector4f32)Sourcevector4_rgb_to_hsl_f64
vector4_rgb_to_hsl_f64 :: proc(col: Vector4f64) -> (Vector4f64)Sourcevector4_srgb_to_linear_f16
vector4_srgb_to_linear_f16 :: proc(col: Vector4f16) -> (Vector4f16)Sourcevector4_srgb_to_linear_f32
vector4_srgb_to_linear_f32 :: proc(col: Vector4f32) -> (Vector4f32)Sourcevector4_srgb_to_linear_f64
vector4_srgb_to_linear_f64 :: proc(col: Vector4f64) -> (Vector4f64)Sourcevector4f32_swizzle1
vector4f32_swizzle1 :: proc(v: Vector4f32, c0: Vector4_Components) -> (f32)Sourcevector4f32_swizzle2
vector4f32_swizzle2 :: proc(v: Vector4f32, c0: Vector4_Components, c1: Vector4_Components) -> (Vector2f32)Sourcevector4f32_swizzle3
vector4f32_swizzle3 :: proc(v: Vector4f32, c0: Vector4_Components, c1: Vector4_Components, c2: Vector4_Components) -> (Vector3f32)Sourcevector4f32_swizzle4
vector4f32_swizzle4 :: proc(v: Vector4f32, c0: Vector4_Components, c1: Vector4_Components, c2: Vector4_Components, c3: Vector4_Components) -> (Vector4f32)Sourcevector4f64_swizzle1
vector4f64_swizzle1 :: proc(v: Vector4f64, c0: Vector4_Components) -> (f64)Sourcevector4f64_swizzle2
vector4f64_swizzle2 :: proc(v: Vector4f64, c0: Vector4_Components, c1: Vector4_Components) -> (Vector2f64)Sourcevector4f64_swizzle3
vector4f64_swizzle3 :: proc(v: Vector4f64, c0: Vector4_Components, c1: Vector4_Components, c2: Vector4_Components) -> (Vector3f64)Sourcevector4f64_swizzle4
vector4f64_swizzle4 :: proc(v: Vector4f64, c0: Vector4_Components, c1: Vector4_Components, c2: Vector4_Components, c3: Vector4_Components) -> (Vector4f64)Sourcevector_angle_between
vector_angle_between :: proc(a: V, b: V) -> (E)Sourcevector_cross2
vector_cross2 :: proc(a: T, b: T) -> (E)Sourcevector_cross3
vector_cross3 :: proc(a: T, b: T) -> (c: T)Sourcevector_dot
vector_dot :: proc(a: T, b: T) -> (c: E)Sourcevector_length
vector_length :: proc(v: T) -> (E)Sourcevector_length2
vector_length2 :: proc(v: T) -> (E)Sourcevector_normalize
vector_normalize :: proc(v: T) -> (T)Sourcevector_normalize0
vector_normalize0 :: proc(v: T) -> (T)Sourcevector_slerp
vector_slerp :: proc(x: T, y: T, a: E) -> (T)SourceSplines
vector_to_ptr
vector_to_ptr :: proc(v: ^V) -> (^E)Sourcevector_triple_product
vector_triple_product :: proc(a: T, b: T, c: T) -> (T)Sourceyaw_from_quaternion_f16
yaw_from_quaternion_f16 :: proc(q: Quaternionf16) -> (f16)Sourceyaw_from_quaternion_f32
yaw_from_quaternion_f32 :: proc(q: Quaternionf32) -> (f32)Sourceyaw_from_quaternion_f64
yaw_from_quaternion_f64 :: proc(q: Quaternionf64) -> (f64)SourceProcedure Groups
215adjugate
adjugate :: proc{matrix1x1_adjugate, matrix2x2_adjugate, matrix3x3_adjugate, matrix4x4_adjugate, matrix5x5_adjugate, matrix6x6_adjugate, matrix7x7_adjugate, matrix8x8_adjugate}Sourceangle_axis_from_quaternion
angle_axis_from_quaternion :: proc{angle_axis_from_quaternion_f16, angle_axis_from_quaternion_f32, angle_axis_from_quaternion_f64}Sourceangle_between
angle_between :: proc{vector_angle_between, quaternion64_angle_between, quaternion128_angle_between, quaternion256_angle_between}Sourceangle_from_quaternion
angle_from_quaternion :: proc{angle_from_quaternion_f16, angle_from_quaternion_f32, angle_from_quaternion_f64}Sourceaxis_from_quaternion
axis_from_quaternion :: proc{axis_from_quaternion_f16, axis_from_quaternion_f32, axis_from_quaternion_f64}Sourceclassify
classify :: proc{classify_single, classify_array}Sourcecofactor
cofactor :: proc{matrix1x1_cofactor, matrix2x2_cofactor, matrix3x3_cofactor, matrix4x4_cofactor, matrix5x5_cofactor, matrix6x6_cofactor, matrix7x7_cofactor, matrix8x8_cofactor}Sourcecross
cross :: proc{scalar_cross, vector_cross2, vector_cross3, quaternion_cross}Sourcedeterminant
determinant :: proc{matrix1x1_determinant, matrix2x2_determinant, matrix3x3_determinant, matrix4x4_determinant, matrix5x5_determinant, matrix6x6_determinant, matrix7x7_determinant, matrix8x8_determinant}Sourcedot
dot :: proc{scalar_dot, vector_dot, quaternion64_dot, quaternion128_dot, quaternion256_dot}Sourceequal
equal :: proc{equal_single, equal_array}Sourceeuclidean_from_polar
euclidean_from_polar :: proc{euclidean_from_polar_f16, euclidean_from_polar_f32, euclidean_from_polar_f64}Sourceeuler_angles_from_matrix3
euler_angles_from_matrix3 :: proc{euler_angles_from_matrix3_f16, euler_angles_from_matrix3_f32, euler_angles_from_matrix3_f64}Sourceeuler_angles_from_matrix4
euler_angles_from_matrix4 :: proc{euler_angles_from_matrix4_f16, euler_angles_from_matrix4_f32, euler_angles_from_matrix4_f64}Sourceeuler_angles_from_quaternion
euler_angles_from_quaternion :: proc{euler_angles_from_quaternion_f16, euler_angles_from_quaternion_f32, euler_angles_from_quaternion_f64}Sourceeuler_angles_xyx_from_matrix3
euler_angles_xyx_from_matrix3 :: proc{euler_angles_xyx_from_matrix3_f16, euler_angles_xyx_from_matrix3_f32, euler_angles_xyx_from_matrix3_f64}Sourceeuler_angles_xyx_from_matrix4
euler_angles_xyx_from_matrix4 :: proc{euler_angles_xyx_from_matrix4_f16, euler_angles_xyx_from_matrix4_f32, euler_angles_xyx_from_matrix4_f64}Sourceeuler_angles_xyx_from_quaternion
euler_angles_xyx_from_quaternion :: proc{euler_angles_xyx_from_quaternion_f16, euler_angles_xyx_from_quaternion_f32, euler_angles_xyx_from_quaternion_f64}Sourceeuler_angles_xyz_from_matrix3
euler_angles_xyz_from_matrix3 :: proc{euler_angles_xyz_from_matrix3_f16, euler_angles_xyz_from_matrix3_f32, euler_angles_xyz_from_matrix3_f64}Sourceeuler_angles_xyz_from_matrix4
euler_angles_xyz_from_matrix4 :: proc{euler_angles_xyz_from_matrix4_f16, euler_angles_xyz_from_matrix4_f32, euler_angles_xyz_from_matrix4_f64}Sourceeuler_angles_xyz_from_quaternion
euler_angles_xyz_from_quaternion :: proc{euler_angles_xyz_from_quaternion_f16, euler_angles_xyz_from_quaternion_f32, euler_angles_xyz_from_quaternion_f64}Sourceeuler_angles_xzx_from_matrix3
euler_angles_xzx_from_matrix3 :: proc{euler_angles_xzx_from_matrix3_f16, euler_angles_xzx_from_matrix3_f32, euler_angles_xzx_from_matrix3_f64}Sourceeuler_angles_xzx_from_matrix4
euler_angles_xzx_from_matrix4 :: proc{euler_angles_xzx_from_matrix4_f16, euler_angles_xzx_from_matrix4_f32, euler_angles_xzx_from_matrix4_f64}Sourceeuler_angles_xzx_from_quaternion
euler_angles_xzx_from_quaternion :: proc{euler_angles_xzx_from_quaternion_f16, euler_angles_xzx_from_quaternion_f32, euler_angles_xzx_from_quaternion_f64}Sourceeuler_angles_xzy_from_matrix3
euler_angles_xzy_from_matrix3 :: proc{euler_angles_xzy_from_matrix3_f16, euler_angles_xzy_from_matrix3_f32, euler_angles_xzy_from_matrix3_f64}Sourceeuler_angles_xzy_from_matrix4
euler_angles_xzy_from_matrix4 :: proc{euler_angles_xzy_from_matrix4_f16, euler_angles_xzy_from_matrix4_f32, euler_angles_xzy_from_matrix4_f64}Sourceeuler_angles_xzy_from_quaternion
euler_angles_xzy_from_quaternion :: proc{euler_angles_xzy_from_quaternion_f16, euler_angles_xzy_from_quaternion_f32, euler_angles_xzy_from_quaternion_f64}Sourceeuler_angles_yxy_from_matrix3
euler_angles_yxy_from_matrix3 :: proc{euler_angles_yxy_from_matrix3_f16, euler_angles_yxy_from_matrix3_f32, euler_angles_yxy_from_matrix3_f64}Sourceeuler_angles_yxy_from_matrix4
euler_angles_yxy_from_matrix4 :: proc{euler_angles_yxy_from_matrix4_f16, euler_angles_yxy_from_matrix4_f32, euler_angles_yxy_from_matrix4_f64}Sourceeuler_angles_yxy_from_quaternion
euler_angles_yxy_from_quaternion :: proc{euler_angles_yxy_from_quaternion_f16, euler_angles_yxy_from_quaternion_f32, euler_angles_yxy_from_quaternion_f64}Sourceeuler_angles_yxz_from_matrix3
euler_angles_yxz_from_matrix3 :: proc{euler_angles_yxz_from_matrix3_f16, euler_angles_yxz_from_matrix3_f32, euler_angles_yxz_from_matrix3_f64}Sourceeuler_angles_yxz_from_matrix4
euler_angles_yxz_from_matrix4 :: proc{euler_angles_yxz_from_matrix4_f16, euler_angles_yxz_from_matrix4_f32, euler_angles_yxz_from_matrix4_f64}Sourceeuler_angles_yxz_from_quaternion
euler_angles_yxz_from_quaternion :: proc{euler_angles_yxz_from_quaternion_f16, euler_angles_yxz_from_quaternion_f32, euler_angles_yxz_from_quaternion_f64}Sourceeuler_angles_yzx_from_matrix3
euler_angles_yzx_from_matrix3 :: proc{euler_angles_yzx_from_matrix3_f16, euler_angles_yzx_from_matrix3_f32, euler_angles_yzx_from_matrix3_f64}Sourceeuler_angles_yzx_from_matrix4
euler_angles_yzx_from_matrix4 :: proc{euler_angles_yzx_from_matrix4_f16, euler_angles_yzx_from_matrix4_f32, euler_angles_yzx_from_matrix4_f64}Sourceeuler_angles_yzx_from_quaternion
euler_angles_yzx_from_quaternion :: proc{euler_angles_yzx_from_quaternion_f16, euler_angles_yzx_from_quaternion_f32, euler_angles_yzx_from_quaternion_f64}Sourceeuler_angles_yzy_from_matrix3
euler_angles_yzy_from_matrix3 :: proc{euler_angles_yzy_from_matrix3_f16, euler_angles_yzy_from_matrix3_f32, euler_angles_yzy_from_matrix3_f64}Sourceeuler_angles_yzy_from_matrix4
euler_angles_yzy_from_matrix4 :: proc{euler_angles_yzy_from_matrix4_f16, euler_angles_yzy_from_matrix4_f32, euler_angles_yzy_from_matrix4_f64}Sourceeuler_angles_yzy_from_quaternion
euler_angles_yzy_from_quaternion :: proc{euler_angles_yzy_from_quaternion_f16, euler_angles_yzy_from_quaternion_f32, euler_angles_yzy_from_quaternion_f64}Sourceeuler_angles_zxy_from_matrix3
euler_angles_zxy_from_matrix3 :: proc{euler_angles_zxy_from_matrix3_f16, euler_angles_zxy_from_matrix3_f32, euler_angles_zxy_from_matrix3_f64}Sourceeuler_angles_zxy_from_matrix4
euler_angles_zxy_from_matrix4 :: proc{euler_angles_zxy_from_matrix4_f16, euler_angles_zxy_from_matrix4_f32, euler_angles_zxy_from_matrix4_f64}Sourceeuler_angles_zxy_from_quaternion
euler_angles_zxy_from_quaternion :: proc{euler_angles_zxy_from_quaternion_f16, euler_angles_zxy_from_quaternion_f32, euler_angles_zxy_from_quaternion_f64}Sourceeuler_angles_zxz_from_matrix3
euler_angles_zxz_from_matrix3 :: proc{euler_angles_zxz_from_matrix3_f16, euler_angles_zxz_from_matrix3_f32, euler_angles_zxz_from_matrix3_f64}Sourceeuler_angles_zxz_from_matrix4
euler_angles_zxz_from_matrix4 :: proc{euler_angles_zxz_from_matrix4_f16, euler_angles_zxz_from_matrix4_f32, euler_angles_zxz_from_matrix4_f64}Sourceeuler_angles_zxz_from_quaternion
euler_angles_zxz_from_quaternion :: proc{euler_angles_zxz_from_quaternion_f16, euler_angles_zxz_from_quaternion_f32, euler_angles_zxz_from_quaternion_f64}Sourceeuler_angles_zyx_from_matrix3
euler_angles_zyx_from_matrix3 :: proc{euler_angles_zyx_from_matrix3_f16, euler_angles_zyx_from_matrix3_f32, euler_angles_zyx_from_matrix3_f64}Sourceeuler_angles_zyx_from_matrix4
euler_angles_zyx_from_matrix4 :: proc{euler_angles_zyx_from_matrix4_f16, euler_angles_zyx_from_matrix4_f32, euler_angles_zyx_from_matrix4_f64}Sourceeuler_angles_zyx_from_quaternion
euler_angles_zyx_from_quaternion :: proc{euler_angles_zyx_from_quaternion_f16, euler_angles_zyx_from_quaternion_f32, euler_angles_zyx_from_quaternion_f64}Sourceeuler_angles_zyz_from_matrix3
euler_angles_zyz_from_matrix3 :: proc{euler_angles_zyz_from_matrix3_f16, euler_angles_zyz_from_matrix3_f32, euler_angles_zyz_from_matrix3_f64}Sourceeuler_angles_zyz_from_matrix4
euler_angles_zyz_from_matrix4 :: proc{euler_angles_zyz_from_matrix4_f16, euler_angles_zyz_from_matrix4_f32, euler_angles_zyz_from_matrix4_f64}Sourceeuler_angles_zyz_from_quaternion
euler_angles_zyz_from_quaternion :: proc{euler_angles_zyz_from_quaternion_f16, euler_angles_zyz_from_quaternion_f32, euler_angles_zyz_from_quaternion_f64}Sourcegreater_than
greater_than :: proc{greater_than_single, greater_than_array}Sourcegreater_than_equal
greater_than_equal :: proc{greater_than_equal_single, greater_than_equal_array}Sourceidentity
identity :: proc{identity_array_based_matrix, identity_matrix}Sourceinverse
inverse :: proc{matrix1x1_inverse, matrix2x2_inverse, matrix3x3_inverse, matrix4x4_inverse, matrix5x5_inverse, matrix6x6_inverse, matrix7x7_inverse, matrix8x8_inverse}Sourceinverse_transpose
inverse_transpose :: proc{matrix1x1_inverse_transpose, matrix2x2_inverse_transpose, matrix3x3_inverse_transpose, matrix4x4_inverse_transpose, matrix5x5_inverse_transpose, matrix6x6_inverse_transpose, matrix7x7_inverse_transpose, matrix8x8_inverse_transpose}Sourceis_inf
is_inf :: proc{is_inf_single, is_inf_array}Sourceis_nan
is_nan :: proc{is_nan_single, is_nan_array}Sourcelength
length :: proc{vector_length, quaternion_length}Sourcelength2
length2 :: proc{vector_length2, quaternion_length2}Sourceless_than
less_than :: proc{less_than_single, less_than_array}Sourceless_than_equal
less_than_equal :: proc{less_than_equal_single, less_than_equal_array}Sourcematrix2_adjoint
matrix2_adjoint :: proc{matrix2_adjoint_f16, matrix2_adjoint_f32, matrix2_adjoint_f64}Sourcematrix2_determinant
matrix2_determinant :: proc{matrix2_determinant_f16, matrix2_determinant_f32, matrix2_determinant_f64}Sourcematrix2_from_matrix3
matrix2_from_matrix3 :: proc{matrix2_from_matrix3_f16, matrix2_from_matrix3_f32, matrix2_from_matrix3_f64}Sourcematrix2_from_matrix4
matrix2_from_matrix4 :: proc{matrix2_from_matrix4_f16, matrix2_from_matrix4_f32, matrix2_from_matrix4_f64}Sourcematrix2_from_scalar
matrix2_from_scalar :: proc{matrix2_from_scalar_f16, matrix2_from_scalar_f32, matrix2_from_scalar_f64}Sourcematrix2_inverse
matrix2_inverse :: proc{matrix2_inverse_f16, matrix2_inverse_f32, matrix2_inverse_f64}Sourcematrix2_inverse_transpose
matrix2_inverse_transpose :: proc{matrix2_inverse_transpose_f16, matrix2_inverse_transpose_f32, matrix2_inverse_transpose_f64}Sourcematrix2_orthonormalize
matrix2_orthonormalize :: proc{matrix2_orthonormalize_f16, matrix2_orthonormalize_f32, matrix2_orthonormalize_f64}Sourcematrix2_rotate
matrix2_rotate :: proc{matrix2_rotate_f16, matrix2_rotate_f32, matrix2_rotate_f64}Sourcematrix3_adjoint
matrix3_adjoint :: proc{matrix3_adjoint_f16, matrix3_adjoint_f32, matrix3_adjoint_f64}Sourcematrix3_determinant
matrix3_determinant :: proc{matrix3_determinant_f16, matrix3_determinant_f32, matrix3_determinant_f64}Sourcematrix3_from_derived_euler_angle_x
matrix3_from_derived_euler_angle_x :: proc{matrix3_from_derived_euler_angle_x_f16, matrix3_from_derived_euler_angle_x_f32, matrix3_from_derived_euler_angle_x_f64}Sourcematrix3_from_derived_euler_angle_y
matrix3_from_derived_euler_angle_y :: proc{matrix3_from_derived_euler_angle_y_f16, matrix3_from_derived_euler_angle_y_f32, matrix3_from_derived_euler_angle_y_f64}Sourcematrix3_from_derived_euler_angle_z
matrix3_from_derived_euler_angle_z :: proc{matrix3_from_derived_euler_angle_z_f16, matrix3_from_derived_euler_angle_z_f32, matrix3_from_derived_euler_angle_z_f64}Sourcematrix3_from_euler_angle_x
matrix3_from_euler_angle_x :: proc{matrix3_from_euler_angle_x_f16, matrix3_from_euler_angle_x_f32, matrix3_from_euler_angle_x_f64}Sourcematrix3_from_euler_angle_y
matrix3_from_euler_angle_y :: proc{matrix3_from_euler_angle_y_f16, matrix3_from_euler_angle_y_f32, matrix3_from_euler_angle_y_f64}Sourcematrix3_from_euler_angle_z
matrix3_from_euler_angle_z :: proc{matrix3_from_euler_angle_z_f16, matrix3_from_euler_angle_z_f32, matrix3_from_euler_angle_z_f64}Sourcematrix3_from_euler_angles
matrix3_from_euler_angles :: proc{matrix3_from_euler_angles_f16, matrix3_from_euler_angles_f32, matrix3_from_euler_angles_f64}Sourcematrix3_from_euler_angles_xy
matrix3_from_euler_angles_xy :: proc{matrix3_from_euler_angles_xy_f16, matrix3_from_euler_angles_xy_f32, matrix3_from_euler_angles_xy_f64}Sourcematrix3_from_euler_angles_xyx
matrix3_from_euler_angles_xyx :: proc{matrix3_from_euler_angles_xyx_f16, matrix3_from_euler_angles_xyx_f32, matrix3_from_euler_angles_xyx_f64}Sourcematrix3_from_euler_angles_xyz
matrix3_from_euler_angles_xyz :: proc{matrix3_from_euler_angles_xyz_f16, matrix3_from_euler_angles_xyz_f32, matrix3_from_euler_angles_xyz_f64}Sourcematrix3_from_euler_angles_xz
matrix3_from_euler_angles_xz :: proc{matrix3_from_euler_angles_xz_f16, matrix3_from_euler_angles_xz_f32, matrix3_from_euler_angles_xz_f64}Sourcematrix3_from_euler_angles_xzx
matrix3_from_euler_angles_xzx :: proc{matrix3_from_euler_angles_xzx_f16, matrix3_from_euler_angles_xzx_f32, matrix3_from_euler_angles_xzx_f64}Sourcematrix3_from_euler_angles_xzy
matrix3_from_euler_angles_xzy :: proc{matrix3_from_euler_angles_xzy_f16, matrix3_from_euler_angles_xzy_f32, matrix3_from_euler_angles_xzy_f64}Sourcematrix3_from_euler_angles_yx
matrix3_from_euler_angles_yx :: proc{matrix3_from_euler_angles_yx_f16, matrix3_from_euler_angles_yx_f32, matrix3_from_euler_angles_yx_f64}Sourcematrix3_from_euler_angles_yxy
matrix3_from_euler_angles_yxy :: proc{matrix3_from_euler_angles_yxy_f16, matrix3_from_euler_angles_yxy_f32, matrix3_from_euler_angles_yxy_f64}Sourcematrix3_from_euler_angles_yxz
matrix3_from_euler_angles_yxz :: proc{matrix3_from_euler_angles_yxz_f16, matrix3_from_euler_angles_yxz_f32, matrix3_from_euler_angles_yxz_f64}Sourcematrix3_from_euler_angles_yz
matrix3_from_euler_angles_yz :: proc{matrix3_from_euler_angles_yz_f16, matrix3_from_euler_angles_yz_f32, matrix3_from_euler_angles_yz_f64}Sourcematrix3_from_euler_angles_yzx
matrix3_from_euler_angles_yzx :: proc{matrix3_from_euler_angles_yzx_f16, matrix3_from_euler_angles_yzx_f32, matrix3_from_euler_angles_yzx_f64}Sourcematrix3_from_euler_angles_yzy
matrix3_from_euler_angles_yzy :: proc{matrix3_from_euler_angles_yzy_f16, matrix3_from_euler_angles_yzy_f32, matrix3_from_euler_angles_yzy_f64}Sourcematrix3_from_euler_angles_zx
matrix3_from_euler_angles_zx :: proc{matrix3_from_euler_angles_zx_f16, matrix3_from_euler_angles_zx_f32, matrix3_from_euler_angles_zx_f64}Sourcematrix3_from_euler_angles_zxy
matrix3_from_euler_angles_zxy :: proc{matrix3_from_euler_angles_zxy_f16, matrix3_from_euler_angles_zxy_f32, matrix3_from_euler_angles_zxy_f64}Sourcematrix3_from_euler_angles_zxz
matrix3_from_euler_angles_zxz :: proc{matrix3_from_euler_angles_zxz_f16, matrix3_from_euler_angles_zxz_f32, matrix3_from_euler_angles_zxz_f64}Sourcematrix3_from_euler_angles_zy
matrix3_from_euler_angles_zy :: proc{matrix3_from_euler_angles_zy_f16, matrix3_from_euler_angles_zy_f32, matrix3_from_euler_angles_zy_f64}Sourcematrix3_from_euler_angles_zyx
matrix3_from_euler_angles_zyx :: proc{matrix3_from_euler_angles_zyx_f16, matrix3_from_euler_angles_zyx_f32, matrix3_from_euler_angles_zyx_f64}Sourcematrix3_from_euler_angles_zyz
matrix3_from_euler_angles_zyz :: proc{matrix3_from_euler_angles_zyz_f16, matrix3_from_euler_angles_zyz_f32, matrix3_from_euler_angles_zyz_f64}Sourcematrix3_from_matrix2
matrix3_from_matrix2 :: proc{matrix3_from_matrix2_f16, matrix3_from_matrix2_f32, matrix3_from_matrix2_f64}Sourcematrix3_from_matrix4
matrix3_from_matrix4 :: proc{matrix3_from_matrix4_f16, matrix3_from_matrix4_f32, matrix3_from_matrix4_f64}Sourcematrix3_from_quaternion
matrix3_from_quaternion :: proc{matrix3_from_quaternion_f16, matrix3_from_quaternion_f32, matrix3_from_quaternion_f64}Sourcematrix3_from_scalar
matrix3_from_scalar :: proc{matrix3_from_scalar_f16, matrix3_from_scalar_f32, matrix3_from_scalar_f64}Sourcematrix3_from_yaw_pitch_roll
matrix3_from_yaw_pitch_roll :: proc{matrix3_from_yaw_pitch_roll_f16, matrix3_from_yaw_pitch_roll_f32, matrix3_from_yaw_pitch_roll_f64}Sourcematrix3_inverse
matrix3_inverse :: proc{matrix3_inverse_f16, matrix3_inverse_f32, matrix3_inverse_f64}Sourcematrix3_inverse_transpose
matrix3_inverse_transpose :: proc{matrix3_inverse_transpose_f16, matrix3_inverse_transpose_f32, matrix3_inverse_transpose_f64}Sourcematrix3_look_at
matrix3_look_at :: proc{matrix3_look_at_f16, matrix3_look_at_f32, matrix3_look_at_f64}Sourcematrix3_orthonormalize
matrix3_orthonormalize :: proc{matrix3_orthonormalize_f16, matrix3_orthonormalize_f32, matrix3_orthonormalize_f64}Sourcematrix3_rotate
matrix3_rotate :: proc{matrix3_rotate_f16, matrix3_rotate_f32, matrix3_rotate_f64}Sourcematrix3_scale
matrix3_scale :: proc{matrix3_scale_f16, matrix3_scale_f32, matrix3_scale_f64}Sourcematrix4_adjoint
matrix4_adjoint :: proc{matrix4_adjoint_f16, matrix4_adjoint_f32, matrix4_adjoint_f64}Sourcematrix4_cofactor
matrix4_cofactor :: proc{matrix4_cofactor_f16, matrix4_cofactor_f32, matrix4_cofactor_f64}Sourcematrix4_determinant
matrix4_determinant :: proc{matrix4_determinant_f16, matrix4_determinant_f32, matrix4_determinant_f64}Sourcematrix4_from_derived_euler_angle_x
matrix4_from_derived_euler_angle_x :: proc{matrix4_from_derived_euler_angle_x_f16, matrix4_from_derived_euler_angle_x_f32, matrix4_from_derived_euler_angle_x_f64}Sourcematrix4_from_derived_euler_angle_y
matrix4_from_derived_euler_angle_y :: proc{matrix4_from_derived_euler_angle_y_f16, matrix4_from_derived_euler_angle_y_f32, matrix4_from_derived_euler_angle_y_f64}Sourcematrix4_from_derived_euler_angle_z
matrix4_from_derived_euler_angle_z :: proc{matrix4_from_derived_euler_angle_z_f16, matrix4_from_derived_euler_angle_z_f32, matrix4_from_derived_euler_angle_z_f64}Sourcematrix4_from_euler_angle_x
matrix4_from_euler_angle_x :: proc{matrix4_from_euler_angle_x_f16, matrix4_from_euler_angle_x_f32, matrix4_from_euler_angle_x_f64}Sourcematrix4_from_euler_angle_y
matrix4_from_euler_angle_y :: proc{matrix4_from_euler_angle_y_f16, matrix4_from_euler_angle_y_f32, matrix4_from_euler_angle_y_f64}Sourcematrix4_from_euler_angle_z
matrix4_from_euler_angle_z :: proc{matrix4_from_euler_angle_z_f16, matrix4_from_euler_angle_z_f32, matrix4_from_euler_angle_z_f64}Sourcematrix4_from_euler_angles
matrix4_from_euler_angles :: proc{matrix4_from_euler_angles_f16, matrix4_from_euler_angles_f32, matrix4_from_euler_angles_f64}Sourcematrix4_from_euler_angles_xy
matrix4_from_euler_angles_xy :: proc{matrix4_from_euler_angles_xy_f16, matrix4_from_euler_angles_xy_f32, matrix4_from_euler_angles_xy_f64}Sourcematrix4_from_euler_angles_xyx
matrix4_from_euler_angles_xyx :: proc{matrix4_from_euler_angles_xyx_f16, matrix4_from_euler_angles_xyx_f32, matrix4_from_euler_angles_xyx_f64}Sourcematrix4_from_euler_angles_xyz
matrix4_from_euler_angles_xyz :: proc{matrix4_from_euler_angles_xyz_f16, matrix4_from_euler_angles_xyz_f32, matrix4_from_euler_angles_xyz_f64}Sourcematrix4_from_euler_angles_xz
matrix4_from_euler_angles_xz :: proc{matrix4_from_euler_angles_xz_f16, matrix4_from_euler_angles_xz_f32, matrix4_from_euler_angles_xz_f64}Sourcematrix4_from_euler_angles_xzx
matrix4_from_euler_angles_xzx :: proc{matrix4_from_euler_angles_xzx_f16, matrix4_from_euler_angles_xzx_f32, matrix4_from_euler_angles_xzx_f64}Sourcematrix4_from_euler_angles_xzy
matrix4_from_euler_angles_xzy :: proc{matrix4_from_euler_angles_xzy_f16, matrix4_from_euler_angles_xzy_f32, matrix4_from_euler_angles_xzy_f64}Sourcematrix4_from_euler_angles_yx
matrix4_from_euler_angles_yx :: proc{matrix4_from_euler_angles_yx_f16, matrix4_from_euler_angles_yx_f32, matrix4_from_euler_angles_yx_f64}Sourcematrix4_from_euler_angles_yxy
matrix4_from_euler_angles_yxy :: proc{matrix4_from_euler_angles_yxy_f16, matrix4_from_euler_angles_yxy_f32, matrix4_from_euler_angles_yxy_f64}Sourcematrix4_from_euler_angles_yxz
matrix4_from_euler_angles_yxz :: proc{matrix4_from_euler_angles_yxz_f16, matrix4_from_euler_angles_yxz_f32, matrix4_from_euler_angles_yxz_f64}Sourcematrix4_from_euler_angles_yz
matrix4_from_euler_angles_yz :: proc{matrix4_from_euler_angles_yz_f16, matrix4_from_euler_angles_yz_f32, matrix4_from_euler_angles_yz_f64}Sourcematrix4_from_euler_angles_yzx
matrix4_from_euler_angles_yzx :: proc{matrix4_from_euler_angles_yzx_f16, matrix4_from_euler_angles_yzx_f32, matrix4_from_euler_angles_yzx_f64}Sourcematrix4_from_euler_angles_yzy
matrix4_from_euler_angles_yzy :: proc{matrix4_from_euler_angles_yzy_f16, matrix4_from_euler_angles_yzy_f32, matrix4_from_euler_angles_yzy_f64}Sourcematrix4_from_euler_angles_zx
matrix4_from_euler_angles_zx :: proc{matrix4_from_euler_angles_zx_f16, matrix4_from_euler_angles_zx_f32, matrix4_from_euler_angles_zx_f64}Sourcematrix4_from_euler_angles_zxy
matrix4_from_euler_angles_zxy :: proc{matrix4_from_euler_angles_zxy_f16, matrix4_from_euler_angles_zxy_f32, matrix4_from_euler_angles_zxy_f64}Sourcematrix4_from_euler_angles_zxz
matrix4_from_euler_angles_zxz :: proc{matrix4_from_euler_angles_zxz_f16, matrix4_from_euler_angles_zxz_f32, matrix4_from_euler_angles_zxz_f64}Sourcematrix4_from_euler_angles_zy
matrix4_from_euler_angles_zy :: proc{matrix4_from_euler_angles_zy_f16, matrix4_from_euler_angles_zy_f32, matrix4_from_euler_angles_zy_f64}Sourcematrix4_from_euler_angles_zyx
matrix4_from_euler_angles_zyx :: proc{matrix4_from_euler_angles_zyx_f16, matrix4_from_euler_angles_zyx_f32, matrix4_from_euler_angles_zyx_f64}Sourcematrix4_from_euler_angles_zyz
matrix4_from_euler_angles_zyz :: proc{matrix4_from_euler_angles_zyz_f16, matrix4_from_euler_angles_zyz_f32, matrix4_from_euler_angles_zyz_f64}Sourcematrix4_from_matrix2
matrix4_from_matrix2 :: proc{matrix4_from_matrix2_f16, matrix4_from_matrix2_f32, matrix4_from_matrix2_f64}Sourcematrix4_from_matrix3
matrix4_from_matrix3 :: proc{matrix4_from_matrix3_f16, matrix4_from_matrix3_f32, matrix4_from_matrix3_f64}Sourcematrix4_from_quaternion
matrix4_from_quaternion :: proc{matrix4_from_quaternion_f16, matrix4_from_quaternion_f32, matrix4_from_quaternion_f64}Sourcematrix4_from_scalar
matrix4_from_scalar :: proc{matrix4_from_scalar_f16, matrix4_from_scalar_f32, matrix4_from_scalar_f64}Sourcematrix4_from_trs
matrix4_from_trs :: proc{matrix4_from_trs_f16, matrix4_from_trs_f32, matrix4_from_trs_f64}Sourcematrix4_from_yaw_pitch_roll
matrix4_from_yaw_pitch_roll :: proc{matrix4_from_yaw_pitch_roll_f16, matrix4_from_yaw_pitch_roll_f32, matrix4_from_yaw_pitch_roll_f64}Sourcematrix4_infinite_perspective
matrix4_infinite_perspective :: proc{matrix4_infinite_perspective_f16, matrix4_infinite_perspective_f32, matrix4_infinite_perspective_f64}Sourcematrix4_inverse
matrix4_inverse :: proc{matrix4_inverse_f16, matrix4_inverse_f32, matrix4_inverse_f64}Sourcematrix4_inverse_transpose
matrix4_inverse_transpose :: proc{matrix4_inverse_transpose_f16, matrix4_inverse_transpose_f32, matrix4_inverse_transpose_f64}Sourcematrix4_look_at
matrix4_look_at :: proc{matrix4_look_at_f16, matrix4_look_at_f32, matrix4_look_at_f64}Sourcematrix4_look_at_from_fru
matrix4_look_at_from_fru :: proc{matrix4_look_at_from_fru_f16, matrix4_look_at_from_fru_f32, matrix4_look_at_from_fru_f64}Sourcematrix4_minor
matrix4_minor :: proc{matrix4_minor_f16, matrix4_minor_f32, matrix4_minor_f64}Sourcematrix4_orientation
matrix4_orientation :: proc{matrix4_orientation_f16, matrix4_orientation_f32, matrix4_orientation_f64}Sourcematrix4_perspective
matrix4_perspective :: proc{matrix4_perspective_f16, matrix4_perspective_f32, matrix4_perspective_f64}Sourcematrix4_rotate
matrix4_rotate :: proc{matrix4_rotate_f16, matrix4_rotate_f32, matrix4_rotate_f64}Sourcematrix4_scale
matrix4_scale :: proc{matrix4_scale_f16, matrix4_scale_f32, matrix4_scale_f64}Sourcematrix4_translate
matrix4_translate :: proc{matrix4_translate_f16, matrix4_translate_f32, matrix4_translate_f64}Sourcematrix_ortho3d
matrix_ortho3d :: proc{matrix_ortho3d_f16, matrix_ortho3d_f32, matrix_ortho3d_f64}Sourcemax
max :: proc{max_single, max_double, max_triple}Sourcemin
min :: proc{min_single, min_double, min_triple}Sourcemul
mul :: proc{matrix_mul, matrix_mul_differ, matrix_mul_vector, quaternion64_mul_vector3, quaternion128_mul_vector3, quaternion256_mul_vector3, quaternion_mul_quaternion}Sourcenormalize
normalize :: proc{vector_normalize, quaternion_normalize}Sourcenormalize0
normalize0 :: proc{vector_normalize0, quaternion_normalize0}Sourcenot_equal
not_equal :: proc{not_equal_single, not_equal_array}Sourceorthogonal
orthogonal :: proc{vector2_orthogonal, vector3_orthogonal}Sourceorthonormalize
orthonormalize :: proc{matrix2_orthonormalize_f16, matrix3_orthonormalize_f16, vector3_orthonormalize_f16, matrix2_orthonormalize_f32, matrix3_orthonormalize_f32, vector3_orthonormalize_f32, matrix2_orthonormalize_f64, matrix3_orthonormalize_f64, vector3_orthonormalize_f64}Sourcepitch_from_quaternion
pitch_from_quaternion :: proc{pitch_from_quaternion_f16, pitch_from_quaternion_f32, pitch_from_quaternion_f64}Sourcepitch_yaw_roll_from_quaternion
pitch_yaw_roll_from_quaternion :: proc{pitch_yaw_roll_from_quaternion_f16, pitch_yaw_roll_from_quaternion_f32, pitch_yaw_roll_from_quaternion_f64}Sourcepolar_from_euclidean
polar_from_euclidean :: proc{polar_from_euclidean_f16, polar_from_euclidean_f32, polar_from_euclidean_f64}Sourcepseudo_inverse
pseudo_inverse :: proc{matrix_pseudo_inverse}Sourcequaternion_angle_axis
quaternion_angle_axis :: proc{quaternion_angle_axis_f16, quaternion_angle_axis_f32, quaternion_angle_axis_f64}Sourcequaternion_between_two_vector3
quaternion_between_two_vector3 :: proc{quaternion_between_two_vector3_f16, quaternion_between_two_vector3_f32, quaternion_between_two_vector3_f64}Sourcequaternion_from_euler_angle_x
quaternion_from_euler_angle_x :: proc{quaternion_from_euler_angle_x_f16, quaternion_from_euler_angle_x_f32, quaternion_from_euler_angle_x_f64}Sourcequaternion_from_euler_angle_y
quaternion_from_euler_angle_y :: proc{quaternion_from_euler_angle_y_f16, quaternion_from_euler_angle_y_f32, quaternion_from_euler_angle_y_f64}Sourcequaternion_from_euler_angle_z
quaternion_from_euler_angle_z :: proc{quaternion_from_euler_angle_z_f16, quaternion_from_euler_angle_z_f32, quaternion_from_euler_angle_z_f64}Sourcequaternion_from_euler_angles
quaternion_from_euler_angles :: proc{quaternion_from_euler_angles_f16, quaternion_from_euler_angles_f32, quaternion_from_euler_angles_f64}Sourcequaternion_from_forward_and_up
quaternion_from_forward_and_up :: proc{quaternion_from_forward_and_up_f16, quaternion_from_forward_and_up_f32, quaternion_from_forward_and_up_f64}Sourcequaternion_from_matrix3
quaternion_from_matrix3 :: proc{quaternion_from_matrix3_f16, quaternion_from_matrix3_f32, quaternion_from_matrix3_f64}Sourcequaternion_from_matrix4
quaternion_from_matrix4 :: proc{quaternion_from_matrix4_f16, quaternion_from_matrix4_f32, quaternion_from_matrix4_f64}Sourcequaternion_from_pitch_yaw_roll
quaternion_from_pitch_yaw_roll :: proc{quaternion_from_pitch_yaw_roll_f16, quaternion_from_pitch_yaw_roll_f32, quaternion_from_pitch_yaw_roll_f64}Sourcequaternion_from_scalar
quaternion_from_scalar :: proc{quaternion_from_scalar_f16, quaternion_from_scalar_f32, quaternion_from_scalar_f64}Sourcequaternion_look_at
quaternion_look_at :: proc{quaternion_look_at_f16, quaternion_look_at_f32, quaternion_look_at_f64}Sourcequaternion_mul_vector3
quaternion_mul_vector3 :: proc{quaternion64_mul_vector3, quaternion128_mul_vector3, quaternion256_mul_vector3}Sourcequaternion_nlerp
quaternion_nlerp :: proc{quaternion_nlerp_f16, quaternion_nlerp_f32, quaternion_nlerp_f64}Sourcequaternion_slerp
quaternion_slerp :: proc{quaternion_slerp_f16, quaternion_slerp_f32, quaternion_slerp_f64}Sourcequaternion_squad
quaternion_squad :: proc{quaternion_squad_f16, quaternion_squad_f32, quaternion_squad_f64}Sourceroll_from_quaternion
roll_from_quaternion :: proc{roll_from_quaternion_f16, roll_from_quaternion_f32, roll_from_quaternion_f64}Sourcescalar_swizzle
scalar_swizzle :: proc{scalar_f32_swizzle1, scalar_f32_swizzle2, scalar_f32_swizzle3, scalar_f32_swizzle4, scalar_f64_swizzle1, scalar_f64_swizzle2, scalar_f64_swizzle3, scalar_f64_swizzle4}Sourceswizzle
swizzle :: proc{scalar_f32_swizzle1, scalar_f32_swizzle2, scalar_f32_swizzle3, scalar_f32_swizzle4, scalar_f64_swizzle1, scalar_f64_swizzle2, scalar_f64_swizzle3, scalar_f64_swizzle4, vector2f32_swizzle1, vector2f32_swizzle2, vector2f32_swizzle3, vector2f32_swizzle4, vector2f64_swizzle1, vector2f64_swizzle2, vector2f64_swizzle3, vector2f64_swizzle4, vector3f32_swizzle1, vector3f32_swizzle2, vector3f32_swizzle3, vector3f32_swizzle4, vector3f64_swizzle1, vector3f64_swizzle2, vector3f64_swizzle3, vector3f64_swizzle4, vector4f32_swizzle1, vector4f32_swizzle2, vector4f32_swizzle3, vector4f32_swizzle4, vector4f64_swizzle1, vector4f64_swizzle2, vector4f64_swizzle3, vector4f64_swizzle4}Sourceto_matrix2f
to_matrix2f :: proc{matrix2_from_scalar_f16, matrix2_from_matrix3_f16, matrix2_from_matrix4_f16, matrix2_from_scalar_f32, matrix2_from_matrix3_f32, matrix2_from_matrix4_f32, matrix2_from_scalar_f64, matrix2_from_matrix3_f64, matrix2_from_matrix4_f64}Sourceto_matrix2f16
to_matrix2f16 :: proc{matrix2_from_scalar_f16, matrix2_from_matrix3_f16, matrix2_from_matrix4_f16}Sourceto_matrix2f32
to_matrix2f32 :: proc{matrix2_from_scalar_f32, matrix2_from_matrix3_f32, matrix2_from_matrix4_f32}Sourceto_matrix2f64
to_matrix2f64 :: proc{matrix2_from_scalar_f64, matrix2_from_matrix3_f64, matrix2_from_matrix4_f64}Sourceto_matrix3
to_matrix3 :: proc{matrix3_from_scalar_f16, matrix3_from_matrix2_f16, matrix3_from_matrix4_f16, matrix3_from_quaternion_f16, matrix3_from_scalar_f32, matrix3_from_matrix2_f32, matrix3_from_matrix4_f32, matrix3_from_quaternion_f32, matrix3_from_scalar_f64, matrix3_from_matrix2_f64, matrix3_from_matrix4_f64, matrix3_from_quaternion_f64}Sourceto_matrix3f16
to_matrix3f16 :: proc{matrix3_from_scalar_f16, matrix3_from_matrix2_f16, matrix3_from_matrix4_f16, matrix3_from_quaternion_f16}Sourceto_matrix3f32
to_matrix3f32 :: proc{matrix3_from_scalar_f32, matrix3_from_matrix2_f32, matrix3_from_matrix4_f32, matrix3_from_quaternion_f32}Sourceto_matrix3f64
to_matrix3f64 :: proc{matrix3_from_scalar_f64, matrix3_from_matrix2_f64, matrix3_from_matrix4_f64, matrix3_from_quaternion_f64}Sourceto_matrix4
to_matrix4 :: proc{matrix4_from_scalar_f16, matrix4_from_matrix2_f16, matrix4_from_matrix3_f16, matrix4_from_quaternion_f16, matrix4_from_scalar_f32, matrix4_from_matrix2_f32, matrix4_from_matrix3_f32, matrix4_from_quaternion_f32, matrix4_from_scalar_f64, matrix4_from_matrix2_f64, matrix4_from_matrix3_f64, matrix4_from_quaternion_f64}Sourceto_matrix4f16
to_matrix4f16 :: proc{matrix4_from_scalar_f16, matrix4_from_matrix2_f16, matrix4_from_matrix3_f16, matrix4_from_quaternion_f16}Sourceto_matrix4f32
to_matrix4f32 :: proc{matrix4_from_scalar_f32, matrix4_from_matrix2_f32, matrix4_from_matrix3_f32, matrix4_from_quaternion_f32}Sourceto_matrix4f64
to_matrix4f64 :: proc{matrix4_from_scalar_f64, matrix4_from_matrix2_f64, matrix4_from_matrix3_f64, matrix4_from_quaternion_f64}Sourceto_ptr
to_ptr :: proc{vector_to_ptr, matrix_to_ptr}Sourceto_quaternion
to_quaternion :: proc{quaternion_from_scalar_f16, quaternion_from_matrix3_f16, quaternion_from_matrix4_f16, quaternion_from_scalar_f32, quaternion_from_matrix3_f32, quaternion_from_matrix4_f32, quaternion_from_scalar_f64, quaternion_from_matrix3_f64, quaternion_from_matrix4_f64}Sourceto_quaternionf16
to_quaternionf16 :: proc{quaternion_from_scalar_f16, quaternion_from_matrix3_f16, quaternion_from_matrix4_f16}Sourceto_quaternionf32
to_quaternionf32 :: proc{quaternion_from_scalar_f32, quaternion_from_matrix3_f32, quaternion_from_matrix4_f32}Sourceto_quaternionf64
to_quaternionf64 :: proc{quaternion_from_scalar_f64, quaternion_from_matrix3_f64, quaternion_from_matrix4_f64}Sourcevector2_swizzle
vector2_swizzle :: proc{vector2f32_swizzle1, vector2f32_swizzle2, vector2f32_swizzle3, vector2f32_swizzle4, vector2f64_swizzle1, vector2f64_swizzle2, vector2f64_swizzle3, vector2f64_swizzle4}Sourcevector3_linear_to_srgb
vector3_linear_to_srgb :: proc{vector3_linear_to_srgb_f16, vector3_linear_to_srgb_f32, vector3_linear_to_srgb_f64}Sourcevector3_orthonormalize
vector3_orthonormalize :: proc{vector3_orthonormalize_f16, vector3_orthonormalize_f32, vector3_orthonormalize_f64}Sourcevector3_srgb_to_linear
vector3_srgb_to_linear :: proc{vector3_srgb_to_linear_f16, vector3_srgb_to_linear_f32, vector3_srgb_to_linear_f64}Sourcevector3_swizzle
vector3_swizzle :: proc{vector3f32_swizzle1, vector3f32_swizzle2, vector3f32_swizzle3, vector3f32_swizzle4, vector3f64_swizzle1, vector3f64_swizzle2, vector3f64_swizzle3, vector3f64_swizzle4}Sourcevector4_hsl_to_rgb
vector4_hsl_to_rgb :: proc{vector4_hsl_to_rgb_f16, vector4_hsl_to_rgb_f32, vector4_hsl_to_rgb_f64}Sourcevector4_linear_to_srgb
vector4_linear_to_srgb :: proc{vector4_linear_to_srgb_f16, vector4_linear_to_srgb_f32, vector4_linear_to_srgb_f64}Sourcevector4_rgb_to_hsl
vector4_rgb_to_hsl :: proc{vector4_rgb_to_hsl_f16, vector4_rgb_to_hsl_f32, vector4_rgb_to_hsl_f64}Sourcevector4_srgb_to_linear
vector4_srgb_to_linear :: proc{vector4_srgb_to_linear_f16, vector4_srgb_to_linear_f32, vector4_srgb_to_linear_f64}Sourcevector4_swizzle
vector4_swizzle :: proc{vector4f32_swizzle1, vector4f32_swizzle2, vector4f32_swizzle3, vector4f32_swizzle4, vector4f64_swizzle1, vector4f64_swizzle2, vector4f64_swizzle3, vector4f64_swizzle4}Sourcevector_cross
vector_cross :: proc{scalar_cross, vector_cross2, vector_cross3}Sourceyaw_from_quaternion
yaw_from_quaternion :: proc{yaw_from_quaternion_f16, yaw_from_quaternion_f32, yaw_from_quaternion_f64}Source