package core:math/linalg/hlsl
⌘K
Ctrl+K
or
/
Overview
core:math/linalg/hlsl implements a HLSL-like mathematics library plus numerous other utility procedures
Index
Types (67)
- bool2
- bool3
- bool4
- double
- double1x1
- double1x2
- double1x3
- double1x4
- double2
- double2x1
- double2x2
- double2x3
- double2x4
- double3
- double3x1
- double3x2
- double3x3
- double3x4
- double4
- double4x1
- double4x2
- double4x3
- double4x4
- float
- float1x1
- float1x2
- float1x3
- float1x4
- float2
- float2x1
- float2x2
- float2x3
- float2x4
- float3
- float3x1
- float3x2
- float3x3
- float3x4
- float4
- float4x1
- float4x2
- float4x3
- float4x4
- int
- int1x1
- int1x2
- int1x3
- int1x4
- int2
- int2x1
- int2x2
- int2x3
- int2x4
- int3
- int3x1
- int3x2
- int3x3
- int3x4
- int4
- int4x1
- int4x2
- int4x3
- int4x4
- uint
- uint2
- uint3
- uint4
Constants (13)
Variables (0)
This section is empty.
Procedures (757)
- abs_double
- abs_double2
- abs_double3
- abs_double4
- abs_float
- abs_float2
- abs_float3
- abs_float4
- abs_int
- abs_int2
- abs_int3
- abs_int4
- abs_uint
- abs_uint2
- abs_uint3
- abs_uint4
- acos_double
- acos_double2
- acos_double3
- acos_double4
- acos_float
- acos_float2
- acos_float3
- acos_float4
- acosh_double
- acosh_double2
- acosh_double3
- acosh_double4
- acosh_float
- acosh_float2
- acosh_float3
- acosh_float4
- adjugate_matrix1x1
- adjugate_matrix2x2
- adjugate_matrix3x3
- adjugate_matrix4x4
- all_bool
- all_bool2
- all_bool3
- all_bool4
- any_bool
- any_bool2
- any_bool3
- any_bool4
- asdouble_bool2
- asdouble_bool3
- asdouble_bool4
- asdouble_double
- asdouble_double1x1
- asdouble_double1x2
- asdouble_double1x3
- asdouble_double1x4
- asdouble_double2
- asdouble_double2x1
- asdouble_double2x2
- asdouble_double2x3
- asdouble_double2x4
- asdouble_double3
- asdouble_double3x1
- asdouble_double3x2
- asdouble_double3x3
- asdouble_double3x4
- asdouble_double4
- asdouble_double4x1
- asdouble_double4x2
- asdouble_double4x3
- asdouble_double4x4
- asdouble_float
- asdouble_float1x1
- asdouble_float1x2
- asdouble_float1x3
- asdouble_float1x4
- asdouble_float2
- asdouble_float2x1
- asdouble_float2x2
- asdouble_float2x3
- asdouble_float2x4
- asdouble_float3
- asdouble_float3x1
- asdouble_float3x2
- asdouble_float3x3
- asdouble_float3x4
- asdouble_float4
- asdouble_float4x1
- asdouble_float4x2
- asdouble_float4x3
- asdouble_float4x4
- asdouble_int
- asdouble_int2
- asdouble_int3
- asdouble_int4
- asdouble_uint
- asdouble_uint2
- asdouble_uint3
- asdouble_uint4
- asfloat_bool2
- asfloat_bool3
- asfloat_bool4
- asfloat_double
- asfloat_double1x1
- asfloat_double1x2
- asfloat_double1x3
- asfloat_double1x4
- asfloat_double2
- asfloat_double2x1
- asfloat_double2x2
- asfloat_double2x3
- asfloat_double2x4
- asfloat_double3
- asfloat_double3x1
- asfloat_double3x2
- asfloat_double3x3
- asfloat_double3x4
- asfloat_double4
- asfloat_double4x1
- asfloat_double4x2
- asfloat_double4x3
- asfloat_double4x4
- asfloat_float
- asfloat_float1x1
- asfloat_float1x2
- asfloat_float1x3
- asfloat_float1x4
- asfloat_float2
- asfloat_float2x1
- asfloat_float2x2
- asfloat_float2x3
- asfloat_float2x4
- asfloat_float3
- asfloat_float3x1
- asfloat_float3x2
- asfloat_float3x3
- asfloat_float3x4
- asfloat_float4
- asfloat_float4x1
- asfloat_float4x2
- asfloat_float4x3
- asfloat_float4x4
- asfloat_int
- asfloat_int2
- asfloat_int3
- asfloat_int4
- asfloat_uint
- asfloat_uint2
- asfloat_uint3
- asfloat_uint4
- asin_double
- asin_double2
- asin_double3
- asin_double4
- asin_float
- asin_float2
- asin_float3
- asin_float4
- asinh_double
- asinh_double2
- asinh_double3
- asinh_double4
- asinh_float
- asinh_float2
- asinh_float3
- asinh_float4
- asint_bool2
- asint_bool3
- asint_bool4
- asint_double
- asint_double1x1
- asint_double1x2
- asint_double1x3
- asint_double1x4
- asint_double2
- asint_double2x1
- asint_double2x2
- asint_double2x3
- asint_double2x4
- asint_double3
- asint_double3x1
- asint_double3x2
- asint_double3x3
- asint_double3x4
- asint_double4
- asint_double4x1
- asint_double4x2
- asint_double4x3
- asint_double4x4
- asint_float
- asint_float1x1
- asint_float1x2
- asint_float1x3
- asint_float1x4
- asint_float2
- asint_float2x1
- asint_float2x2
- asint_float2x3
- asint_float2x4
- asint_float3
- asint_float3x1
- asint_float3x2
- asint_float3x3
- asint_float3x4
- asint_float4
- asint_float4x1
- asint_float4x2
- asint_float4x3
- asint_float4x4
- asint_int
- asint_int2
- asint_int3
- asint_int4
- asint_uint
- asint_uint2
- asint_uint3
- asint_uint4
- asuint_bool2
- asuint_bool3
- asuint_bool4
- asuint_double
- asuint_double2
- asuint_double3
- asuint_double4
- asuint_float
- asuint_float2
- asuint_float3
- asuint_float4
- asuint_int
- asuint_int2
- asuint_int3
- asuint_int4
- asuint_uint
- asuint_uint2
- asuint_uint3
- asuint_uint4
- atan2_double
- atan2_double2
- atan2_double3
- atan2_double4
- atan2_float
- atan2_float2
- atan2_float3
- atan2_float4
- atan_double
- atan_double2
- atan_double3
- atan_double4
- atan_float
- atan_float2
- atan_float3
- atan_float4
- atanh_double
- atanh_double2
- atanh_double3
- atanh_double4
- atanh_float
- atanh_float2
- atanh_float3
- atanh_float4
- ceil_double
- ceil_double2
- ceil_double3
- ceil_double4
- ceil_float
- ceil_float2
- ceil_float3
- ceil_float4
- clamp_double
- clamp_double2
- clamp_double3
- clamp_double4
- clamp_float
- clamp_float2
- clamp_float3
- clamp_float4
- clamp_int
- clamp_int2
- clamp_int3
- clamp_int4
- clamp_uint
- clamp_uint2
- clamp_uint3
- clamp_uint4
- cos_double
- cos_double2
- cos_double3
- cos_double4
- cos_float
- cos_float2
- cos_float3
- cos_float4
- cosh_double
- cosh_double2
- cosh_double3
- cosh_double4
- cosh_float
- cosh_float2
- cosh_float3
- cosh_float4
- cross_double3
- cross_float3
- cross_int3
- degrees_double
- degrees_double2
- degrees_double3
- degrees_double4
- degrees_float
- degrees_float2
- degrees_float3
- degrees_float4
- determinant_matrix1x1
- determinant_matrix2x2
- determinant_matrix3x3
- determinant_matrix4x4
- distance_double
- distance_double2
- distance_double3
- distance_double4
- distance_float
- distance_float2
- distance_float3
- distance_float4
- dot_double
- dot_double2
- dot_double3
- dot_double4
- dot_float
- dot_float2
- dot_float3
- dot_float4
- dot_int
- dot_int2
- dot_int3
- dot_int4
- dot_uint
- dot_uint2
- dot_uint3
- dot_uint4
- equal_double
- equal_double2
- equal_double3
- equal_double4
- equal_float
- equal_float2
- equal_float3
- equal_float4
- equal_int
- equal_int2
- equal_int3
- equal_int4
- equal_uint
- equal_uint2
- equal_uint3
- equal_uint4
- exp2_double
- exp2_double2
- exp2_double3
- exp2_double4
- exp2_float
- exp2_float2
- exp2_float3
- exp2_float4
- exp_double
- exp_double2
- exp_double3
- exp_double4
- exp_float
- exp_float2
- exp_float3
- exp_float4
- faceforward_double
- faceforward_double2
- faceforward_double3
- faceforward_double4
- faceforward_float
- faceforward_float2
- faceforward_float3
- faceforward_float4
- floor_double
- floor_double2
- floor_double3
- floor_double4
- floor_float
- floor_float2
- floor_float3
- floor_float4
- fmod_double
- fmod_double2
- fmod_double3
- fmod_double4
- fmod_float
- fmod_float2
- fmod_float3
- fmod_float4
- frac_double
- frac_double2
- frac_double3
- frac_double4
- frac_float
- frac_float2
- frac_float3
- frac_float4
- greaterThanEqual_double
- greaterThanEqual_double2
- greaterThanEqual_double3
- greaterThanEqual_double4
- greaterThanEqual_float
- greaterThanEqual_float2
- greaterThanEqual_float3
- greaterThanEqual_float4
- greaterThanEqual_int
- greaterThanEqual_int2
- greaterThanEqual_int3
- greaterThanEqual_int4
- greaterThanEqual_uint
- greaterThanEqual_uint2
- greaterThanEqual_uint3
- greaterThanEqual_uint4
- greaterThan_double
- greaterThan_double2
- greaterThan_double3
- greaterThan_double4
- greaterThan_float
- greaterThan_float2
- greaterThan_float3
- greaterThan_float4
- greaterThan_int
- greaterThan_int2
- greaterThan_int3
- greaterThan_int4
- greaterThan_uint
- greaterThan_uint2
- greaterThan_uint3
- greaterThan_uint4
- hermitian_adjoint
- inverse_double1x1
- inverse_double2x2
- inverse_double3x3
- inverse_double4x4
- inverse_float1x1
- inverse_float2x2
- inverse_float3x3
- inverse_float4x4
- inverse_matrix1x1
- inverse_matrix2x2
- inverse_matrix3x3
- inverse_matrix4x4
- inverse_transpose_matrix1x1
- inverse_transpose_matrix2x2
- inverse_transpose_matrix3x3
- inverse_transpose_matrix4x4
- isfinite_double
- isfinite_double2
- isfinite_double3
- isfinite_double4
- isfinite_float
- isfinite_float2
- isfinite_float3
- isfinite_float4
- isinf_double
- isinf_double2
- isinf_double3
- isinf_double4
- isinf_float
- isinf_float2
- isinf_float3
- isinf_float4
- isnan_double
- isnan_double2
- isnan_double3
- isnan_double4
- isnan_float
- isnan_float2
- isnan_float3
- isnan_float4
- length_double
- length_double2
- length_double3
- length_double4
- length_float
- length_float2
- length_float3
- length_float4
- lerp_double
- lerp_double2
- lerp_double3
- lerp_double4
- lerp_float
- lerp_float2
- lerp_float3
- lerp_float4
- lessThanEqual_double
- lessThanEqual_double2
- lessThanEqual_double3
- lessThanEqual_double4
- lessThanEqual_float
- lessThanEqual_float2
- lessThanEqual_float3
- lessThanEqual_float4
- lessThanEqual_int
- lessThanEqual_int2
- lessThanEqual_int3
- lessThanEqual_int4
- lessThanEqual_uint
- lessThanEqual_uint2
- lessThanEqual_uint3
- lessThanEqual_uint4
- lessThan_double
- lessThan_double2
- lessThan_double3
- lessThan_double4
- lessThan_float
- lessThan_float2
- lessThan_float3
- lessThan_float4
- lessThan_int
- lessThan_int2
- lessThan_int3
- lessThan_int4
- lessThan_uint
- lessThan_uint2
- lessThan_uint3
- lessThan_uint4
- log10_double
- log10_double2
- log10_double3
- log10_double4
- log10_float
- log10_float2
- log10_float3
- log10_float4
- log2_double
- log2_double2
- log2_double3
- log2_double4
- log2_float
- log2_float2
- log2_float3
- log2_float4
- log_double
- log_double2
- log_double3
- log_double4
- log_float
- log_float2
- log_float3
- log_float4
- matrix_minor
- max_double
- max_double2
- max_double3
- max_double4
- max_float
- max_float2
- max_float3
- max_float4
- max_int
- max_int2
- max_int3
- max_int4
- max_uint
- max_uint2
- max_uint3
- max_uint4
- min_double
- min_double2
- min_double3
- min_double4
- min_float
- min_float2
- min_float3
- min_float4
- min_int
- min_int2
- min_int3
- min_int4
- min_uint
- min_uint2
- min_uint3
- min_uint4
- normalize_double
- normalize_double2
- normalize_double3
- normalize_double4
- normalize_float
- normalize_float2
- normalize_float3
- normalize_float4
- notEqual_double
- notEqual_double2
- notEqual_double3
- notEqual_double4
- notEqual_float
- notEqual_float2
- notEqual_float3
- notEqual_float4
- notEqual_int
- notEqual_int2
- notEqual_int3
- notEqual_int4
- notEqual_uint
- notEqual_uint2
- notEqual_uint3
- notEqual_uint4
- not_bool
- not_bool2
- not_bool3
- not_bool4
- pow_double
- pow_double2
- pow_double3
- pow_double4
- pow_float
- pow_float2
- pow_float3
- pow_float4
- radians_double
- radians_double2
- radians_double3
- radians_double4
- radians_float
- radians_float2
- radians_float3
- radians_float4
- rcp_double
- rcp_double2
- rcp_double3
- rcp_double4
- rcp_float
- rcp_float2
- rcp_float3
- rcp_float4
- reflect_double
- reflect_double2
- reflect_double3
- reflect_double4
- reflect_float
- reflect_float2
- reflect_float3
- reflect_float4
- refract_double
- refract_double2
- refract_double3
- refract_double4
- refract_float
- refract_float2
- refract_float3
- refract_float4
- round_double
- round_double2
- round_double3
- round_double4
- round_float
- round_float2
- round_float3
- round_float4
- rsqrt_double
- rsqrt_double2
- rsqrt_double3
- rsqrt_double4
- rsqrt_float
- rsqrt_float2
- rsqrt_float3
- rsqrt_float4
- saturate_double
- saturate_double2
- saturate_double3
- saturate_double4
- saturate_float
- saturate_float2
- saturate_float3
- saturate_float4
- saturate_int
- saturate_int2
- saturate_int3
- saturate_int4
- saturate_uint
- saturate_uint2
- saturate_uint3
- saturate_uint4
- scalarTripleProduct_double3
- scalarTripleProduct_float3
- scalarTripleProduct_int3
- sign_double
- sign_double2
- sign_double3
- sign_double4
- sign_float
- sign_float2
- sign_float3
- sign_float4
- sign_int
- sign_int2
- sign_int3
- sign_int4
- sign_uint
- sign_uint2
- sign_uint3
- sign_uint4
- sin_double
- sin_double2
- sin_double3
- sin_double4
- sin_float
- sin_float2
- sin_float3
- sin_float4
- sinh_double
- sinh_double2
- sinh_double3
- sinh_double4
- sinh_float
- sinh_float2
- sinh_float3
- sinh_float4
- smoothstep_double
- smoothstep_double2
- smoothstep_double3
- smoothstep_double4
- smoothstep_float
- smoothstep_float2
- smoothstep_float3
- smoothstep_float4
- sqrt_double
- sqrt_double2
- sqrt_double3
- sqrt_double4
- sqrt_float
- sqrt_float2
- sqrt_float3
- sqrt_float4
- step_double
- step_double2
- step_double3
- step_double4
- step_float
- step_float2
- step_float3
- step_float4
- tan_double
- tan_double2
- tan_double3
- tan_double4
- tan_float
- tan_float2
- tan_float3
- tan_float4
- tanh_double
- tanh_double2
- tanh_double3
- tanh_double4
- tanh_float
- tanh_float2
- tanh_float3
- tanh_float4
- trace
- transpose
- vectorTripleProduct_double3
- vectorTripleProduct_float3
- vectorTripleProduct_int3
Procedure Groups (68)
- abs
- acos
- acosh
- adjugate
- all
- any
- asdouble
- asfloat
- asin
- asinh
- asint
- asuint
- atan
- atan2
- atanh
- ceil
- clamp
- cos
- cosh
- cross
- degrees
- determinant
- distance
- dot
- equal
- exp
- exp2
- faceforward
- floor
- fmod
- frac
- greaterThan
- greaterThanEqual
- inverse
- inverse_transpose
- isfinite
- isinf
- isnan
- length
- lerp
- lessThan
- lessThanEqual
- log
- log10
- log2
- max
- min
- normalize
- not
- notEqual
- pow
- radians
- rcp
- reflect
- refract
- round
- rsqrt
- saturate
- scalarTripleProduct
- sign
- sin
- sinh
- smoothstep
- sqrt
- step
- tan
- tanh
- vectorTripleProduct
Types
double1x1 ¶
double1x1 :: matrix[1, 1]f64
double1x2 ¶
double1x2 :: matrix[1, 2]f64
double1x3 ¶
double1x3 :: matrix[1, 3]f64
double1x4 ¶
double1x4 :: matrix[1, 4]f64
double2x1 ¶
double2x1 :: matrix[2, 1]f64
double2x2 ¶
double2x2 :: matrix[2, 2]f64
double2x3 ¶
double2x3 :: matrix[2, 3]f64
double2x4 ¶
double2x4 :: matrix[2, 4]f64
double3x1 ¶
double3x1 :: matrix[3, 1]f64
double3x2 ¶
double3x2 :: matrix[3, 2]f64
double3x3 ¶
double3x3 :: matrix[3, 3]f64
double3x4 ¶
double3x4 :: matrix[3, 4]f64
double4x1 ¶
double4x1 :: matrix[4, 1]f64
double4x2 ¶
double4x2 :: matrix[4, 2]f64
double4x3 ¶
double4x3 :: matrix[4, 3]f64
double4x4 ¶
double4x4 :: matrix[4, 4]f64
float1x1 ¶
float1x1 :: matrix[1, 1]f32
Odin matrices are stored internally as Column-Major, which matches the internal layout of HLSL by default
float1x2 ¶
float1x2 :: matrix[1, 2]f32
float1x3 ¶
float1x3 :: matrix[1, 3]f32
float1x4 ¶
float1x4 :: matrix[1, 4]f32
float2x1 ¶
float2x1 :: matrix[2, 1]f32
float2x2 ¶
float2x2 :: matrix[2, 2]f32
float2x3 ¶
float2x3 :: matrix[2, 3]f32
float2x4 ¶
float2x4 :: matrix[2, 4]f32
float3x1 ¶
float3x1 :: matrix[3, 1]f32
float3x2 ¶
float3x2 :: matrix[3, 2]f32
float3x3 ¶
float3x3 :: matrix[3, 3]f32
float3x4 ¶
float3x4 :: matrix[3, 4]f32
float4x1 ¶
float4x1 :: matrix[4, 1]f32
float4x2 ¶
float4x2 :: matrix[4, 2]f32
float4x3 ¶
float4x3 :: matrix[4, 3]f32
float4x4 ¶
float4x4 :: matrix[4, 4]f32
Constants
DOUBLE_EPSILON ¶
DOUBLE_EPSILON :: 1e-15
FLOAT_EPSILON ¶
FLOAT_EPSILON :: 1e-7
SQRT_FIVE ¶
SQRT_FIVE :: 2.23606797749978969640917366873127623
SQRT_THREE ¶
SQRT_THREE :: 1.73205080756887729352744634150587236
SQRT_TWO ¶
SQRT_TWO :: 1.41421356237309504880168872420969808
Variables
This section is empty.
Procedures
adjugate_matrix1x1 ¶
adjugate_matrix1x1 :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
adjugate_matrix2x2 ¶
adjugate_matrix2x2 :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
adjugate_matrix3x3 ¶
adjugate_matrix3x3 :: proc "contextless" (m: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
adjugate_matrix4x4 ¶
adjugate_matrix4x4 :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
determinant_matrix1x1 ¶
determinant_matrix1x1 :: proc "contextless" (m: $M/matrix[1, 1]$T) -> (det: $T) {…}
determinant_matrix2x2 ¶
determinant_matrix2x2 :: proc "contextless" (m: $M/matrix[2, 2]$T) -> (det: $T) {…}
determinant_matrix3x3 ¶
determinant_matrix3x3 :: proc "contextless" (m: $A/matrix[3, 3]$T) -> (det: $T) {…}
determinant_matrix4x4 ¶
determinant_matrix4x4 :: proc "contextless" (m: $M/matrix[4, 4]$T) -> (det: $T) {…}
hermitian_adjoint ¶
hermitian_adjoint :: proc "contextless" (m: $/matrix[0, 0]$T) -> $/matrix[0, 0]$T {…}
inverse_matrix1x1 ¶
inverse_matrix1x1 :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
inverse_matrix2x2 ¶
inverse_matrix2x2 :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
inverse_matrix3x3 ¶
inverse_matrix3x3 :: proc "contextless" (x: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
inverse_matrix4x4 ¶
inverse_matrix4x4 :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
inverse_transpose_matrix1x1 ¶
inverse_transpose_matrix1x1 :: proc "contextless" (x: $M/matrix[1, 1]$T) -> (y: $M/matrix[1, 1]$T) {…}
inverse_transpose_matrix2x2 ¶
inverse_transpose_matrix2x2 :: proc "contextless" (x: $M/matrix[2, 2]$T) -> (y: $M/matrix[2, 2]$T) {…}
inverse_transpose_matrix3x3 ¶
inverse_transpose_matrix3x3 :: proc "contextless" (x: $A/matrix[3, 3]$T) -> (y: $A/matrix[3, 3]$T) {…}
inverse_transpose_matrix4x4 ¶
inverse_transpose_matrix4x4 :: proc "contextless" (x: $M/matrix[4, 4]$T) -> (y: $M/matrix[4, 4]$T) {…}
matrix_minor ¶
matrix_minor :: proc "contextless" (m: $/matrix[0, 0]$T, #any_int row, #any_int column: i32) -> (minor: $T) {…}
transpose ¶
transpose :: intrinsics.transpose
Procedure Groups
abs ¶
abs :: proc{ abs_int, abs_uint, abs_float, abs_double, abs_float2, abs_float3, abs_float4, abs_double2, abs_double3, abs_double4, abs_int2, abs_int3, abs_int4, abs_uint2, abs_uint3, abs_uint4, }
acos ¶
acos :: proc{ acos_float, acos_double, acos_float2, acos_float3, acos_float4, acos_double2, acos_double3, acos_double4, }
acosh ¶
acosh :: proc{ acosh_float, acosh_double, acosh_float2, acosh_float3, acosh_float4, acosh_double2, acosh_double3, acosh_double4, }
adjugate ¶
adjugate :: proc{ adjugate_matrix1x1, adjugate_matrix2x2, adjugate_matrix3x3, adjugate_matrix4x4, }
asdouble ¶
asdouble :: proc{ asdouble_float, asdouble_double, asdouble_int, asdouble_uint, asdouble_float1x1, asdouble_float2x2, asdouble_float3x3, asdouble_float4x4, asdouble_float1x2, asdouble_float1x3, asdouble_float1x4, asdouble_float2x1, asdouble_float2x3, asdouble_float2x4, asdouble_float3x1, asdouble_float3x2, asdouble_float3x4, asdouble_float4x1, asdouble_float4x2, asdouble_float4x3, asdouble_float2, asdouble_float3, asdouble_float4, asdouble_int2, asdouble_int3, asdouble_int4, asdouble_uint2, asdouble_uint3, asdouble_uint4, asdouble_bool2, asdouble_bool3, asdouble_bool4, asdouble_double1x1, asdouble_double2x2, asdouble_double3x3, asdouble_double4x4, asdouble_double1x2, asdouble_double1x3, asdouble_double1x4, asdouble_double2x1, asdouble_double2x3, asdouble_double2x4, asdouble_double3x1, asdouble_double3x2, asdouble_double3x4, asdouble_double4x1, asdouble_double4x2, asdouble_double4x3, asdouble_double2, asdouble_double3, asdouble_double4, }
asfloat ¶
asfloat :: proc{ asfloat_float, asfloat_double, asfloat_int, asfloat_uint, asfloat_float1x1, asfloat_float2x2, asfloat_float3x3, asfloat_float4x4, asfloat_float1x2, asfloat_float1x3, asfloat_float1x4, asfloat_float2x1, asfloat_float2x3, asfloat_float2x4, asfloat_float3x1, asfloat_float3x2, asfloat_float3x4, asfloat_float4x1, asfloat_float4x2, asfloat_float4x3, asfloat_float2, asfloat_float3, asfloat_float4, asfloat_int2, asfloat_int3, asfloat_int4, asfloat_uint2, asfloat_uint3, asfloat_uint4, asfloat_bool2, asfloat_bool3, asfloat_bool4, asfloat_double1x1, asfloat_double2x2, asfloat_double3x3, asfloat_double4x4, asfloat_double1x2, asfloat_double1x3, asfloat_double1x4, asfloat_double2x1, asfloat_double2x3, asfloat_double2x4, asfloat_double3x1, asfloat_double3x2, asfloat_double3x4, asfloat_double4x1, asfloat_double4x2, asfloat_double4x3, asfloat_double2, asfloat_double3, asfloat_double4, }
asin ¶
asin :: proc{ asin_float, asin_double, asin_float2, asin_float3, asin_float4, asin_double2, asin_double3, asin_double4, }
asinh ¶
asinh :: proc{ asinh_float, asinh_double, asinh_float2, asinh_float3, asinh_float4, asinh_double2, asinh_double3, asinh_double4, }
asint ¶
asint :: proc{ asint_float, asint_double, asint_int, asint_uint, asint_float1x1, asint_float2x2, asint_float3x3, asint_float4x4, asint_float1x2, asint_float1x3, asint_float1x4, asint_float2x1, asint_float2x3, asint_float2x4, asint_float3x1, asint_float3x2, asint_float3x4, asint_float4x1, asint_float4x2, asint_float4x3, asint_float2, asint_float3, asint_float4, asint_int2, asint_int3, asint_int4, asint_uint2, asint_uint3, asint_uint4, asint_bool2, asint_bool3, asint_bool4, asint_double1x1, asint_double2x2, asint_double3x3, asint_double4x4, asint_double1x2, asint_double1x3, asint_double1x4, asint_double2x1, asint_double2x3, asint_double2x4, asint_double3x1, asint_double3x2, asint_double3x4, asint_double4x1, asint_double4x2, asint_double4x3, asint_double2, asint_double3, asint_double4, }
atan ¶
atan :: proc{ atan_float, atan_double, atan_float2, atan_float3, atan_float4, atan_double2, atan_double3, atan_double4, atan2_float, atan2_double, atan2_float2, atan2_float3, atan2_float4, atan2_double2, atan2_double3, atan2_double4, }
atan2 ¶
atan2 :: proc{ atan2_float, atan2_double, atan2_float2, atan2_float3, atan2_float4, atan2_double2, atan2_double3, atan2_double4, }
atanh ¶
atanh :: proc{ atanh_float, atanh_double, atanh_float2, atanh_float3, atanh_float4, atanh_double2, atanh_double3, atanh_double4, }
ceil ¶
ceil :: proc{ ceil_float, ceil_double, ceil_float2, ceil_float3, ceil_float4, ceil_double2, ceil_double3, ceil_double4, }
clamp ¶
clamp :: proc{ clamp_int, clamp_uint, clamp_float, clamp_double, clamp_float2, clamp_float3, clamp_float4, clamp_double2, clamp_double3, clamp_double4, clamp_int2, clamp_int3, clamp_int4, clamp_uint2, clamp_uint3, clamp_uint4, }
cos ¶
cos :: proc{ cos_float, cos_double, cos_float2, cos_float3, cos_float4, cos_double2, cos_double3, cos_double4, }
cosh ¶
cosh :: proc{ cosh_float, cosh_double, cosh_float2, cosh_float3, cosh_float4, cosh_double2, cosh_double3, cosh_double4, }
cross ¶
cross :: proc{ cross_float3, cross_double3, cross_int3, }
degrees ¶
degrees :: proc{ degrees_float, degrees_double, degrees_float2, degrees_float3, degrees_float4, degrees_double2, degrees_double3, degrees_double4, }
determinant ¶
determinant :: proc{ determinant_matrix1x1, determinant_matrix2x2, determinant_matrix3x3, determinant_matrix4x4, }
distance ¶
distance :: proc{ distance_float, distance_double, distance_float2, distance_float3, distance_float4, distance_double2, distance_double3, distance_double4, }
dot ¶
dot :: proc{ dot_int, dot_uint, dot_float, dot_double, dot_float2, dot_float3, dot_float4, dot_double2, dot_double3, dot_double4, dot_int2, dot_int3, dot_int4, dot_uint2, dot_uint3, dot_uint4, }
equal ¶
equal :: proc{ equal_float, equal_double, equal_int, equal_uint, equal_float2, equal_double2, equal_int2, equal_uint2, equal_float3, equal_double3, equal_int3, equal_uint3, equal_float4, equal_double4, equal_int4, equal_uint4, }
exp ¶
exp :: proc{ exp_float, exp_double, exp_float2, exp_float3, exp_float4, exp_double2, exp_double3, exp_double4, }
exp2 ¶
exp2 :: proc{ exp2_float, exp2_double, exp2_float2, exp2_float3, exp2_float4, exp2_double2, exp2_double3, exp2_double4, }
faceforward ¶
faceforward :: proc{ faceforward_float, faceforward_double, faceforward_float2, faceforward_float3, faceforward_float4, faceforward_double2, faceforward_double3, faceforward_double4, }
floor ¶
floor :: proc{ floor_float, floor_double, floor_float2, floor_float3, floor_float4, floor_double2, floor_double3, floor_double4, }
fmod ¶
fmod :: proc{ fmod_float, fmod_double, fmod_float2, fmod_float3, fmod_float4, fmod_double2, fmod_double3, fmod_double4, }
frac ¶
frac :: proc{ frac_float, frac_double, frac_float2, frac_float3, frac_float4, frac_double2, frac_double3, frac_double4, }
greaterThan ¶
greaterThan :: proc{ greaterThan_float, greaterThan_double, greaterThan_int, greaterThan_uint, greaterThan_float2, greaterThan_double2, greaterThan_int2, greaterThan_uint2, greaterThan_float3, greaterThan_double3, greaterThan_int3, greaterThan_uint3, greaterThan_float4, greaterThan_double4, greaterThan_int4, greaterThan_uint4, }
greaterThanEqual ¶
greaterThanEqual :: proc{ greaterThanEqual_float, greaterThanEqual_double, greaterThanEqual_int, greaterThanEqual_uint, greaterThanEqual_float2, greaterThanEqual_double2, greaterThanEqual_int2, greaterThanEqual_uint2, greaterThanEqual_float3, greaterThanEqual_double3, greaterThanEqual_int3, greaterThanEqual_uint3, greaterThanEqual_float4, greaterThanEqual_double4, greaterThanEqual_int4, greaterThanEqual_uint4, }
inverse_transpose ¶
inverse_transpose :: proc{ inverse_transpose_matrix1x1, inverse_transpose_matrix2x2, inverse_transpose_matrix3x3, inverse_transpose_matrix4x4, }
isfinite ¶
isfinite :: proc{ isfinite_float, isfinite_float2, isfinite_float3, isfinite_float4, isfinite_double, isfinite_double2, isfinite_double3, isfinite_double4, }
isfinite is the opposite of isinf and returns true if the number is neither positive-infinite or negative-infinite
isinf ¶
isinf :: proc{ isinf_float, isinf_float2, isinf_float3, isinf_float4, isinf_double, isinf_double2, isinf_double3, isinf_double4, }
isinf is the opposite of isfinite and returns true if the number is either positive-infinite or negative-infinite
isnan ¶
isnan :: proc{ isnan_float, isnan_float2, isnan_float3, isnan_float4, isnan_double, isnan_double2, isnan_double3, isnan_double4, }
isnan returns true if the input value is the special case of Not-A-Number
length ¶
length :: proc{ length_float, length_double, length_float2, length_float3, length_float4, length_double2, length_double3, length_double4, }
lerp ¶
lerp :: proc{ lerp_float, lerp_double, lerp_float2, lerp_float3, lerp_float4, lerp_double2, lerp_double3, lerp_double4, }
lessThanEqual ¶
lessThanEqual :: proc{ lessThanEqual_float, lessThanEqual_double, lessThanEqual_int, lessThanEqual_uint, lessThanEqual_float2, lessThanEqual_double2, lessThanEqual_int2, lessThanEqual_uint2, lessThanEqual_float3, lessThanEqual_double3, lessThanEqual_int3, lessThanEqual_uint3, lessThanEqual_float4, lessThanEqual_double4, lessThanEqual_int4, lessThanEqual_uint4, }
log ¶
log :: proc{ log_float, log_double, log_float2, log_float3, log_float4, log_double2, log_double3, log_double4, }
log10 ¶
log10 :: proc{ log10_float, log10_double, log10_float2, log10_float3, log10_float4, log10_double2, log10_double3, log10_double4, }
log2 ¶
log2 :: proc{ log2_float, log2_double, log2_float2, log2_float3, log2_float4, log2_double2, log2_double3, log2_double4, }
max ¶
max :: proc{ max_int, max_uint, max_float, max_double, max_float2, max_float3, max_float4, max_double2, max_double3, max_double4, max_int2, max_int3, max_int4, max_uint2, max_uint3, max_uint4, }
min ¶
min :: proc{ min_int, min_uint, min_float, min_double, min_float2, min_float3, min_float4, min_double2, min_double3, min_double4, min_int2, min_int3, min_int4, min_uint2, min_uint3, min_uint4, }
normalize ¶
normalize :: proc{ normalize_float, normalize_double, normalize_float2, normalize_float3, normalize_float4, normalize_double2, normalize_double3, normalize_double4, }
pow ¶
pow :: proc{ pow_float, pow_double, pow_float2, pow_float3, pow_float4, pow_double2, pow_double3, pow_double4, }
radians ¶
radians :: proc{ radians_float, radians_double, radians_float2, radians_float3, radians_float4, radians_double2, radians_double3, radians_double4, }
rcp ¶
rcp :: proc{ rcp_float, rcp_double, rcp_float2, rcp_float3, rcp_float4, rcp_double2, rcp_double3, rcp_double4, }
reflect ¶
reflect :: proc{ reflect_float, reflect_double, reflect_float2, reflect_float3, reflect_float4, reflect_double2, reflect_double3, reflect_double4, }
refract ¶
refract :: proc{ refract_float, refract_double, refract_float2, refract_float3, refract_float4, refract_double2, refract_double3, refract_double4, }
round ¶
round :: proc{ round_float, round_double, round_float2, round_float3, round_float4, round_double2, round_double3, round_double4, }
rsqrt ¶
rsqrt :: proc{ rsqrt_float, rsqrt_double, rsqrt_float2, rsqrt_float3, rsqrt_float4, rsqrt_double2, rsqrt_double3, rsqrt_double4, }
scalarTripleProduct ¶
scalarTripleProduct :: proc{ scalarTripleProduct_float3, scalarTripleProduct_double3, scalarTripleProduct_int3, }
sign ¶
sign :: proc{ sign_int, sign_uint, sign_float, sign_double, sign_float2, sign_float3, sign_float4, sign_double2, sign_double3, sign_double4, sign_int2, sign_int3, sign_int4, sign_uint2, sign_uint3, sign_uint4, }
sin ¶
sin :: proc{ sin_float, sin_double, sin_float2, sin_float3, sin_float4, sin_double2, sin_double3, sin_double4, }
sinh ¶
sinh :: proc{ sinh_float, sinh_double, sinh_float2, sinh_float3, sinh_float4, sinh_double2, sinh_double3, sinh_double4, }
smoothstep ¶
smoothstep :: proc{ smoothstep_float, smoothstep_double, smoothstep_float2, smoothstep_float3, smoothstep_float4, smoothstep_double2, smoothstep_double3, smoothstep_double4, }
sqrt ¶
sqrt :: proc{ sqrt_float, sqrt_double, sqrt_float2, sqrt_float3, sqrt_float4, sqrt_double2, sqrt_double3, sqrt_double4, }
step ¶
step :: proc{ step_float, step_double, step_float2, step_float3, step_float4, step_double2, step_double3, step_double4, }
tan ¶
tan :: proc{ tan_float, tan_double, tan_float2, tan_float3, tan_float4, tan_double2, tan_double3, tan_double4, }
tanh ¶
tanh :: proc{ tanh_float, tanh_double, tanh_float2, tanh_float3, tanh_float4, tanh_double2, tanh_double3, tanh_double4, }
vectorTripleProduct ¶
vectorTripleProduct :: proc{ vectorTripleProduct_float3, vectorTripleProduct_double3, vectorTripleProduct_int3, }
Source Files
Generation Information
Generated with odin version dev-2024-12 (vendor "odin") Windows_amd64 @ 2024-12-17 21:11:01.158558200 +0000 UTC