package core:math/linalg
⌘K
Ctrl+K
or
/
Overview
core:math/linalg implements linear algebra procedures useful for 3D spatial transformations
Index
Types (77)
- Euler_Angle_Order
- Matrix1f16
- Matrix1f32
- Matrix1f64
- Matrix1x1f16
- Matrix1x1f32
- Matrix1x1f64
- Matrix1x2f16
- Matrix1x2f32
- Matrix1x2f64
- Matrix1x3f16
- Matrix1x3f32
- Matrix1x3f64
- Matrix1x4f16
- Matrix1x4f32
- Matrix1x4f64
- Matrix2f16
- Matrix2f32
- Matrix2f64
- Matrix2x1f16
- Matrix2x1f32
- Matrix2x1f64
- Matrix2x2f16
- Matrix2x2f32
- Matrix2x2f64
- Matrix2x3f16
- Matrix2x3f32
- Matrix2x3f64
- Matrix2x4f16
- Matrix2x4f32
- Matrix2x4f64
- Matrix3f16
- Matrix3f32
- Matrix3f64
- Matrix3x1f16
- Matrix3x1f32
- Matrix3x1f64
- Matrix3x2f16
- Matrix3x2f32
- Matrix3x2f64
- Matrix3x3f16
- Matrix3x3f32
- Matrix3x3f64
- Matrix3x4f16
- Matrix3x4f32
- Matrix3x4f64
- Matrix4f16
- Matrix4f32
- Matrix4f64
- Matrix4x1f16
- Matrix4x1f32
- Matrix4x1f64
- Matrix4x2f16
- Matrix4x2f32
- Matrix4x2f64
- Matrix4x3f16
- Matrix4x3f32
- Matrix4x3f64
- Matrix4x4f16
- Matrix4x4f32
- Matrix4x4f64
- Quaternionf16
- Quaternionf32
- Quaternionf64
- Scalar_Components
- Vector2_Components
- Vector2f16
- Vector2f32
- Vector2f64
- Vector3_Components
- Vector3f16
- Vector3f32
- Vector3f64
- Vector4_Components
- Vector4f16
- Vector4f32
- Vector4f64
Constants (42)
- DEG_PER_RAD
- E
- F16_EPSILON
- F32_EPSILON
- F64_EPSILON
- LN10
- LN2
- MATRIX1F16_IDENTITY
- MATRIX1F32_IDENTITY
- MATRIX1F64_IDENTITY
- MATRIX2F16_IDENTITY
- MATRIX2F32_IDENTITY
- MATRIX2F64_IDENTITY
- MATRIX3F16_IDENTITY
- MATRIX3F32_IDENTITY
- MATRIX3F64_IDENTITY
- MATRIX4F16_IDENTITY
- MATRIX4F32_IDENTITY
- MATRIX4F64_IDENTITY
- MAX_F32_PRECISION
- MAX_F64_PRECISION
- PI
- QUATERNIONF16_IDENTITY
- QUATERNIONF32_IDENTITY
- QUATERNIONF64_IDENTITY
- RAD_PER_DEG
- SQRT_FIVE
- SQRT_THREE
- SQRT_TWO
- TAU
- VECTOR3F16_X_AXIS
- VECTOR3F16_Y_AXIS
- VECTOR3F16_Z_AXIS
- VECTOR3F32_X_AXIS
- VECTOR3F32_Y_AXIS
- VECTOR3F32_Z_AXIS
- VECTOR3F64_X_AXIS
- VECTOR3F64_Y_AXIS
- VECTOR3F64_Z_AXIS
- e
- π
- τ
Variables (0)
This section is empty.
Procedures (666)
- abs
- acos
- all
- angle_axis_from_quaternion_f16
- angle_axis_from_quaternion_f32
- angle_axis_from_quaternion_f64
- angle_from_quaternion_f16
- angle_from_quaternion_f32
- angle_from_quaternion_f64
- any
- array_cast
- asin
- atan
- atan2
- axis_from_quaternion_f16
- axis_from_quaternion_f32
- axis_from_quaternion_f64
- catmull_rom
- ceil
- clamp
- classify_array
- classify_single
- cos
- cubic
- distance
- equal_array
- equal_single
- euclidean_from_polar_f16
- euclidean_from_polar_f32
- euclidean_from_polar_f64
- euler_angles_from_matrix3_f16
- euler_angles_from_matrix3_f32
- euler_angles_from_matrix3_f64
- euler_angles_from_matrix4_f16
- euler_angles_from_matrix4_f32
- euler_angles_from_matrix4_f64
- euler_angles_from_quaternion_f16
- euler_angles_from_quaternion_f32
- euler_angles_from_quaternion_f64
- euler_angles_xyx_from_matrix3_f16
- euler_angles_xyx_from_matrix3_f32
- euler_angles_xyx_from_matrix3_f64
- euler_angles_xyx_from_matrix4_f16
- euler_angles_xyx_from_matrix4_f32
- euler_angles_xyx_from_matrix4_f64
- euler_angles_xyx_from_quaternion_f16
- euler_angles_xyx_from_quaternion_f32
- euler_angles_xyx_from_quaternion_f64
- euler_angles_xyz_from_matrix3_f16
- euler_angles_xyz_from_matrix3_f32
- euler_angles_xyz_from_matrix3_f64
- euler_angles_xyz_from_matrix4_f16
- euler_angles_xyz_from_matrix4_f32
- euler_angles_xyz_from_matrix4_f64
- euler_angles_xyz_from_quaternion_f16
- euler_angles_xyz_from_quaternion_f32
- euler_angles_xyz_from_quaternion_f64
- euler_angles_xzx_from_matrix3_f16
- euler_angles_xzx_from_matrix3_f32
- euler_angles_xzx_from_matrix3_f64
- euler_angles_xzx_from_matrix4_f16
- euler_angles_xzx_from_matrix4_f32
- euler_angles_xzx_from_matrix4_f64
- euler_angles_xzx_from_quaternion_f16
- euler_angles_xzx_from_quaternion_f32
- euler_angles_xzx_from_quaternion_f64
- euler_angles_xzy_from_matrix3_f16
- euler_angles_xzy_from_matrix3_f32
- euler_angles_xzy_from_matrix3_f64
- euler_angles_xzy_from_matrix4_f16
- euler_angles_xzy_from_matrix4_f32
- euler_angles_xzy_from_matrix4_f64
- euler_angles_xzy_from_quaternion_f16
- euler_angles_xzy_from_quaternion_f32
- euler_angles_xzy_from_quaternion_f64
- euler_angles_yxy_from_matrix3_f16
- euler_angles_yxy_from_matrix3_f32
- euler_angles_yxy_from_matrix3_f64
- euler_angles_yxy_from_matrix4_f16
- euler_angles_yxy_from_matrix4_f32
- euler_angles_yxy_from_matrix4_f64
- euler_angles_yxy_from_quaternion_f16
- euler_angles_yxy_from_quaternion_f32
- euler_angles_yxy_from_quaternion_f64
- euler_angles_yxz_from_matrix3_f16
- euler_angles_yxz_from_matrix3_f32
- euler_angles_yxz_from_matrix3_f64
- euler_angles_yxz_from_matrix4_f16
- euler_angles_yxz_from_matrix4_f32
- euler_angles_yxz_from_matrix4_f64
- euler_angles_yxz_from_quaternion_f16
- euler_angles_yxz_from_quaternion_f32
- euler_angles_yxz_from_quaternion_f64
- euler_angles_yzx_from_matrix3_f16
- euler_angles_yzx_from_matrix3_f32
- euler_angles_yzx_from_matrix3_f64
- euler_angles_yzx_from_matrix4_f16
- euler_angles_yzx_from_matrix4_f32
- euler_angles_yzx_from_matrix4_f64
- euler_angles_yzx_from_quaternion_f16
- euler_angles_yzx_from_quaternion_f32
- euler_angles_yzx_from_quaternion_f64
- euler_angles_yzy_from_matrix3_f16
- euler_angles_yzy_from_matrix3_f32
- euler_angles_yzy_from_matrix3_f64
- euler_angles_yzy_from_matrix4_f16
- euler_angles_yzy_from_matrix4_f32
- euler_angles_yzy_from_matrix4_f64
- euler_angles_yzy_from_quaternion_f16
- euler_angles_yzy_from_quaternion_f32
- euler_angles_yzy_from_quaternion_f64
- euler_angles_zxy_from_matrix3_f16
- euler_angles_zxy_from_matrix3_f32
- euler_angles_zxy_from_matrix3_f64
- euler_angles_zxy_from_matrix4_f16
- euler_angles_zxy_from_matrix4_f32
- euler_angles_zxy_from_matrix4_f64
- euler_angles_zxy_from_quaternion_f16
- euler_angles_zxy_from_quaternion_f32
- euler_angles_zxy_from_quaternion_f64
- euler_angles_zxz_from_matrix3_f16
- euler_angles_zxz_from_matrix3_f32
- euler_angles_zxz_from_matrix3_f64
- euler_angles_zxz_from_matrix4_f16
- euler_angles_zxz_from_matrix4_f32
- euler_angles_zxz_from_matrix4_f64
- euler_angles_zxz_from_quaternion_f16
- euler_angles_zxz_from_quaternion_f32
- euler_angles_zxz_from_quaternion_f64
- euler_angles_zyx_from_matrix3_f16
- euler_angles_zyx_from_matrix3_f32
- euler_angles_zyx_from_matrix3_f64
- euler_angles_zyx_from_matrix4_f16
- euler_angles_zyx_from_matrix4_f32
- euler_angles_zyx_from_matrix4_f64
- euler_angles_zyx_from_quaternion_f16
- euler_angles_zyx_from_quaternion_f32
- euler_angles_zyx_from_quaternion_f64
- euler_angles_zyz_from_matrix3_f16
- euler_angles_zyz_from_matrix3_f32
- euler_angles_zyz_from_matrix3_f64
- euler_angles_zyz_from_matrix4_f16
- euler_angles_zyz_from_matrix4_f32
- euler_angles_zyz_from_matrix4_f64
- euler_angles_zyz_from_quaternion_f16
- euler_angles_zyz_from_quaternion_f32
- euler_angles_zyz_from_quaternion_f64
- exp
- exp10
- exp2
- face_forward
- floor
- fract
- greater_than_array
- greater_than_equal_array
- greater_than_equal_single
- greater_than_single
- hadamard_product
- hermite
- hermitian_adjoint
- identity_array_based_matrix
- identity_matrix
- inverse_sqrt
- is_inf_array
- is_inf_single
- is_nan_array
- is_nan_single
- lerp
- less_than_array
- less_than_equal_array
- less_than_equal_single
- less_than_single
- ln
- log
- log10
- log2
- matrix1x1_adjugate
- matrix1x1_determinant
- matrix1x1_inverse
- matrix1x1_inverse_transpose
- matrix2_adjoint_f16
- matrix2_adjoint_f32
- matrix2_adjoint_f64
- matrix2_determinant_f16
- matrix2_determinant_f32
- matrix2_determinant_f64
- matrix2_from_matrix3_f16
- matrix2_from_matrix3_f32
- matrix2_from_matrix3_f64
- matrix2_from_matrix4_f16
- matrix2_from_matrix4_f32
- matrix2_from_matrix4_f64
- matrix2_from_scalar_f16
- matrix2_from_scalar_f32
- matrix2_from_scalar_f64
- matrix2_inverse_f16
- matrix2_inverse_f32
- matrix2_inverse_f64
- matrix2_inverse_transpose_f16
- matrix2_inverse_transpose_f32
- matrix2_inverse_transpose_f64
- matrix2_orthonormalize_f16
- matrix2_orthonormalize_f32
- matrix2_orthonormalize_f64
- matrix2_rotate_f16
- matrix2_rotate_f32
- matrix2_rotate_f64
- matrix2x2_adjugate
- matrix2x2_determinant
- matrix2x2_inverse
- matrix2x2_inverse_transpose
- matrix3_adjoint_f16
- matrix3_adjoint_f32
- matrix3_adjoint_f64
- matrix3_determinant_f16
- matrix3_determinant_f32
- matrix3_determinant_f64
- matrix3_from_derived_euler_angle_x_f16
- matrix3_from_derived_euler_angle_x_f32
- matrix3_from_derived_euler_angle_x_f64
- matrix3_from_derived_euler_angle_y_f16
- matrix3_from_derived_euler_angle_y_f32
- matrix3_from_derived_euler_angle_y_f64
- matrix3_from_derived_euler_angle_z_f16
- matrix3_from_derived_euler_angle_z_f32
- matrix3_from_derived_euler_angle_z_f64
- matrix3_from_euler_angle_x_f16
- matrix3_from_euler_angle_x_f32
- matrix3_from_euler_angle_x_f64
- matrix3_from_euler_angle_y_f16
- matrix3_from_euler_angle_y_f32
- matrix3_from_euler_angle_y_f64
- matrix3_from_euler_angle_z_f16
- matrix3_from_euler_angle_z_f32
- matrix3_from_euler_angle_z_f64
- matrix3_from_euler_angles_f16
- matrix3_from_euler_angles_f32
- matrix3_from_euler_angles_f64
- matrix3_from_euler_angles_xy_f16
- matrix3_from_euler_angles_xy_f32
- matrix3_from_euler_angles_xy_f64
- matrix3_from_euler_angles_xyx_f16
- matrix3_from_euler_angles_xyx_f32
- matrix3_from_euler_angles_xyx_f64
- matrix3_from_euler_angles_xyz_f16
- matrix3_from_euler_angles_xyz_f32
- matrix3_from_euler_angles_xyz_f64
- matrix3_from_euler_angles_xz_f16
- matrix3_from_euler_angles_xz_f32
- matrix3_from_euler_angles_xz_f64
- matrix3_from_euler_angles_xzx_f16
- matrix3_from_euler_angles_xzx_f32
- matrix3_from_euler_angles_xzx_f64
- matrix3_from_euler_angles_xzy_f16
- matrix3_from_euler_angles_xzy_f32
- matrix3_from_euler_angles_xzy_f64
- matrix3_from_euler_angles_yx_f16
- matrix3_from_euler_angles_yx_f32
- matrix3_from_euler_angles_yx_f64
- matrix3_from_euler_angles_yxy_f16
- matrix3_from_euler_angles_yxy_f32
- matrix3_from_euler_angles_yxy_f64
- matrix3_from_euler_angles_yxz_f16
- matrix3_from_euler_angles_yxz_f32
- matrix3_from_euler_angles_yxz_f64
- matrix3_from_euler_angles_yz_f16
- matrix3_from_euler_angles_yz_f32
- matrix3_from_euler_angles_yz_f64
- matrix3_from_euler_angles_yzx_f16
- matrix3_from_euler_angles_yzx_f32
- matrix3_from_euler_angles_yzx_f64
- matrix3_from_euler_angles_yzy_f16
- matrix3_from_euler_angles_yzy_f32
- matrix3_from_euler_angles_yzy_f64
- matrix3_from_euler_angles_zx_f16
- matrix3_from_euler_angles_zx_f32
- matrix3_from_euler_angles_zx_f64
- matrix3_from_euler_angles_zxy_f16
- matrix3_from_euler_angles_zxy_f32
- matrix3_from_euler_angles_zxy_f64
- matrix3_from_euler_angles_zxz_f16
- matrix3_from_euler_angles_zxz_f32
- matrix3_from_euler_angles_zxz_f64
- matrix3_from_euler_angles_zy_f16
- matrix3_from_euler_angles_zy_f32
- matrix3_from_euler_angles_zy_f64
- matrix3_from_euler_angles_zyx_f16
- matrix3_from_euler_angles_zyx_f32
- matrix3_from_euler_angles_zyx_f64
- matrix3_from_euler_angles_zyz_f16
- matrix3_from_euler_angles_zyz_f32
- matrix3_from_euler_angles_zyz_f64
- matrix3_from_matrix2_f16
- matrix3_from_matrix2_f32
- matrix3_from_matrix2_f64
- matrix3_from_matrix4_f16
- matrix3_from_matrix4_f32
- matrix3_from_matrix4_f64
- matrix3_from_quaternion_f16
- matrix3_from_quaternion_f32
- matrix3_from_quaternion_f64
- matrix3_from_scalar_f16
- matrix3_from_scalar_f32
- matrix3_from_scalar_f64
- matrix3_from_yaw_pitch_roll_f16
- matrix3_from_yaw_pitch_roll_f32
- matrix3_from_yaw_pitch_roll_f64
- matrix3_inverse_f16
- matrix3_inverse_f32
- matrix3_inverse_f64
- matrix3_inverse_transpose_f16
- matrix3_inverse_transpose_f32
- matrix3_inverse_transpose_f64
- matrix3_look_at_f16
- matrix3_look_at_f32
- matrix3_look_at_f64
- matrix3_orthonormalize_f16
- matrix3_orthonormalize_f32
- matrix3_orthonormalize_f64
- matrix3_rotate_f16
- matrix3_rotate_f32
- matrix3_rotate_f64
- matrix3_scale_f16
- matrix3_scale_f32
- matrix3_scale_f64
- matrix3x3_adjugate
- matrix3x3_determinant
- matrix3x3_inverse
- matrix3x3_inverse_transpose
- matrix4_adjoint_f16
- matrix4_adjoint_f32
- matrix4_adjoint_f64
- matrix4_cofactor_f16
- matrix4_cofactor_f32
- matrix4_cofactor_f64
- matrix4_determinant_f16
- matrix4_determinant_f32
- matrix4_determinant_f64
- matrix4_from_derived_euler_angle_x_f16
- matrix4_from_derived_euler_angle_x_f32
- matrix4_from_derived_euler_angle_x_f64
- matrix4_from_derived_euler_angle_y_f16
- matrix4_from_derived_euler_angle_y_f32
- matrix4_from_derived_euler_angle_y_f64
- matrix4_from_derived_euler_angle_z_f16
- matrix4_from_derived_euler_angle_z_f32
- matrix4_from_derived_euler_angle_z_f64
- matrix4_from_euler_angle_x_f16
- matrix4_from_euler_angle_x_f32
- matrix4_from_euler_angle_x_f64
- matrix4_from_euler_angle_y_f16
- matrix4_from_euler_angle_y_f32
- matrix4_from_euler_angle_y_f64
- matrix4_from_euler_angle_z_f16
- matrix4_from_euler_angle_z_f32
- matrix4_from_euler_angle_z_f64
- matrix4_from_euler_angles_f16
- matrix4_from_euler_angles_f32
- matrix4_from_euler_angles_f64
- matrix4_from_euler_angles_xy_f16
- matrix4_from_euler_angles_xy_f32
- matrix4_from_euler_angles_xy_f64
- matrix4_from_euler_angles_xyx_f16
- matrix4_from_euler_angles_xyx_f32
- matrix4_from_euler_angles_xyx_f64
- matrix4_from_euler_angles_xyz_f16
- matrix4_from_euler_angles_xyz_f32
- matrix4_from_euler_angles_xyz_f64
- matrix4_from_euler_angles_xz_f16
- matrix4_from_euler_angles_xz_f32
- matrix4_from_euler_angles_xz_f64
- matrix4_from_euler_angles_xzx_f16
- matrix4_from_euler_angles_xzx_f32
- matrix4_from_euler_angles_xzx_f64
- matrix4_from_euler_angles_xzy_f16
- matrix4_from_euler_angles_xzy_f32
- matrix4_from_euler_angles_xzy_f64
- matrix4_from_euler_angles_yx_f16
- matrix4_from_euler_angles_yx_f32
- matrix4_from_euler_angles_yx_f64
- matrix4_from_euler_angles_yxy_f16
- matrix4_from_euler_angles_yxy_f32
- matrix4_from_euler_angles_yxy_f64
- matrix4_from_euler_angles_yxz_f16
- matrix4_from_euler_angles_yxz_f32
- matrix4_from_euler_angles_yxz_f64
- matrix4_from_euler_angles_yz_f16
- matrix4_from_euler_angles_yz_f32
- matrix4_from_euler_angles_yz_f64
- matrix4_from_euler_angles_yzx_f16
- matrix4_from_euler_angles_yzx_f32
- matrix4_from_euler_angles_yzx_f64
- matrix4_from_euler_angles_yzy_f16
- matrix4_from_euler_angles_yzy_f32
- matrix4_from_euler_angles_yzy_f64
- matrix4_from_euler_angles_zx_f16
- matrix4_from_euler_angles_zx_f32
- matrix4_from_euler_angles_zx_f64
- matrix4_from_euler_angles_zxy_f16
- matrix4_from_euler_angles_zxy_f32
- matrix4_from_euler_angles_zxy_f64
- matrix4_from_euler_angles_zxz_f16
- matrix4_from_euler_angles_zxz_f32
- matrix4_from_euler_angles_zxz_f64
- matrix4_from_euler_angles_zy_f16
- matrix4_from_euler_angles_zy_f32
- matrix4_from_euler_angles_zy_f64
- matrix4_from_euler_angles_zyx_f16
- matrix4_from_euler_angles_zyx_f32
- matrix4_from_euler_angles_zyx_f64
- matrix4_from_euler_angles_zyz_f16
- matrix4_from_euler_angles_zyz_f32
- matrix4_from_euler_angles_zyz_f64
- matrix4_from_matrix2_f16
- matrix4_from_matrix2_f32
- matrix4_from_matrix2_f64
- matrix4_from_matrix3_f16
- matrix4_from_matrix3_f32
- matrix4_from_matrix3_f64
- matrix4_from_quaternion_f16
- matrix4_from_quaternion_f32
- matrix4_from_quaternion_f64
- matrix4_from_scalar_f16
- matrix4_from_scalar_f32
- matrix4_from_scalar_f64
- matrix4_from_trs_f16
- matrix4_from_trs_f32
- matrix4_from_trs_f64
- matrix4_from_yaw_pitch_roll_f16
- matrix4_from_yaw_pitch_roll_f32
- matrix4_from_yaw_pitch_roll_f64
- matrix4_infinite_perspective_f16
- matrix4_infinite_perspective_f32
- matrix4_infinite_perspective_f64
- matrix4_inverse_f16
- matrix4_inverse_f32
- matrix4_inverse_f64
- matrix4_inverse_transpose_f16
- matrix4_inverse_transpose_f32
- matrix4_inverse_transpose_f64
- matrix4_look_at_f16
- matrix4_look_at_f32
- matrix4_look_at_f64
- matrix4_look_at_from_fru_f16
- matrix4_look_at_from_fru_f32
- matrix4_look_at_from_fru_f64
- matrix4_minor_f16
- matrix4_minor_f32
- matrix4_minor_f64
- matrix4_orientation_f16
- matrix4_orientation_f32
- matrix4_orientation_f64
- matrix4_perspective_f16
- matrix4_perspective_f32
- matrix4_perspective_f64
- matrix4_rotate_f16
- matrix4_rotate_f32
- matrix4_rotate_f64
- matrix4_scale_f16
- matrix4_scale_f32
- matrix4_scale_f64
- matrix4_translate_f16
- matrix4_translate_f32
- matrix4_translate_f64
- matrix4x4_adjugate
- matrix4x4_determinant
- matrix4x4_inverse
- matrix4x4_inverse_transpose
- matrix_cast
- matrix_comp_mul
- matrix_flatten
- matrix_minor
- matrix_mul
- matrix_mul_differ
- matrix_mul_vector
- matrix_ortho3d_f16
- matrix_ortho3d_f32
- matrix_ortho3d_f64
- matrix_to_ptr
- max_double
- max_single
- max_triple
- min_double
- min_single
- min_triple
- mix
- mod
- not
- not_equal_array
- not_equal_single
- outer_product
- pitch_from_quaternion_f16
- pitch_from_quaternion_f32
- pitch_from_quaternion_f64
- pitch_yaw_roll_from_quaternion_f16
- pitch_yaw_roll_from_quaternion_f32
- pitch_yaw_roll_from_quaternion_f64
- polar_from_euclidean_f16
- polar_from_euclidean_f32
- polar_from_euclidean_f64
- pow
- projection
- quaternion128_angle_between
- quaternion128_dot
- quaternion128_mul_vector3
- quaternion256_angle_between
- quaternion256_dot
- quaternion256_mul_vector3
- quaternion64_angle_between
- quaternion64_dot
- quaternion64_mul_vector3
- quaternion_angle_axis_f16
- quaternion_angle_axis_f32
- quaternion_angle_axis_f64
- quaternion_between_two_vector3_f16
- quaternion_between_two_vector3_f32
- quaternion_between_two_vector3_f64
- quaternion_cross
- quaternion_from_euler_angle_x_f16
- quaternion_from_euler_angle_x_f32
- quaternion_from_euler_angle_x_f64
- quaternion_from_euler_angle_y_f16
- quaternion_from_euler_angle_y_f32
- quaternion_from_euler_angle_y_f64
- quaternion_from_euler_angle_z_f16
- quaternion_from_euler_angle_z_f32
- quaternion_from_euler_angle_z_f64
- quaternion_from_euler_angles_f16
- quaternion_from_euler_angles_f32
- quaternion_from_euler_angles_f64
- quaternion_from_forward_and_up_f16
- quaternion_from_forward_and_up_f32
- quaternion_from_forward_and_up_f64
- quaternion_from_matrix3_f16
- quaternion_from_matrix3_f32
- quaternion_from_matrix3_f64
- quaternion_from_matrix4_f16
- quaternion_from_matrix4_f32
- quaternion_from_matrix4_f64
- quaternion_from_pitch_yaw_roll_f16
- quaternion_from_pitch_yaw_roll_f32
- quaternion_from_pitch_yaw_roll_f64
- quaternion_from_scalar_f16
- quaternion_from_scalar_f32
- quaternion_from_scalar_f64
- quaternion_inverse
- quaternion_length
- quaternion_length2
- quaternion_look_at_f16
- quaternion_look_at_f32
- quaternion_look_at_f64
- quaternion_mul_quaternion
- quaternion_nlerp_f16
- quaternion_nlerp_f32
- quaternion_nlerp_f64
- quaternion_normalize
- quaternion_normalize0
- quaternion_slerp_f16
- quaternion_slerp_f32
- quaternion_slerp_f64
- quaternion_squad_f16
- quaternion_squad_f32
- quaternion_squad_f64
- reflect
- refract
- roll_from_quaternion_f16
- roll_from_quaternion_f32
- roll_from_quaternion_f64
- round
- saturate
- scalar_cross
- scalar_dot
- scalar_f32_swizzle1
- scalar_f32_swizzle2
- scalar_f32_swizzle3
- scalar_f32_swizzle4
- scalar_f64_swizzle1
- scalar_f64_swizzle2
- scalar_f64_swizzle3
- scalar_f64_swizzle4
- scalar_triple_product
- sign
- sin
- smootherstep
- smoothstep
- sqrt
- step
- tan
- to_complex128
- to_complex32
- to_complex64
- to_degrees
- to_f32
- to_f64
- to_i16
- to_i32
- to_i64
- to_i8
- to_int
- to_quaternion128
- to_quaternion256
- to_quaternion64
- to_radians
- to_u16
- to_u32
- to_u64
- to_u8
- to_uint
- trace
- transpose
- unlerp
- vector2_orthogonal
- vector2f32_swizzle1
- vector2f32_swizzle2
- vector2f32_swizzle3
- vector2f32_swizzle4
- vector2f64_swizzle1
- vector2f64_swizzle2
- vector2f64_swizzle3
- vector2f64_swizzle4
- vector3_orthogonal
- vector3_orthonormalize_f16
- vector3_orthonormalize_f32
- vector3_orthonormalize_f64
- vector3f32_swizzle1
- vector3f32_swizzle2
- vector3f32_swizzle3
- vector3f32_swizzle4
- vector3f64_swizzle1
- vector3f64_swizzle2
- vector3f64_swizzle3
- vector3f64_swizzle4
- vector4_hsl_to_rgb_f16
- vector4_hsl_to_rgb_f32
- vector4_hsl_to_rgb_f64
- vector4_linear_to_srgb_f16
- vector4_linear_to_srgb_f32
- vector4_linear_to_srgb_f64
- vector4_rgb_to_hsl_f16
- vector4_rgb_to_hsl_f32
- vector4_rgb_to_hsl_f64
- vector4_srgb_to_linear_f16
- vector4_srgb_to_linear_f32
- vector4_srgb_to_linear_f64
- vector4f32_swizzle1
- vector4f32_swizzle2
- vector4f32_swizzle3
- vector4f32_swizzle4
- vector4f64_swizzle1
- vector4f64_swizzle2
- vector4f64_swizzle3
- vector4f64_swizzle4
- vector_angle_between
- vector_cross2
- vector_cross3
- vector_dot
- vector_length
- vector_length2
- vector_normalize
- vector_normalize0
- vector_slerp
- vector_to_ptr
- vector_triple_product
- yaw_from_quaternion_f16
- yaw_from_quaternion_f32
- yaw_from_quaternion_f64
Procedure Groups (212)
- adjugate
- angle_axis_from_quaternion
- angle_between
- angle_from_quaternion
- axis_from_quaternion
- classify
- cross
- determinant
- dot
- equal
- euclidean_from_polar
- euler_angles_from_matrix3
- euler_angles_from_matrix4
- euler_angles_from_quaternion
- euler_angles_xyx_from_matrix3
- euler_angles_xyx_from_matrix4
- euler_angles_xyx_from_quaternion
- euler_angles_xyz_from_matrix3
- euler_angles_xyz_from_matrix4
- euler_angles_xyz_from_quaternion
- euler_angles_xzx_from_matrix3
- euler_angles_xzx_from_matrix4
- euler_angles_xzx_from_quaternion
- euler_angles_xzy_from_matrix3
- euler_angles_xzy_from_matrix4
- euler_angles_xzy_from_quaternion
- euler_angles_yxy_from_matrix3
- euler_angles_yxy_from_matrix4
- euler_angles_yxy_from_quaternion
- euler_angles_yxz_from_matrix3
- euler_angles_yxz_from_matrix4
- euler_angles_yxz_from_quaternion
- euler_angles_yzx_from_matrix3
- euler_angles_yzx_from_matrix4
- euler_angles_yzx_from_quaternion
- euler_angles_yzy_from_matrix3
- euler_angles_yzy_from_matrix4
- euler_angles_yzy_from_quaternion
- euler_angles_zxy_from_matrix3
- euler_angles_zxy_from_matrix4
- euler_angles_zxy_from_quaternion
- euler_angles_zxz_from_matrix3
- euler_angles_zxz_from_matrix4
- euler_angles_zxz_from_quaternion
- euler_angles_zyx_from_matrix3
- euler_angles_zyx_from_matrix4
- euler_angles_zyx_from_quaternion
- euler_angles_zyz_from_matrix3
- euler_angles_zyz_from_matrix4
- euler_angles_zyz_from_quaternion
- greater_than
- greater_than_equal
- identity
- inner_product
- inverse
- inverse_transpose
- is_inf
- is_nan
- length
- length2
- less_than
- less_than_equal
- matrix2_adjoint
- matrix2_determinant
- matrix2_from_matrix3
- matrix2_from_matrix4
- matrix2_from_scalar
- matrix2_inverse
- matrix2_inverse_transpose
- matrix2_orthonormalize
- matrix2_rotate
- matrix3_adjoint
- matrix3_determinant
- matrix3_from_derived_euler_angle_x
- matrix3_from_derived_euler_angle_y
- matrix3_from_derived_euler_angle_z
- matrix3_from_euler_angle_x
- matrix3_from_euler_angle_y
- matrix3_from_euler_angle_z
- matrix3_from_euler_angles
- matrix3_from_euler_angles_xy
- matrix3_from_euler_angles_xyx
- matrix3_from_euler_angles_xyz
- matrix3_from_euler_angles_xz
- matrix3_from_euler_angles_xzx
- matrix3_from_euler_angles_xzy
- matrix3_from_euler_angles_yx
- matrix3_from_euler_angles_yxy
- matrix3_from_euler_angles_yxz
- matrix3_from_euler_angles_yz
- matrix3_from_euler_angles_yzx
- matrix3_from_euler_angles_yzy
- matrix3_from_euler_angles_zx
- matrix3_from_euler_angles_zxy
- matrix3_from_euler_angles_zxz
- matrix3_from_euler_angles_zy
- matrix3_from_euler_angles_zyx
- matrix3_from_euler_angles_zyz
- matrix3_from_matrix2
- matrix3_from_matrix4
- matrix3_from_quaternion
- matrix3_from_scalar
- matrix3_from_yaw_pitch_roll
- matrix3_inverse
- matrix3_inverse_transpose
- matrix3_look_at
- matrix3_orthonormalize
- matrix3_rotate
- matrix3_scale
- matrix4_adjoint
- matrix4_cofactor
- matrix4_determinant
- matrix4_from_derived_euler_angle_x
- matrix4_from_derived_euler_angle_y
- matrix4_from_derived_euler_angle_z
- matrix4_from_euler_angle_x
- matrix4_from_euler_angle_y
- matrix4_from_euler_angle_z
- matrix4_from_euler_angles
- matrix4_from_euler_angles_xy
- matrix4_from_euler_angles_xyx
- matrix4_from_euler_angles_xyz
- matrix4_from_euler_angles_xz
- matrix4_from_euler_angles_xzx
- matrix4_from_euler_angles_xzy
- matrix4_from_euler_angles_yx
- matrix4_from_euler_angles_yxy
- matrix4_from_euler_angles_yxz
- matrix4_from_euler_angles_yz
- matrix4_from_euler_angles_yzx
- matrix4_from_euler_angles_yzy
- matrix4_from_euler_angles_zx
- matrix4_from_euler_angles_zxy
- matrix4_from_euler_angles_zxz
- matrix4_from_euler_angles_zy
- matrix4_from_euler_angles_zyx
- matrix4_from_euler_angles_zyz
- matrix4_from_matrix2
- matrix4_from_matrix3
- matrix4_from_quaternion
- matrix4_from_scalar
- matrix4_from_trs
- matrix4_from_yaw_pitch_roll
- matrix4_infinite_perspective
- matrix4_inverse
- matrix4_inverse_transpose
- matrix4_look_at
- matrix4_look_at_from_fru
- matrix4_minor
- matrix4_orientation
- matrix4_perspective
- matrix4_rotate
- matrix4_scale
- matrix4_translate
- matrix_ortho3d
- max
- min
- mul
- normalize
- normalize0
- not_equal
- orthogonal
- orthonormalize
- pitch_from_quaternion
- pitch_yaw_roll_from_quaternion
- polar_from_euclidean
- quaternion_angle_axis
- quaternion_between_two_vector3
- quaternion_from_euler_angle_x
- quaternion_from_euler_angle_y
- quaternion_from_euler_angle_z
- quaternion_from_euler_angles
- quaternion_from_forward_and_up
- quaternion_from_matrix3
- quaternion_from_matrix4
- quaternion_from_pitch_yaw_roll
- quaternion_from_scalar
- quaternion_look_at
- quaternion_mul_vector3
- quaternion_nlerp
- quaternion_slerp
- quaternion_squad
- roll_from_quaternion
- scalar_swizzle
- swizzle
- to_matrix2f
- to_matrix2f16
- to_matrix2f32
- to_matrix2f64
- to_matrix3
- to_matrix3f16
- to_matrix3f32
- to_matrix3f64
- to_matrix4
- to_matrix4f16
- to_matrix4f32
- to_matrix4f64
- to_ptr
- to_quaternion
- to_quaternionf16
- to_quaternionf32
- to_quaternionf64
- vector2_swizzle
- vector3_orthonormalize
- vector3_swizzle
- vector4_hsl_to_rgb
- vector4_linear_to_srgb
- vector4_rgb_to_hsl
- vector4_srgb_to_linear
- vector4_swizzle
- vector_cross
- yaw_from_quaternion
Types
Euler_Angle_Order ¶
Euler_Angle_Order :: enum int { // Tait-Bryan XYZ, XZY, YXZ, YZX, ZXY, ZYX, // Proper Euler XYX, XZX, YXY, YZY, ZXZ, ZYZ, }
Related Procedures With Parameters
- euler_angles_from_matrix3_f16
- euler_angles_from_matrix3_f32
- euler_angles_from_matrix3_f64
- euler_angles_from_matrix4_f16
- euler_angles_from_matrix4_f32
- euler_angles_from_matrix4_f64
- euler_angles_from_quaternion_f16
- euler_angles_from_quaternion_f32
- euler_angles_from_quaternion_f64
- matrix3_from_euler_angles_f16
- matrix3_from_euler_angles_f32
- matrix3_from_euler_angles_f64
- matrix4_from_euler_angles_f16
- matrix4_from_euler_angles_f32
- matrix4_from_euler_angles_f64
- quaternion_from_euler_angles_f16
- quaternion_from_euler_angles_f32
- quaternion_from_euler_angles_f64
- euler_angles_from_matrix3 (procedure groups)
- euler_angles_from_matrix4 (procedure groups)
- euler_angles_from_quaternion (procedure groups)
- matrix3_from_euler_angles (procedure groups)
- matrix4_from_euler_angles (procedure groups)
- quaternion_from_euler_angles (procedure groups)
Matrix1x2f16 ¶
Matrix1x2f16 :: matrix[1, 2]f16
Matrix1x2f32 ¶
Matrix1x2f32 :: matrix[1, 2]f32
Matrix1x2f64 ¶
Matrix1x2f64 :: matrix[1, 2]f64
Matrix1x3f16 ¶
Matrix1x3f16 :: matrix[1, 3]f16
Matrix1x3f32 ¶
Matrix1x3f32 :: matrix[1, 3]f32
Matrix1x3f64 ¶
Matrix1x3f64 :: matrix[1, 3]f64
Matrix1x4f16 ¶
Matrix1x4f16 :: matrix[1, 4]f16
Matrix1x4f32 ¶
Matrix1x4f32 :: matrix[1, 4]f32
Matrix1x4f64 ¶
Matrix1x4f64 :: matrix[1, 4]f64
Matrix2x1f16 ¶
Matrix2x1f16 :: matrix[2, 1]f16
Matrix2x1f32 ¶
Matrix2x1f32 :: matrix[2, 1]f32
Matrix2x1f64 ¶
Matrix2x1f64 :: matrix[2, 1]f64
Matrix2x3f16 ¶
Matrix2x3f16 :: matrix[2, 3]f16
Matrix2x3f32 ¶
Matrix2x3f32 :: matrix[2, 3]f32
Matrix2x3f64 ¶
Matrix2x3f64 :: matrix[2, 3]f64
Matrix2x4f16 ¶
Matrix2x4f16 :: matrix[2, 4]f16
Matrix2x4f32 ¶
Matrix2x4f32 :: matrix[2, 4]f32
Matrix2x4f64 ¶
Matrix2x4f64 :: matrix[2, 4]f64
Matrix3x1f16 ¶
Matrix3x1f16 :: matrix[3, 1]f16
Matrix3x1f32 ¶
Matrix3x1f32 :: matrix[3, 1]f32
Matrix3x1f64 ¶
Matrix3x1f64 :: matrix[3, 1]f64
Matrix3x2f16 ¶
Matrix3x2f16 :: matrix[3, 2]f16
Matrix3x2f32 ¶
Matrix3x2f32 :: matrix[3, 2]f32
Matrix3x2f64 ¶
Matrix3x2f64 :: matrix[3, 2]f64
Matrix3x4f16 ¶
Matrix3x4f16 :: matrix[3, 4]f16
Matrix3x4f32 ¶
Matrix3x4f32 :: matrix[3, 4]f32
Matrix3x4f64 ¶
Matrix3x4f64 :: matrix[3, 4]f64
Matrix4x1f16 ¶
Matrix4x1f16 :: matrix[4, 1]f16
Matrix4x1f32 ¶
Matrix4x1f32 :: matrix[4, 1]f32
Matrix4x1f64 ¶
Matrix4x1f64 :: matrix[4, 1]f64
Matrix4x2f16 ¶
Matrix4x2f16 :: matrix[4, 2]f16
Matrix4x2f32 ¶
Matrix4x2f32 :: matrix[4, 2]f32
Matrix4x2f64 ¶
Matrix4x2f64 :: matrix[4, 2]f64
Matrix4x3f16 ¶
Matrix4x3f16 :: matrix[4, 3]f16
Matrix4x3f32 ¶
Matrix4x3f32 :: matrix[4, 3]f32
Matrix4x3f64 ¶
Matrix4x3f64 :: matrix[4, 3]f64
Quaternionf16 ¶
Quaternionf16 :: quaternion64
Quaternionf32 ¶
Quaternionf32 :: quaternion128
Quaternionf64 ¶
Quaternionf64 :: quaternion256
Scalar_Components ¶
Scalar_Components :: enum u8 { x = 0, r = 0, }
Related Procedures With Parameters
- scalar_f32_swizzle1
- scalar_f32_swizzle2
- scalar_f32_swizzle3
- scalar_f32_swizzle4
- scalar_f64_swizzle1
- scalar_f64_swizzle2
- scalar_f64_swizzle3
- scalar_f64_swizzle4
- scalar_swizzle (procedure groups)
- swizzle (procedure groups)
Vector2_Components ¶
Vector2_Components :: enum u8 { x = 0, y = 1, r = 0, g = 1, }
Related Procedures With Parameters
- vector2f32_swizzle1
- vector2f32_swizzle2
- vector2f32_swizzle3
- vector2f32_swizzle4
- vector2f64_swizzle1
- vector2f64_swizzle2
- vector2f64_swizzle3
- vector2f64_swizzle4
- swizzle (procedure groups)
- vector2_swizzle (procedure groups)
Vector2f16 ¶
Vector2f16 :: [2]f16
Vector2f32 ¶
Vector2f32 :: [2]f32
Vector2f64 ¶
Vector2f64 :: [2]f64
Vector3_Components ¶
Vector3_Components :: enum u8 { x = 0, y = 1, z = 2, r = 0, g = 1, b = 2, }
Related Procedures With Parameters
- vector3f32_swizzle1
- vector3f32_swizzle2
- vector3f32_swizzle3
- vector3f32_swizzle4
- vector3f64_swizzle1
- vector3f64_swizzle2
- vector3f64_swizzle3
- vector3f64_swizzle4
- swizzle (procedure groups)
- vector3_swizzle (procedure groups)
Vector4_Components ¶
Vector4_Components :: enum u8 { x = 0, y = 1, z = 2, w = 3, r = 0, g = 1, b = 2, a = 3, }
Related Procedures With Parameters
- vector4f32_swizzle1
- vector4f32_swizzle2
- vector4f32_swizzle3
- vector4f32_swizzle4
- vector4f64_swizzle1
- vector4f64_swizzle2
- vector4f64_swizzle3
- vector4f64_swizzle4
- swizzle (procedure groups)
- vector4_swizzle (procedure groups)
Vector4f16 ¶
Vector4f16 :: [4]f16
Vector4f32 ¶
Vector4f32 :: [4]f32
Vector4f64 ¶
Vector4f64 :: [4]f64
Constants
DEG_PER_RAD ¶
DEG_PER_RAD :: 360.0 / TAU
F16_EPSILON ¶
F16_EPSILON :: 1e-3
F32_EPSILON ¶
F32_EPSILON :: 1e-7
F64_EPSILON ¶
F64_EPSILON :: 1e-15
MATRIX1F16_IDENTITY ¶
MATRIX1F16_IDENTITY: matrix[1, 1]f16 : Matrix1f16(1)
MATRIX1F32_IDENTITY ¶
MATRIX1F32_IDENTITY: matrix[1, 1]f32 : Matrix1f32(1)
MATRIX1F64_IDENTITY ¶
MATRIX1F64_IDENTITY: matrix[1, 1]f64 : Matrix1f64(1)
MATRIX2F16_IDENTITY ¶
MATRIX2F16_IDENTITY: matrix[2, 2]f16 : Matrix2f16(1)
MATRIX2F32_IDENTITY ¶
MATRIX2F32_IDENTITY: matrix[2, 2]f32 : Matrix2f32(1)
MATRIX2F64_IDENTITY ¶
MATRIX2F64_IDENTITY: matrix[2, 2]f64 : Matrix2f64(1)
MATRIX3F16_IDENTITY ¶
MATRIX3F16_IDENTITY: matrix[3, 3]f16 : Matrix3f16(1)
MATRIX3F32_IDENTITY ¶
MATRIX3F32_IDENTITY: matrix[3, 3]f32 : Matrix3f32(1)
MATRIX3F64_IDENTITY ¶
MATRIX3F64_IDENTITY: matrix[3, 3]f64 : Matrix3f64(1)
MATRIX4F16_IDENTITY ¶
MATRIX4F16_IDENTITY: matrix[4, 4]f16 : Matrix4f16(1)
MATRIX4F32_IDENTITY ¶
MATRIX4F32_IDENTITY: matrix[4, 4]f32 : Matrix4f32(1)
MATRIX4F64_IDENTITY ¶
MATRIX4F64_IDENTITY: matrix[4, 4]f64 : Matrix4f64(1)
MAX_F32_PRECISION ¶
MAX_F32_PRECISION :: 8
Maximum number of meaningful digits after the decimal point for 'f32'
MAX_F64_PRECISION ¶
MAX_F64_PRECISION :: 16
Maximum number of meaningful digits after the decimal point for 'f64'
QUATERNIONF16_IDENTITY ¶
QUATERNIONF16_IDENTITY: quaternion64 : Quaternionf16(1)
QUATERNIONF32_IDENTITY ¶
QUATERNIONF32_IDENTITY: quaternion128 : Quaternionf32(1)
QUATERNIONF64_IDENTITY ¶
QUATERNIONF64_IDENTITY: quaternion256 : Quaternionf64(1)
RAD_PER_DEG ¶
RAD_PER_DEG :: TAU / 360.0
SQRT_FIVE ¶
SQRT_FIVE :: 2.23606797749978969640917366873127623
SQRT_THREE ¶
SQRT_THREE :: 1.73205080756887729352744634150587236
SQRT_TWO ¶
SQRT_TWO :: 1.41421356237309504880168872420969808
VECTOR3F16_X_AXIS ¶
VECTOR3F16_X_AXIS: [3]f16 : Vector3f16{1, 0, 0}
VECTOR3F16_Y_AXIS ¶
VECTOR3F16_Y_AXIS: [3]f16 : Vector3f16{0, 1, 0}
VECTOR3F16_Z_AXIS ¶
VECTOR3F16_Z_AXIS: [3]f16 : Vector3f16{0, 0, 1}
VECTOR3F32_X_AXIS ¶
VECTOR3F32_X_AXIS: [3]f32 : Vector3f32{1, 0, 0}
VECTOR3F32_Y_AXIS ¶
VECTOR3F32_Y_AXIS: [3]f32 : Vector3f32{0, 1, 0}
VECTOR3F32_Z_AXIS ¶
VECTOR3F32_Z_AXIS: [3]f32 : Vector3f32{0, 0, 1}
VECTOR3F64_X_AXIS ¶
VECTOR3F64_X_AXIS: [3]f64 : Vector3f64{1, 0, 0}
VECTOR3F64_Y_AXIS ¶
VECTOR3F64_Y_AXIS: [3]f64 : Vector3f64{0, 1, 0}
VECTOR3F64_Z_AXIS ¶
VECTOR3F64_Z_AXIS: [3]f64 : Vector3f64{0, 0, 1}
Variables
This section is empty.
Procedures
angle_axis_from_quaternion_f16 ¶
angle_axis_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (angle: f16, axis: [3]f16) {…}
angle_axis_from_quaternion_f32 ¶
angle_axis_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (angle: f32, axis: [3]f32) {…}
angle_axis_from_quaternion_f64 ¶
angle_axis_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (angle: f64, axis: [3]f64) {…}
angle_from_quaternion_f16 ¶
angle_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> f16 {…}
angle_from_quaternion_f32 ¶
angle_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> f32 {…}
angle_from_quaternion_f64 ¶
angle_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> f64 {…}
axis_from_quaternion_f16 ¶
axis_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> [3]f16 {…}
axis_from_quaternion_f32 ¶
axis_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> [3]f32 {…}
axis_from_quaternion_f64 ¶
axis_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> [3]f64 {…}
catmull_rom ¶
catmull_rom :: proc "contextless" (v1, v2, v3, v4: $T/[0]$T, s: $T) -> $T/[0]$T {…}
classify_array ¶
classify_array :: proc "contextless" (x: $T/[0]$T) -> (out: [0]math.Float_Class) {…}
classify_single ¶
classify_single :: proc "contextless" (x: $T) -> math.Float_Class {…}
distance ¶
distance :: proc "contextless" (p0, p1: $T/[0]$T) -> $T {…}
equal_array ¶
equal_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
equal_single ¶
equal_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
euler_angles_from_matrix3_f16 ¶
euler_angles_from_matrix3_f16 :: proc "contextless" (m: matrix[3, 3]f16, order: Euler_Angle_Order) -> (t1, t2, t3: f16) {…}
euler_angles_from_matrix3_f32 ¶
euler_angles_from_matrix3_f32 :: proc "contextless" (m: matrix[3, 3]f32, order: Euler_Angle_Order) -> (t1, t2, t3: f32) {…}
euler_angles_from_matrix3_f64 ¶
euler_angles_from_matrix3_f64 :: proc "contextless" (m: matrix[3, 3]f64, order: Euler_Angle_Order) -> (t1, t2, t3: f64) {…}
euler_angles_from_matrix4_f16 ¶
euler_angles_from_matrix4_f16 :: proc "contextless" (m: matrix[4, 4]f16, order: Euler_Angle_Order) -> (t1, t2, t3: f16) {…}
euler_angles_from_matrix4_f32 ¶
euler_angles_from_matrix4_f32 :: proc "contextless" (m: matrix[4, 4]f32, order: Euler_Angle_Order) -> (t1, t2, t3: f32) {…}
euler_angles_from_matrix4_f64 ¶
euler_angles_from_matrix4_f64 :: proc "contextless" (m: matrix[4, 4]f64, order: Euler_Angle_Order) -> (t1, t2, t3: f64) {…}
euler_angles_from_quaternion_f16 ¶
euler_angles_from_quaternion_f16 :: proc "contextless" (m: quaternion64, order: Euler_Angle_Order) -> (t1, t2, t3: f16) {…}
euler_angles_from_quaternion_f32 ¶
euler_angles_from_quaternion_f32 :: proc "contextless" (m: quaternion128, order: Euler_Angle_Order) -> (t1, t2, t3: f32) {…}
euler_angles_from_quaternion_f64 ¶
euler_angles_from_quaternion_f64 :: proc "contextless" (m: quaternion256, order: Euler_Angle_Order) -> (t1, t2, t3: f64) {…}
euler_angles_xyx_from_quaternion_f16 ¶
euler_angles_xyx_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_xyx_from_quaternion_f32 ¶
euler_angles_xyx_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_xyx_from_quaternion_f64 ¶
euler_angles_xyx_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_xyz_from_quaternion_f16 ¶
euler_angles_xyz_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_xyz_from_quaternion_f32 ¶
euler_angles_xyz_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_xyz_from_quaternion_f64 ¶
euler_angles_xyz_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_xzx_from_quaternion_f16 ¶
euler_angles_xzx_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_xzx_from_quaternion_f32 ¶
euler_angles_xzx_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_xzx_from_quaternion_f64 ¶
euler_angles_xzx_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_xzy_from_quaternion_f16 ¶
euler_angles_xzy_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_xzy_from_quaternion_f32 ¶
euler_angles_xzy_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_xzy_from_quaternion_f64 ¶
euler_angles_xzy_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_yxy_from_quaternion_f16 ¶
euler_angles_yxy_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_yxy_from_quaternion_f32 ¶
euler_angles_yxy_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_yxy_from_quaternion_f64 ¶
euler_angles_yxy_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_yxz_from_quaternion_f16 ¶
euler_angles_yxz_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_yxz_from_quaternion_f32 ¶
euler_angles_yxz_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_yxz_from_quaternion_f64 ¶
euler_angles_yxz_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_yzx_from_quaternion_f16 ¶
euler_angles_yzx_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_yzx_from_quaternion_f32 ¶
euler_angles_yzx_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_yzx_from_quaternion_f64 ¶
euler_angles_yzx_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_yzy_from_quaternion_f16 ¶
euler_angles_yzy_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_yzy_from_quaternion_f32 ¶
euler_angles_yzy_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_yzy_from_quaternion_f64 ¶
euler_angles_yzy_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_zxy_from_quaternion_f16 ¶
euler_angles_zxy_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_zxy_from_quaternion_f32 ¶
euler_angles_zxy_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_zxy_from_quaternion_f64 ¶
euler_angles_zxy_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_zxz_from_quaternion_f16 ¶
euler_angles_zxz_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_zxz_from_quaternion_f32 ¶
euler_angles_zxz_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_zxz_from_quaternion_f64 ¶
euler_angles_zxz_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_zyx_from_quaternion_f16 ¶
euler_angles_zyx_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_zyx_from_quaternion_f32 ¶
euler_angles_zyx_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_zyx_from_quaternion_f64 ¶
euler_angles_zyx_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
euler_angles_zyz_from_quaternion_f16 ¶
euler_angles_zyz_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (t1, t2, t3: f16) {…}
euler_angles_zyz_from_quaternion_f32 ¶
euler_angles_zyz_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (t1, t2, t3: f32) {…}
euler_angles_zyz_from_quaternion_f64 ¶
euler_angles_zyz_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (t1, t2, t3: f64) {…}
face_forward ¶
face_forward :: proc "contextless" (N, I, N_ref: $T) -> (out: $T) {…}
greater_than_array ¶
greater_than_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
greater_than_equal_array ¶
greater_than_equal_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
greater_than_equal_single ¶
greater_than_equal_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
greater_than_single ¶
greater_than_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
hadamard_product ¶
hadamard_product :: intrinsics.hadamard_product
hermitian_adjoint ¶
hermitian_adjoint :: proc "contextless" (m: $/matrix[0, 0]$T) -> $/matrix[0, 0]$T {…}
identity_array_based_matrix ¶
identity_array_based_matrix :: proc "contextless" ($T: typeid/[0][0]T) -> (m: $/[0][0]T) {…}
identity_matrix ¶
identity_matrix :: proc "contextless" ($T: typeid/matrix[0, 0]T) -> $/matrix[0, 0]T {…}
inverse_sqrt ¶
inverse_sqrt :: proc "contextless" (x: $T) -> (out: $T) {…}
is_inf_array ¶
is_inf_array :: proc "contextless" (x: $T/[0]$T) -> (out: [0]bool) {…}
is_inf_single ¶
is_inf_single :: proc "contextless" (x: $T) -> bool {…}
is_nan_array ¶
is_nan_array :: proc "contextless" (x: $T/[0]$T) -> (out: [0]bool) {…}
is_nan_single ¶
is_nan_single :: proc "contextless" (x: $T) -> bool {…}
less_than_array ¶
less_than_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
less_than_equal_array ¶
less_than_equal_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
less_than_equal_single ¶
less_than_equal_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
less_than_single ¶
less_than_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
matrix1x1_adjugate ¶
matrix1x1_adjugate :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
matrix1x1_determinant ¶
matrix1x1_determinant :: proc "contextless" (m: $M/matrix[1, 1]$T) -> (det: $T) {…}
matrix1x1_inverse ¶
matrix1x1_inverse :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
matrix1x1_inverse_transpose ¶
matrix1x1_inverse_transpose :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
matrix2x2_adjugate ¶
matrix2x2_adjugate :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
matrix2x2_determinant ¶
matrix2x2_determinant :: proc "contextless" (m: $M/matrix[2, 2]$T) -> (det: $T) {…}
matrix2x2_inverse ¶
matrix2x2_inverse :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
matrix2x2_inverse_transpose ¶
matrix2x2_inverse_transpose :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
matrix3_from_euler_angles_f16 ¶
matrix3_from_euler_angles_f16 :: proc "contextless" (t1, t2, t3: f16, order: Euler_Angle_Order) -> (m: matrix[3, 3]f16) {…}
matrix3_from_euler_angles_f32 ¶
matrix3_from_euler_angles_f32 :: proc "contextless" (t1, t2, t3: f32, order: Euler_Angle_Order) -> (m: matrix[3, 3]f32) {…}
matrix3_from_euler_angles_f64 ¶
matrix3_from_euler_angles_f64 :: proc "contextless" (t1, t2, t3: f64, order: Euler_Angle_Order) -> (m: matrix[3, 3]f64) {…}
matrix3_from_quaternion_f16 ¶
matrix3_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (m: matrix[3, 3]f16) {…}
matrix3_from_quaternion_f32 ¶
matrix3_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (m: matrix[3, 3]f32) {…}
matrix3_from_quaternion_f64 ¶
matrix3_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (m: matrix[3, 3]f64) {…}
matrix3x3_adjugate ¶
matrix3x3_adjugate :: proc "contextless" (m: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
matrix3x3_determinant ¶
matrix3x3_determinant :: proc "contextless" (m: $A/matrix[3, 3]$T) -> (det: $T) {…}
matrix3x3_inverse ¶
matrix3x3_inverse :: proc "contextless" (x: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
matrix3x3_inverse_transpose ¶
matrix3x3_inverse_transpose :: proc "contextless" (x: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
matrix4_from_euler_angles_f16 ¶
matrix4_from_euler_angles_f16 :: proc "contextless" (t1, t2, t3: f16, order: Euler_Angle_Order) -> (m: matrix[4, 4]f16) {…}
matrix4_from_euler_angles_f32 ¶
matrix4_from_euler_angles_f32 :: proc "contextless" (t1, t2, t3: f32, order: Euler_Angle_Order) -> (m: matrix[4, 4]f32) {…}
matrix4_from_euler_angles_f64 ¶
matrix4_from_euler_angles_f64 :: proc "contextless" (t1, t2, t3: f64, order: Euler_Angle_Order) -> (m: matrix[4, 4]f64) {…}
matrix4_from_quaternion_f16 ¶
matrix4_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (m: matrix[4, 4]f16) {…}
matrix4_from_quaternion_f32 ¶
matrix4_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (m: matrix[4, 4]f32) {…}
matrix4_from_quaternion_f64 ¶
matrix4_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (m: matrix[4, 4]f64) {…}
matrix4_from_trs_f16 ¶
matrix4_from_trs_f16 :: proc "contextless" (t: [3]f16, r: quaternion64, s: [3]f16) -> matrix[4, 4]f16 {…}
matrix4_from_trs_f32 ¶
matrix4_from_trs_f32 :: proc "contextless" (t: [3]f32, r: quaternion128, s: [3]f32) -> matrix[4, 4]f32 {…}
matrix4_from_trs_f64 ¶
matrix4_from_trs_f64 :: proc "contextless" (t: [3]f64, r: quaternion256, s: [3]f64) -> matrix[4, 4]f64 {…}
matrix4x4_adjugate ¶
matrix4x4_adjugate :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
matrix4x4_determinant ¶
matrix4x4_determinant :: proc "contextless" (m: $M/matrix[4, 4]$T) -> (det: $T) {…}
matrix4x4_inverse ¶
matrix4x4_inverse :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
matrix4x4_inverse_transpose ¶
matrix4x4_inverse_transpose :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
matrix_comp_mul ¶
matrix_comp_mul :: proc "contextless" (a, b: $/matrix[0, 0]$T) -> (c: $/matrix[0, 0]$T) {…}
matrix_flatten ¶
matrix_flatten :: intrinsics.matrix_flatten
matrix_minor ¶
matrix_minor :: proc "contextless" (m: $/matrix[0, 0]$T, #any_int row, #any_int column: int) -> (minor: $T) {…}
matrix_mul ¶
matrix_mul :: proc "contextless" (a, b: $/matrix[0, 0]$T) -> (c: $/matrix[0, 0]$T) {…}
matrix_mul_differ ¶
matrix_mul_differ :: proc "contextless" (a, b: $/matrix[0, 0]$T) -> (c: matrix[0, 0]$T) {…}
matrix_mul_vector ¶
matrix_mul_vector :: proc "contextless" (a: $A/matrix[3, 3]$T, b: $V/[3]$T) -> (c: $V/[3]$T) {…}
matrix_to_ptr ¶
matrix_to_ptr :: proc "contextless" (m: ^$/matrix[0, 0]$T) -> ^$T {…}
max_double ¶
max_double :: proc "contextless" (a, b: $T) -> (out: $T) {…}
max_single ¶
max_single :: proc "contextless" (a: $T) -> (out: $T) {…}
max_triple ¶
max_triple :: proc "contextless" (a, b, c: $T) -> $T {…}
min_double ¶
min_double :: proc "contextless" (a, b: $T) -> (out: $T) {…}
min_single ¶
min_single :: proc "contextless" (a: $T) -> (out: $T) {…}
min_triple ¶
min_triple :: proc "contextless" (a, b, c: $T) -> $T {…}
not_equal_array ¶
not_equal_array :: proc "contextless" (x, y: $T/[0]$T) -> (out: [0]bool) {…}
not_equal_single ¶
not_equal_single :: proc "contextless" (x, y: $T) -> (out: bool) {…}
outer_product ¶
outer_product :: intrinsics.outer_product
pitch_from_quaternion_f16 ¶
pitch_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> f16 {…}
pitch_from_quaternion_f32 ¶
pitch_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> f32 {…}
pitch_from_quaternion_f64 ¶
pitch_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> f64 {…}
pitch_yaw_roll_from_quaternion_f16 ¶
pitch_yaw_roll_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> (pitch, yaw, roll: f16) {…}
pitch_yaw_roll_from_quaternion_f32 ¶
pitch_yaw_roll_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> (pitch, yaw, roll: f32) {…}
pitch_yaw_roll_from_quaternion_f64 ¶
pitch_yaw_roll_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> (pitch, yaw, roll: f64) {…}
projection ¶
projection :: proc "contextless" (x, normal: $T/[0]$T) -> $T/[0]$T {…}
quaternion128_angle_between ¶
quaternion128_angle_between :: proc "contextless" (a, b: $T/quaternion128) -> f32 {…}
quaternion128_dot ¶
quaternion128_dot :: proc "contextless" (a, b: $T/quaternion128) -> (c: f32) {…}
quaternion128_mul_vector3 ¶
quaternion128_mul_vector3 :: proc "contextless" (q: $T/quaternion128, v: $V/[3]$F/f32) -> $V/[3]$F/f32 {…}
quaternion256_angle_between ¶
quaternion256_angle_between :: proc "contextless" (a, b: $T/quaternion256) -> f64 {…}
quaternion256_dot ¶
quaternion256_dot :: proc "contextless" (a, b: $T/quaternion256) -> (c: f64) {…}
quaternion256_mul_vector3 ¶
quaternion256_mul_vector3 :: proc "contextless" (q: $T/quaternion256, v: $V/[3]$F/f64) -> $V/[3]$F/f64 {…}
quaternion64_angle_between ¶
quaternion64_angle_between :: proc "contextless" (a, b: $T/quaternion64) -> f16 {…}
quaternion64_dot ¶
quaternion64_dot :: proc "contextless" (a, b: $T/quaternion64) -> (c: f16) {…}
quaternion64_mul_vector3 ¶
quaternion64_mul_vector3 :: proc "contextless" (q: $T/quaternion64, v: $V/[3]$F/f16) -> $V/[3]$F/f16 {…}
quaternion_angle_axis_f16 ¶
quaternion_angle_axis_f16 :: proc "contextless" (angle_radians: f16, axis: [3]f16) -> (q: quaternion64) {…}
quaternion_angle_axis_f32 ¶
quaternion_angle_axis_f32 :: proc "contextless" (angle_radians: f32, axis: [3]f32) -> (q: quaternion128) {…}
quaternion_angle_axis_f64 ¶
quaternion_angle_axis_f64 :: proc "contextless" (angle_radians: f64, axis: [3]f64) -> (q: quaternion256) {…}
quaternion_between_two_vector3_f16 ¶
quaternion_between_two_vector3_f16 :: proc "contextless" (from, to: [3]f16) -> (q: quaternion64) {…}
quaternion_between_two_vector3_f32 ¶
quaternion_between_two_vector3_f32 :: proc "contextless" (from, to: [3]f32) -> (q: quaternion128) {…}
quaternion_between_two_vector3_f64 ¶
quaternion_between_two_vector3_f64 :: proc "contextless" (from, to: [3]f64) -> (q: quaternion256) {…}
quaternion_cross ¶
quaternion_cross :: proc "contextless" (q1, q2: $T) -> (q3: $T) {…}
quaternion_from_euler_angle_x_f16 ¶
quaternion_from_euler_angle_x_f16 :: proc "contextless" (angle_x: f16) -> (q: quaternion64) {…}
quaternion_from_euler_angle_x_f32 ¶
quaternion_from_euler_angle_x_f32 :: proc "contextless" (angle_x: f32) -> (q: quaternion128) {…}
quaternion_from_euler_angle_x_f64 ¶
quaternion_from_euler_angle_x_f64 :: proc "contextless" (angle_x: f64) -> (q: quaternion256) {…}
quaternion_from_euler_angle_y_f16 ¶
quaternion_from_euler_angle_y_f16 :: proc "contextless" (angle_y: f16) -> (q: quaternion64) {…}
quaternion_from_euler_angle_y_f32 ¶
quaternion_from_euler_angle_y_f32 :: proc "contextless" (angle_y: f32) -> (q: quaternion128) {…}
quaternion_from_euler_angle_y_f64 ¶
quaternion_from_euler_angle_y_f64 :: proc "contextless" (angle_y: f64) -> (q: quaternion256) {…}
quaternion_from_euler_angle_z_f16 ¶
quaternion_from_euler_angle_z_f16 :: proc "contextless" (angle_z: f16) -> (q: quaternion64) {…}
quaternion_from_euler_angle_z_f32 ¶
quaternion_from_euler_angle_z_f32 :: proc "contextless" (angle_z: f32) -> (q: quaternion128) {…}
quaternion_from_euler_angle_z_f64 ¶
quaternion_from_euler_angle_z_f64 :: proc "contextless" (angle_z: f64) -> (q: quaternion256) {…}
quaternion_from_euler_angles_f16 ¶
quaternion_from_euler_angles_f16 :: proc "contextless" (t1, t2, t3: f16, order: Euler_Angle_Order) -> quaternion64 {…}
quaternion_from_euler_angles_f32 ¶
quaternion_from_euler_angles_f32 :: proc "contextless" (t1, t2, t3: f32, order: Euler_Angle_Order) -> quaternion128 {…}
quaternion_from_euler_angles_f64 ¶
quaternion_from_euler_angles_f64 :: proc "contextless" (t1, t2, t3: f64, order: Euler_Angle_Order) -> quaternion256 {…}
quaternion_from_forward_and_up_f16 ¶
quaternion_from_forward_and_up_f16 :: proc "contextless" (forward, up: [3]f16) -> quaternion64 {…}
quaternion_from_forward_and_up_f32 ¶
quaternion_from_forward_and_up_f32 :: proc "contextless" (forward, up: [3]f32) -> quaternion128 {…}
quaternion_from_forward_and_up_f64 ¶
quaternion_from_forward_and_up_f64 :: proc "contextless" (forward, up: [3]f64) -> quaternion256 {…}
quaternion_from_matrix3_f16 ¶
quaternion_from_matrix3_f16 :: proc "contextless" (m: matrix[3, 3]f16) -> (q: quaternion64) {…}
quaternion_from_matrix3_f32 ¶
quaternion_from_matrix3_f32 :: proc "contextless" (m: matrix[3, 3]f32) -> (q: quaternion128) {…}
quaternion_from_matrix3_f64 ¶
quaternion_from_matrix3_f64 :: proc "contextless" (m: matrix[3, 3]f64) -> (q: quaternion256) {…}
quaternion_from_matrix4_f16 ¶
quaternion_from_matrix4_f16 :: proc "contextless" (m: matrix[4, 4]f16) -> (q: quaternion64) {…}
quaternion_from_matrix4_f32 ¶
quaternion_from_matrix4_f32 :: proc "contextless" (m: matrix[4, 4]f32) -> (q: quaternion128) {…}
quaternion_from_matrix4_f64 ¶
quaternion_from_matrix4_f64 :: proc "contextless" (m: matrix[4, 4]f64) -> (q: quaternion256) {…}
quaternion_from_pitch_yaw_roll_f16 ¶
quaternion_from_pitch_yaw_roll_f16 :: proc "contextless" (pitch, yaw, roll: f16) -> quaternion64 {…}
quaternion_from_pitch_yaw_roll_f32 ¶
quaternion_from_pitch_yaw_roll_f32 :: proc "contextless" (pitch, yaw, roll: f32) -> quaternion128 {…}
quaternion_from_pitch_yaw_roll_f64 ¶
quaternion_from_pitch_yaw_roll_f64 :: proc "contextless" (pitch, yaw, roll: f64) -> quaternion256 {…}
quaternion_from_scalar_f16 ¶
quaternion_from_scalar_f16 :: proc "contextless" (f: f16) -> (q: quaternion64) {…}
quaternion_from_scalar_f32 ¶
quaternion_from_scalar_f32 :: proc "contextless" (f: f32) -> (q: quaternion128) {…}
quaternion_from_scalar_f64 ¶
quaternion_from_scalar_f64 :: proc "contextless" (f: f64) -> (q: quaternion256) {…}
quaternion_inverse ¶
quaternion_inverse :: proc "contextless" (q: $T) -> $T {…}
quaternion_length ¶
quaternion_length :: proc "contextless" (q: $T) -> $T {…}
quaternion_length2 ¶
quaternion_length2 :: proc "contextless" (q: $T) -> $T {…}
quaternion_look_at_f16 ¶
quaternion_look_at_f16 :: proc "contextless" (eye, centre: [3]f16, up: [3]f16) -> quaternion64 {…}
quaternion_look_at_f32 ¶
quaternion_look_at_f32 :: proc "contextless" (eye, centre: [3]f32, up: [3]f32) -> quaternion128 {…}
quaternion_look_at_f64 ¶
quaternion_look_at_f64 :: proc "contextless" (eye, centre: [3]f64, up: [3]f64) -> quaternion256 {…}
quaternion_mul_quaternion ¶
quaternion_mul_quaternion :: proc "contextless" (q1, q2: $T) -> $T {…}
quaternion_nlerp_f16 ¶
quaternion_nlerp_f16 :: proc "contextless" (a, b: quaternion64, t: f16) -> (c: quaternion64) {…}
quaternion_nlerp_f32 ¶
quaternion_nlerp_f32 :: proc "contextless" (a, b: quaternion128, t: f32) -> (c: quaternion128) {…}
quaternion_nlerp_f64 ¶
quaternion_nlerp_f64 :: proc "contextless" (a, b: quaternion256, t: f64) -> (c: quaternion256) {…}
quaternion_normalize ¶
quaternion_normalize :: proc "contextless" (q: $T) -> $T {…}
quaternion_normalize0 ¶
quaternion_normalize0 :: proc "contextless" (q: $T) -> $T {…}
quaternion_slerp_f16 ¶
quaternion_slerp_f16 :: proc "contextless" (x, y: quaternion64, t: f16) -> (q: quaternion64) {…}
quaternion_slerp_f32 ¶
quaternion_slerp_f32 :: proc "contextless" (x, y: quaternion128, t: f32) -> (q: quaternion128) {…}
quaternion_slerp_f64 ¶
quaternion_slerp_f64 :: proc "contextless" (x, y: quaternion256, t: f64) -> (q: quaternion256) {…}
quaternion_squad_f16 ¶
quaternion_squad_f16 :: proc "contextless" (q1, q2, s1, s2: quaternion64, h: f16) -> quaternion64 {…}
quaternion_squad_f32 ¶
quaternion_squad_f32 :: proc "contextless" (q1, q2, s1, s2: quaternion128, h: f32) -> quaternion128 {…}
quaternion_squad_f64 ¶
quaternion_squad_f64 :: proc "contextless" (q1, q2, s1, s2: quaternion256, h: f64) -> quaternion256 {…}
roll_from_quaternion_f16 ¶
roll_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> f16 {…}
roll_from_quaternion_f32 ¶
roll_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> f32 {…}
roll_from_quaternion_f64 ¶
roll_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> f64 {…}
saturate ¶
saturate :: proc "contextless" (x: $T) -> $T {…}
scalar_cross ¶
scalar_cross :: proc "contextless" (a, b: $T) -> $T {…}
scalar_dot ¶
scalar_dot :: proc "contextless" (a, b: $T) -> $T {…}
scalar_f32_swizzle1 ¶
scalar_f32_swizzle1 :: proc "contextless" (f: f32, c0: Scalar_Components) -> f32 {…}
scalar_f32_swizzle2 ¶
scalar_f32_swizzle2 :: proc "contextless" (f: f32, c0, c1: Scalar_Components) -> [2]f32 {…}
scalar_f32_swizzle3 ¶
scalar_f32_swizzle3 :: proc "contextless" (f: f32, c0, c1, c2: Scalar_Components) -> [3]f32 {…}
scalar_f32_swizzle4 ¶
scalar_f32_swizzle4 :: proc "contextless" (f: f32, c0, c1, c2, c3: Scalar_Components) -> [4]f32 {…}
scalar_f64_swizzle1 ¶
scalar_f64_swizzle1 :: proc "contextless" (f: f64, c0: Scalar_Components) -> f64 {…}
scalar_f64_swizzle2 ¶
scalar_f64_swizzle2 :: proc "contextless" (f: f64, c0, c1: Scalar_Components) -> [2]f64 {…}
scalar_f64_swizzle3 ¶
scalar_f64_swizzle3 :: proc "contextless" (f: f64, c0, c1, c2: Scalar_Components) -> [3]f64 {…}
scalar_f64_swizzle4 ¶
scalar_f64_swizzle4 :: proc "contextless" (f: f64, c0, c1, c2, c3: Scalar_Components) -> [4]f64 {…}
scalar_triple_product ¶
scalar_triple_product :: proc "contextless" (a, b, c: $T/[0]$T) -> $T {…}
smootherstep ¶
smootherstep :: proc "contextless" (e0, e1, x: $T) -> $T {…}
smoothstep ¶
smoothstep :: proc "contextless" (e0, e1, x: $T) -> $T {…}
to_complex128 ¶
to_complex128 :: proc(v: $T/[0]$T) -> [0]complex128 {…}
to_complex32 ¶
to_complex32 :: proc(v: $T/[0]$T) -> [0]complex32 {…}
to_complex64 ¶
to_complex64 :: proc(v: $T/[0]$T) -> [0]complex64 {…}
to_degrees ¶
to_degrees :: proc "contextless" (radians: $T) -> (out: $T) {…}
to_quaternion128 ¶
to_quaternion128 :: proc(v: $T/[0]$T) -> [0]quaternion128 {…}
to_quaternion256 ¶
to_quaternion256 :: proc(v: $T/[0]$T) -> [0]quaternion256 {…}
to_quaternion64 ¶
to_quaternion64 :: proc(v: $T/[0]$T) -> [0]quaternion64 {…}
to_radians ¶
to_radians :: proc "contextless" (degrees: $T) -> (out: $T) {…}
transpose ¶
transpose :: intrinsics.transpose
vector2_orthogonal ¶
vector2_orthogonal :: proc "contextless" (v: $V/[2]$T) -> $V/[2]$T {…}
vector2f32_swizzle1 ¶
vector2f32_swizzle1 :: proc "contextless" (v: [2]f32, c0: Vector2_Components) -> f32 {…}
vector2f32_swizzle2 ¶
vector2f32_swizzle2 :: proc "contextless" (v: [2]f32, c0, c1: Vector2_Components) -> [2]f32 {…}
vector2f32_swizzle3 ¶
vector2f32_swizzle3 :: proc "contextless" (v: [2]f32, c0, c1, c2: Vector2_Components) -> [3]f32 {…}
vector2f32_swizzle4 ¶
vector2f32_swizzle4 :: proc "contextless" (v: [2]f32, c0, c1, c2, c3: Vector2_Components) -> [4]f32 {…}
vector2f64_swizzle1 ¶
vector2f64_swizzle1 :: proc "contextless" (v: [2]f64, c0: Vector2_Components) -> f64 {…}
vector2f64_swizzle2 ¶
vector2f64_swizzle2 :: proc "contextless" (v: [2]f64, c0, c1: Vector2_Components) -> [2]f64 {…}
vector2f64_swizzle3 ¶
vector2f64_swizzle3 :: proc "contextless" (v: [2]f64, c0, c1, c2: Vector2_Components) -> [3]f64 {…}
vector2f64_swizzle4 ¶
vector2f64_swizzle4 :: proc "contextless" (v: [2]f64, c0, c1, c2, c3: Vector2_Components) -> [4]f64 {…}
vector3_orthogonal ¶
vector3_orthogonal :: proc "contextless" (v: $V/[3]$T) -> $V/[3]$T {…}
vector3f32_swizzle1 ¶
vector3f32_swizzle1 :: proc "contextless" (v: [3]f32, c0: Vector3_Components) -> f32 {…}
vector3f32_swizzle2 ¶
vector3f32_swizzle2 :: proc "contextless" (v: [3]f32, c0, c1: Vector3_Components) -> [2]f32 {…}
vector3f32_swizzle3 ¶
vector3f32_swizzle3 :: proc "contextless" (v: [3]f32, c0, c1, c2: Vector3_Components) -> [3]f32 {…}
vector3f32_swizzle4 ¶
vector3f32_swizzle4 :: proc "contextless" (v: [3]f32, c0, c1, c2, c3: Vector3_Components) -> [4]f32 {…}
vector3f64_swizzle1 ¶
vector3f64_swizzle1 :: proc "contextless" (v: [3]f64, c0: Vector3_Components) -> f64 {…}
vector3f64_swizzle2 ¶
vector3f64_swizzle2 :: proc "contextless" (v: [3]f64, c0, c1: Vector3_Components) -> [2]f64 {…}
vector3f64_swizzle3 ¶
vector3f64_swizzle3 :: proc "contextless" (v: [3]f64, c0, c1, c2: Vector3_Components) -> [3]f64 {…}
vector3f64_swizzle4 ¶
vector3f64_swizzle4 :: proc "contextless" (v: [3]f64, c0, c1, c2, c3: Vector3_Components) -> [4]f64 {…}
vector4f32_swizzle1 ¶
vector4f32_swizzle1 :: proc "contextless" (v: [4]f32, c0: Vector4_Components) -> f32 {…}
vector4f32_swizzle2 ¶
vector4f32_swizzle2 :: proc "contextless" (v: [4]f32, c0, c1: Vector4_Components) -> [2]f32 {…}
vector4f32_swizzle3 ¶
vector4f32_swizzle3 :: proc "contextless" (v: [4]f32, c0, c1, c2: Vector4_Components) -> [3]f32 {…}
vector4f32_swizzle4 ¶
vector4f32_swizzle4 :: proc "contextless" (v: [4]f32, c0, c1, c2, c3: Vector4_Components) -> [4]f32 {…}
vector4f64_swizzle1 ¶
vector4f64_swizzle1 :: proc "contextless" (v: [4]f64, c0: Vector4_Components) -> f64 {…}
vector4f64_swizzle2 ¶
vector4f64_swizzle2 :: proc "contextless" (v: [4]f64, c0, c1: Vector4_Components) -> [2]f64 {…}
vector4f64_swizzle3 ¶
vector4f64_swizzle3 :: proc "contextless" (v: [4]f64, c0, c1, c2: Vector4_Components) -> [3]f64 {…}
vector4f64_swizzle4 ¶
vector4f64_swizzle4 :: proc "contextless" (v: [4]f64, c0, c1, c2, c3: Vector4_Components) -> [4]f64 {…}
vector_angle_between ¶
vector_angle_between :: proc "contextless" (a, b: $T/[0]$T) -> $T {…}
vector_cross2 ¶
vector_cross2 :: proc "contextless" (a, b: $V/[2]$T) -> $T {…}
vector_cross3 ¶
vector_cross3 :: proc "contextless" (a, b: $V/[3]$T) -> (c: $V/[3]$T) {…}
vector_dot ¶
vector_dot :: proc "contextless" (a, b: $T/[0]$T) -> (c: $T) {…}
vector_length ¶
vector_length :: proc "contextless" (v: $T/[0]$T) -> $T {…}
vector_length2 ¶
vector_length2 :: proc "contextless" (v: $T/[0]$T) -> $T {…}
vector_normalize ¶
vector_normalize :: proc "contextless" (v: $T/[0]$T) -> $T/[0]$T {…}
vector_normalize0 ¶
vector_normalize0 :: proc "contextless" (v: $T/[0]$T) -> $T/[0]$T {…}
vector_slerp ¶
vector_slerp :: proc "contextless" (x, y: $T/[0]$T, a: $T) -> $T/[0]$T {…}
vector_to_ptr ¶
vector_to_ptr :: proc "contextless" (v: ^$T/[0]$T) -> ^$T {…}
vector_triple_product ¶
vector_triple_product :: proc "contextless" (a, b, c: $T/[0]$T) -> $T/[0]$T {…}
yaw_from_quaternion_f16 ¶
yaw_from_quaternion_f16 :: proc "contextless" (q: quaternion64) -> f16 {…}
yaw_from_quaternion_f32 ¶
yaw_from_quaternion_f32 :: proc "contextless" (q: quaternion128) -> f32 {…}
yaw_from_quaternion_f64 ¶
yaw_from_quaternion_f64 :: proc "contextless" (q: quaternion256) -> f64 {…}
Procedure Groups
adjugate ¶
adjugate :: proc{ matrix1x1_adjugate, matrix2x2_adjugate, matrix3x3_adjugate, matrix4x4_adjugate, }
angle_axis_from_quaternion ¶
angle_axis_from_quaternion :: proc{ angle_axis_from_quaternion_f16, angle_axis_from_quaternion_f32, angle_axis_from_quaternion_f64, }
angle_between ¶
angle_between :: proc{ vector_angle_between, quaternion64_angle_between, quaternion128_angle_between, quaternion256_angle_between, }
angle_from_quaternion ¶
angle_from_quaternion :: proc{ angle_from_quaternion_f16, angle_from_quaternion_f32, angle_from_quaternion_f64, }
axis_from_quaternion ¶
axis_from_quaternion :: proc{ axis_from_quaternion_f16, axis_from_quaternion_f32, axis_from_quaternion_f64, }
classify ¶
classify :: proc{ classify_single, classify_array, }
cross ¶
cross :: proc{ scalar_cross, vector_cross2, vector_cross3, quaternion_cross, }
determinant ¶
determinant :: proc{ matrix1x1_determinant, matrix2x2_determinant, matrix3x3_determinant, matrix4x4_determinant, }
dot ¶
dot :: proc{ scalar_dot, vector_dot, quaternion64_dot, quaternion128_dot, quaternion256_dot, }
equal ¶
equal :: proc{ equal_single, equal_array, }
euclidean_from_polar ¶
euclidean_from_polar :: proc{ euclidean_from_polar_f16, euclidean_from_polar_f32, euclidean_from_polar_f64, }
euler_angles_from_matrix3 ¶
euler_angles_from_matrix3 :: proc{ euler_angles_from_matrix3_f16, euler_angles_from_matrix3_f32, euler_angles_from_matrix3_f64, }
euler_angles_from_matrix4 ¶
euler_angles_from_matrix4 :: proc{ euler_angles_from_matrix4_f16, euler_angles_from_matrix4_f32, euler_angles_from_matrix4_f64, }
euler_angles_from_quaternion ¶
euler_angles_from_quaternion :: proc{ euler_angles_from_quaternion_f16, euler_angles_from_quaternion_f32, euler_angles_from_quaternion_f64, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
euler_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, }
greater_than ¶
greater_than :: proc{ greater_than_single, greater_than_array, }
greater_than_equal ¶
greater_than_equal :: proc{ greater_than_equal_single, greater_than_equal_array, }
identity ¶
identity :: proc{ identity_array_based_matrix, identity_matrix, }
inner_product ¶
inner_product :: proc{ scalar_dot, vector_dot, quaternion64_dot, quaternion128_dot, quaternion256_dot, }
inverse ¶
inverse :: proc{ matrix1x1_inverse, matrix2x2_inverse, matrix3x3_inverse, matrix4x4_inverse, }
inverse_transpose ¶
inverse_transpose :: proc{ matrix1x1_inverse_transpose, matrix2x2_inverse_transpose, matrix3x3_inverse_transpose, matrix4x4_inverse_transpose, }
is_inf ¶
is_inf :: proc{ is_inf_single, is_inf_array, }
is_nan ¶
is_nan :: proc{ is_nan_single, is_nan_array, }
length ¶
length :: proc{ vector_length, quaternion_length, }
length2 ¶
length2 :: proc{ vector_length2, quaternion_length2, }
less_than ¶
less_than :: proc{ less_than_single, less_than_array, }
less_than_equal ¶
less_than_equal :: proc{ less_than_equal_single, less_than_equal_array, }
matrix2_adjoint ¶
matrix2_adjoint :: proc{ matrix2_adjoint_f16, matrix2_adjoint_f32, matrix2_adjoint_f64, }
matrix2_determinant ¶
matrix2_determinant :: proc{ matrix2_determinant_f16, matrix2_determinant_f32, matrix2_determinant_f64, }
matrix2_from_matrix3 ¶
matrix2_from_matrix3 :: proc{ matrix2_from_matrix3_f16, matrix2_from_matrix3_f32, matrix2_from_matrix3_f64, }
matrix2_from_matrix4 ¶
matrix2_from_matrix4 :: proc{ matrix2_from_matrix4_f16, matrix2_from_matrix4_f32, matrix2_from_matrix4_f64, }
matrix2_from_scalar ¶
matrix2_from_scalar :: proc{ matrix2_from_scalar_f16, matrix2_from_scalar_f32, matrix2_from_scalar_f64, }
matrix2_inverse ¶
matrix2_inverse :: proc{ matrix2_inverse_f16, matrix2_inverse_f32, matrix2_inverse_f64, }
matrix2_inverse_transpose ¶
matrix2_inverse_transpose :: proc{ matrix2_inverse_transpose_f16, matrix2_inverse_transpose_f32, matrix2_inverse_transpose_f64, }
matrix2_orthonormalize ¶
matrix2_orthonormalize :: proc{ matrix2_orthonormalize_f16, matrix2_orthonormalize_f32, matrix2_orthonormalize_f64, }
matrix2_rotate ¶
matrix2_rotate :: proc{ matrix2_rotate_f16, matrix2_rotate_f32, matrix2_rotate_f64, }
matrix3_adjoint ¶
matrix3_adjoint :: proc{ matrix3_adjoint_f16, matrix3_adjoint_f32, matrix3_adjoint_f64, }
matrix3_determinant ¶
matrix3_determinant :: proc{ matrix3_determinant_f16, matrix3_determinant_f32, matrix3_determinant_f64, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_from_euler_angles ¶
matrix3_from_euler_angles :: proc{ matrix3_from_euler_angles_f16, matrix3_from_euler_angles_f32, matrix3_from_euler_angles_f64, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_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, }
matrix3_from_matrix2 ¶
matrix3_from_matrix2 :: proc{ matrix3_from_matrix2_f16, matrix3_from_matrix2_f32, matrix3_from_matrix2_f64, }
matrix3_from_matrix4 ¶
matrix3_from_matrix4 :: proc{ matrix3_from_matrix4_f16, matrix3_from_matrix4_f32, matrix3_from_matrix4_f64, }
matrix3_from_quaternion ¶
matrix3_from_quaternion :: proc{ matrix3_from_quaternion_f16, matrix3_from_quaternion_f32, matrix3_from_quaternion_f64, }
matrix3_from_scalar ¶
matrix3_from_scalar :: proc{ matrix3_from_scalar_f16, matrix3_from_scalar_f32, matrix3_from_scalar_f64, }
matrix3_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, }
matrix3_inverse ¶
matrix3_inverse :: proc{ matrix3_inverse_f16, matrix3_inverse_f32, matrix3_inverse_f64, }
matrix3_inverse_transpose ¶
matrix3_inverse_transpose :: proc{ matrix3_inverse_transpose_f16, matrix3_inverse_transpose_f32, matrix3_inverse_transpose_f64, }
matrix3_look_at ¶
matrix3_look_at :: proc{ matrix3_look_at_f16, matrix3_look_at_f32, matrix3_look_at_f64, }
matrix3_orthonormalize ¶
matrix3_orthonormalize :: proc{ matrix3_orthonormalize_f16, matrix3_orthonormalize_f32, matrix3_orthonormalize_f64, }
matrix3_rotate ¶
matrix3_rotate :: proc{ matrix3_rotate_f16, matrix3_rotate_f32, matrix3_rotate_f64, }
matrix3_scale ¶
matrix3_scale :: proc{ matrix3_scale_f16, matrix3_scale_f32, matrix3_scale_f64, }
matrix4_adjoint ¶
matrix4_adjoint :: proc{ matrix4_adjoint_f16, matrix4_adjoint_f32, matrix4_adjoint_f64, }
matrix4_cofactor ¶
matrix4_cofactor :: proc{ matrix4_cofactor_f16, matrix4_cofactor_f32, matrix4_cofactor_f64, }
matrix4_determinant ¶
matrix4_determinant :: proc{ matrix4_determinant_f16, matrix4_determinant_f32, matrix4_determinant_f64, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_from_euler_angles ¶
matrix4_from_euler_angles :: proc{ matrix4_from_euler_angles_f16, matrix4_from_euler_angles_f32, matrix4_from_euler_angles_f64, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_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, }
matrix4_from_matrix2 ¶
matrix4_from_matrix2 :: proc{ matrix4_from_matrix2_f16, matrix4_from_matrix2_f32, matrix4_from_matrix2_f64, }
matrix4_from_matrix3 ¶
matrix4_from_matrix3 :: proc{ matrix4_from_matrix3_f16, matrix4_from_matrix3_f32, matrix4_from_matrix3_f64, }
matrix4_from_quaternion ¶
matrix4_from_quaternion :: proc{ matrix4_from_quaternion_f16, matrix4_from_quaternion_f32, matrix4_from_quaternion_f64, }
matrix4_from_scalar ¶
matrix4_from_scalar :: proc{ matrix4_from_scalar_f16, matrix4_from_scalar_f32, matrix4_from_scalar_f64, }
matrix4_from_trs ¶
matrix4_from_trs :: proc{ matrix4_from_trs_f16, matrix4_from_trs_f32, matrix4_from_trs_f64, }
matrix4_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, }
matrix4_infinite_perspective ¶
matrix4_infinite_perspective :: proc{ matrix4_infinite_perspective_f16, matrix4_infinite_perspective_f32, matrix4_infinite_perspective_f64, }
matrix4_inverse ¶
matrix4_inverse :: proc{ matrix4_inverse_f16, matrix4_inverse_f32, matrix4_inverse_f64, }
matrix4_inverse_transpose ¶
matrix4_inverse_transpose :: proc{ matrix4_inverse_transpose_f16, matrix4_inverse_transpose_f32, matrix4_inverse_transpose_f64, }
matrix4_look_at ¶
matrix4_look_at :: proc{ matrix4_look_at_f16, matrix4_look_at_f32, matrix4_look_at_f64, }
matrix4_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, }
matrix4_minor ¶
matrix4_minor :: proc{ matrix4_minor_f16, matrix4_minor_f32, matrix4_minor_f64, }
matrix4_orientation ¶
matrix4_orientation :: proc{ matrix4_orientation_f16, matrix4_orientation_f32, matrix4_orientation_f64, }
matrix4_perspective ¶
matrix4_perspective :: proc{ matrix4_perspective_f16, matrix4_perspective_f32, matrix4_perspective_f64, }
matrix4_rotate ¶
matrix4_rotate :: proc{ matrix4_rotate_f16, matrix4_rotate_f32, matrix4_rotate_f64, }
matrix4_scale ¶
matrix4_scale :: proc{ matrix4_scale_f16, matrix4_scale_f32, matrix4_scale_f64, }
matrix4_translate ¶
matrix4_translate :: proc{ matrix4_translate_f16, matrix4_translate_f32, matrix4_translate_f64, }
matrix_ortho3d ¶
matrix_ortho3d :: proc{ matrix_ortho3d_f16, matrix_ortho3d_f32, matrix_ortho3d_f64, }
max ¶
max :: proc{ max_single, max_double, max_triple, }
min ¶
min :: proc{ min_single, min_double, min_triple, }
normalize ¶
normalize :: proc{ vector_normalize, quaternion_normalize, }
normalize0 ¶
normalize0 :: proc{ vector_normalize0, quaternion_normalize0, }
not_equal ¶
not_equal :: proc{ not_equal_single, not_equal_array, }
orthogonal ¶
orthogonal :: proc{ vector2_orthogonal, vector3_orthogonal, }
pitch_from_quaternion ¶
pitch_from_quaternion :: proc{ pitch_from_quaternion_f16, pitch_from_quaternion_f32, pitch_from_quaternion_f64, }
pitch_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, }
polar_from_euclidean ¶
polar_from_euclidean :: proc{ polar_from_euclidean_f16, polar_from_euclidean_f32, polar_from_euclidean_f64, }
quaternion_angle_axis ¶
quaternion_angle_axis :: proc{ quaternion_angle_axis_f16, quaternion_angle_axis_f32, quaternion_angle_axis_f64, }
quaternion_between_two_vector3 ¶
quaternion_between_two_vector3 :: proc{ quaternion_between_two_vector3_f16, quaternion_between_two_vector3_f32, quaternion_between_two_vector3_f64, }
quaternion_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, }
quaternion_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, }
quaternion_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, }
quaternion_from_euler_angles ¶
quaternion_from_euler_angles :: proc{ quaternion_from_euler_angles_f16, quaternion_from_euler_angles_f32, quaternion_from_euler_angles_f64, }
quaternion_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, }
quaternion_from_matrix3 ¶
quaternion_from_matrix3 :: proc{ quaternion_from_matrix3_f16, quaternion_from_matrix3_f32, quaternion_from_matrix3_f64, }
quaternion_from_matrix4 ¶
quaternion_from_matrix4 :: proc{ quaternion_from_matrix4_f16, quaternion_from_matrix4_f32, quaternion_from_matrix4_f64, }
quaternion_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, }
quaternion_from_scalar ¶
quaternion_from_scalar :: proc{ quaternion_from_scalar_f16, quaternion_from_scalar_f32, quaternion_from_scalar_f64, }
quaternion_look_at ¶
quaternion_look_at :: proc{ quaternion_look_at_f16, quaternion_look_at_f32, quaternion_look_at_f64, }
quaternion_mul_vector3 ¶
quaternion_mul_vector3 :: proc{ quaternion64_mul_vector3, quaternion128_mul_vector3, quaternion256_mul_vector3, }
quaternion_nlerp ¶
quaternion_nlerp :: proc{ quaternion_nlerp_f16, quaternion_nlerp_f32, quaternion_nlerp_f64, }
quaternion_slerp ¶
quaternion_slerp :: proc{ quaternion_slerp_f16, quaternion_slerp_f32, quaternion_slerp_f64, }
quaternion_squad ¶
quaternion_squad :: proc{ quaternion_squad_f16, quaternion_squad_f32, quaternion_squad_f64, }
roll_from_quaternion ¶
roll_from_quaternion :: proc{ roll_from_quaternion_f16, roll_from_quaternion_f32, roll_from_quaternion_f64, }
scalar_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, }
swizzle ¶
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, }
to_matrix2f16 ¶
to_matrix2f16 :: proc{ matrix2_from_scalar_f16, matrix2_from_matrix3_f16, matrix2_from_matrix4_f16, }
to_matrix2f32 ¶
to_matrix2f32 :: proc{ matrix2_from_scalar_f32, matrix2_from_matrix3_f32, matrix2_from_matrix4_f32, }
to_matrix2f64 ¶
to_matrix2f64 :: proc{ matrix2_from_scalar_f64, matrix2_from_matrix3_f64, matrix2_from_matrix4_f64, }
to_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, }
to_matrix3f16 ¶
to_matrix3f16 :: proc{ matrix3_from_scalar_f16, matrix3_from_matrix2_f16, matrix3_from_matrix4_f16, matrix3_from_quaternion_f16, }
to_matrix3f32 ¶
to_matrix3f32 :: proc{ matrix3_from_scalar_f32, matrix3_from_matrix2_f32, matrix3_from_matrix4_f32, matrix3_from_quaternion_f32, }
to_matrix3f64 ¶
to_matrix3f64 :: proc{ matrix3_from_scalar_f64, matrix3_from_matrix2_f64, matrix3_from_matrix4_f64, matrix3_from_quaternion_f64, }
to_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, }
to_matrix4f16 ¶
to_matrix4f16 :: proc{ matrix4_from_scalar_f16, matrix4_from_matrix2_f16, matrix4_from_matrix3_f16, matrix4_from_quaternion_f16, }
to_matrix4f32 ¶
to_matrix4f32 :: proc{ matrix4_from_scalar_f32, matrix4_from_matrix2_f32, matrix4_from_matrix3_f32, matrix4_from_quaternion_f32, }
to_matrix4f64 ¶
to_matrix4f64 :: proc{ matrix4_from_scalar_f64, matrix4_from_matrix2_f64, matrix4_from_matrix3_f64, matrix4_from_quaternion_f64, }
to_ptr ¶
to_ptr :: proc{ vector_to_ptr, matrix_to_ptr, }
to_quaternionf16 ¶
to_quaternionf16 :: proc{ quaternion_from_scalar_f16, quaternion_from_matrix3_f16, quaternion_from_matrix4_f16, }
to_quaternionf32 ¶
to_quaternionf32 :: proc{ quaternion_from_scalar_f32, quaternion_from_matrix3_f32, quaternion_from_matrix4_f32, }
to_quaternionf64 ¶
to_quaternionf64 :: proc{ quaternion_from_scalar_f64, quaternion_from_matrix3_f64, quaternion_from_matrix4_f64, }
vector2_swizzle ¶
vector2_swizzle :: proc{ vector2f32_swizzle1, vector2f32_swizzle2, vector2f32_swizzle3, vector2f32_swizzle4, vector2f64_swizzle1, vector2f64_swizzle2, vector2f64_swizzle3, vector2f64_swizzle4, }
vector3_orthonormalize ¶
vector3_orthonormalize :: proc{ vector3_orthonormalize_f16, vector3_orthonormalize_f32, vector3_orthonormalize_f64, }
vector3_swizzle ¶
vector3_swizzle :: proc{ vector3f32_swizzle1, vector3f32_swizzle2, vector3f32_swizzle3, vector3f32_swizzle4, vector3f64_swizzle1, vector3f64_swizzle2, vector3f64_swizzle3, vector3f64_swizzle4, }
vector4_hsl_to_rgb ¶
vector4_hsl_to_rgb :: proc{ vector4_hsl_to_rgb_f16, vector4_hsl_to_rgb_f32, vector4_hsl_to_rgb_f64, }
vector4_linear_to_srgb ¶
vector4_linear_to_srgb :: proc{ vector4_linear_to_srgb_f16, vector4_linear_to_srgb_f32, vector4_linear_to_srgb_f64, }
vector4_rgb_to_hsl ¶
vector4_rgb_to_hsl :: proc{ vector4_rgb_to_hsl_f16, vector4_rgb_to_hsl_f32, vector4_rgb_to_hsl_f64, }
vector4_srgb_to_linear ¶
vector4_srgb_to_linear :: proc{ vector4_srgb_to_linear_f16, vector4_srgb_to_linear_f32, vector4_srgb_to_linear_f64, }
vector4_swizzle ¶
vector4_swizzle :: proc{ vector4f32_swizzle1, vector4f32_swizzle2, vector4f32_swizzle3, vector4f32_swizzle4, vector4f64_swizzle1, vector4f64_swizzle2, vector4f64_swizzle3, vector4f64_swizzle4, }
vector_cross ¶
vector_cross :: proc{ scalar_cross, vector_cross2, vector_cross3, }
yaw_from_quaternion ¶
yaw_from_quaternion :: proc{ yaw_from_quaternion_f16, yaw_from_quaternion_f32, yaw_from_quaternion_f64, }
Source Files
- doc.odin
- extended.odin
- general.odin
- specific.odin
- specific_euler_angles.odin
- specific_euler_angles_f16.odin
- specific_euler_angles_f32.odin
- specific_euler_angles_f64.odin
- swizzle.odin
Generation Information
Generated with odin version dev-2024-11 (vendor "odin") Windows_amd64 @ 2024-11-20 21:11:50.681510300 +0000 UTC