3. Math library
Floating point math in general is not bit-precise. Compiler can optimize permutations, replace divisions with multiplications, and some of functions are not bit-exact. If you need precise math use double precision type. All functions and symbols are in “math” module, use require to get access to it.
require math
3.1. Constants
- PI = 3.1415927f
The ratio of a circle’s circumference to its diameter. π
- DBL_PI = 3.141592653589793lf
The ratio of a circle’s circumference to its diameter. π
- FLT_EPSILON = 1.1920929e-07f
the difference between 1 and the smallest floating point number of type float that is greater than 1.
- DBL_EPSILON = 2.220446049250313e-16lf
the difference between 1 and the smallest double precision floating point number of type double that is greater than 1.
3.2. Handled structures
- float4x4
float4x4 fields are
z |
float4 |
w |
float4 |
y |
float4 |
x |
float4 |
floating point matrix with 4 rows and 4 columns
- float3x4
float3x4 fields are
z |
float3 |
w |
float3 |
y |
float3 |
x |
float3 |
floating point matrix with 4 rows and 3 columns
- float3x3
float3x3 fields are
z |
float3 |
y |
float3 |
x |
float3 |
floating point matrix with 3 rows and 3 columns
3.3. all numerics (uint*, int*, float*, double)
- min(x: int const; y: int const)
min returns int
argument |
argument type |
---|---|
x |
int const |
y |
int const |
returns the minimum of x and y
- max(x: int const; y: int const)
max returns int
argument |
argument type |
---|---|
x |
int const |
y |
int const |
returns the maximum of x and y
- min(x: int2 const; y: int2 const)
min returns int2
argument |
argument type |
---|---|
x |
int2 const |
y |
int2 const |
returns the minimum of x and y
- max(x: int2 const; y: int2 const)
max returns int2
argument |
argument type |
---|---|
x |
int2 const |
y |
int2 const |
returns the maximum of x and y
- min(x: int3 const; y: int3 const)
min returns int3
argument |
argument type |
---|---|
x |
int3 const |
y |
int3 const |
returns the minimum of x and y
- max(x: int3 const; y: int3 const)
max returns int3
argument |
argument type |
---|---|
x |
int3 const |
y |
int3 const |
returns the maximum of x and y
- min(x: int4 const; y: int4 const)
min returns int4
argument |
argument type |
---|---|
x |
int4 const |
y |
int4 const |
returns the minimum of x and y
- max(x: int4 const; y: int4 const)
max returns int4
argument |
argument type |
---|---|
x |
int4 const |
y |
int4 const |
returns the maximum of x and y
- min(x: uint const; y: uint const)
min returns uint
argument |
argument type |
---|---|
x |
uint const |
y |
uint const |
returns the minimum of x and y
- max(x: uint const; y: uint const)
max returns uint
argument |
argument type |
---|---|
x |
uint const |
y |
uint const |
returns the maximum of x and y
- min(x: uint2 const; y: uint2 const)
min returns uint2
argument |
argument type |
---|---|
x |
uint2 const |
y |
uint2 const |
returns the minimum of x and y
- max(x: uint2 const; y: uint2 const)
max returns uint2
argument |
argument type |
---|---|
x |
uint2 const |
y |
uint2 const |
returns the maximum of x and y
- min(x: uint3 const; y: uint3 const)
min returns uint3
argument |
argument type |
---|---|
x |
uint3 const |
y |
uint3 const |
returns the minimum of x and y
- max(x: uint3 const; y: uint3 const)
max returns uint3
argument |
argument type |
---|---|
x |
uint3 const |
y |
uint3 const |
returns the maximum of x and y
- min(x: uint4 const; y: uint4 const)
min returns uint4
argument |
argument type |
---|---|
x |
uint4 const |
y |
uint4 const |
returns the minimum of x and y
- max(x: uint4 const; y: uint4 const)
max returns uint4
argument |
argument type |
---|---|
x |
uint4 const |
y |
uint4 const |
returns the maximum of x and y
- min(x: float const; y: float const)
min returns float
argument |
argument type |
---|---|
x |
float const |
y |
float const |
returns the minimum of x and y
- max(x: float const; y: float const)
max returns float
argument |
argument type |
---|---|
x |
float const |
y |
float const |
returns the maximum of x and y
- min(x: float2 const; y: float2 const)
min returns float2
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns the minimum of x and y
- max(x: float2 const; y: float2 const)
max returns float2
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns the maximum of x and y
- min(x: float3 const; y: float3 const)
min returns float3
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns the minimum of x and y
- max(x: float3 const; y: float3 const)
max returns float3
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns the maximum of x and y
- min(x: float4 const; y: float4 const)
min returns float4
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns the minimum of x and y
- max(x: float4 const; y: float4 const)
max returns float4
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns the maximum of x and y
- min(x: double const; y: double const)
min returns double
argument |
argument type |
---|---|
x |
double const |
y |
double const |
returns the minimum of x and y
- max(x: double const; y: double const)
max returns double
argument |
argument type |
---|---|
x |
double const |
y |
double const |
returns the maximum of x and y
- min(x: int64 const; y: int64 const)
min returns int64
argument |
argument type |
---|---|
x |
int64 const |
y |
int64 const |
returns the minimum of x and y
- max(x: int64 const; y: int64 const)
max returns int64
argument |
argument type |
---|---|
x |
int64 const |
y |
int64 const |
returns the maximum of x and y
- min(x: uint64 const; y: uint64 const)
min returns uint64
argument |
argument type |
---|---|
x |
uint64 const |
y |
uint64 const |
returns the minimum of x and y
- max(x: uint64 const; y: uint64 const)
max returns uint64
argument |
argument type |
---|---|
x |
uint64 const |
y |
uint64 const |
returns the maximum of x and y
3.4. float* and double
- sin(x: float const)
sin returns float
argument |
argument type |
---|---|
x |
float const |
returns the sine of x
- cos(x: float const)
cos returns float
argument |
argument type |
---|---|
x |
float const |
returns the cosine of x
- tan(x: float const)
tan returns float
argument |
argument type |
---|---|
x |
float const |
returns the tangent of x
- sin(x: float2 const)
sin returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the sine of x
- cos(x: float2 const)
cos returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the cosine of x
- tan(x: float2 const)
tan returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the tangent of x
- sin(x: float3 const)
sin returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the sine of x
- cos(x: float3 const)
cos returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the cosine of x
- tan(x: float3 const)
tan returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the tangent of x
- sin(x: float4 const)
sin returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the sine of x
- cos(x: float4 const)
cos returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the cosine of x
- tan(x: float4 const)
tan returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the tangent of x
- exp(x: float const)
exp returns float
argument |
argument type |
---|---|
x |
float const |
returns the e^x value of x
- log(x: float const)
log returns float
argument |
argument type |
---|---|
x |
float const |
returns the natural logarithm of x
- exp2(x: float const)
exp2 returns float
argument |
argument type |
---|---|
x |
float const |
returns the 2^x value of x
- log2(x: float const)
log2 returns float
argument |
argument type |
---|---|
x |
float const |
returns the logarithm base-2 of x
- rcp(x: float const)
rcp returns float
argument |
argument type |
---|---|
x |
float const |
returns the 1/x
- pow(x: float const; y: float const)
pow returns float
argument |
argument type |
---|---|
x |
float const |
y |
float const |
returns x raised to the power of y
- exp(x: float2 const)
exp returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the e^x value of x
- log(x: float2 const)
log returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the natural logarithm of x
- exp2(x: float2 const)
exp2 returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the 2^x value of x
- log2(x: float2 const)
log2 returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the logarithm base-2 of x
- rcp(x: float2 const)
rcp returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the 1/x
- pow(x: float2 const; y: float2 const)
pow returns float2
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns x raised to the power of y
- exp(x: float3 const)
exp returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the e^x value of x
- log(x: float3 const)
log returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the natural logarithm of x
- exp2(x: float3 const)
exp2 returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the 2^x value of x
- log2(x: float3 const)
log2 returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the logarithm base-2 of x
- rcp(x: float3 const)
rcp returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the 1/x
- pow(x: float3 const; y: float3 const)
pow returns float3
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns x raised to the power of y
- exp(x: float4 const)
exp returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the e^x value of x
- log(x: float4 const)
log returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the natural logarithm of x
- exp2(x: float4 const)
exp2 returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the 2^x value of x
- log2(x: float4 const)
log2 returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the logarithm base-2 of x
- rcp(x: float4 const)
rcp returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the 1/x
- pow(x: float4 const; y: float4 const)
pow returns float4
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns x raised to the power of y
- floor(x: float const)
floor returns float
argument |
argument type |
---|---|
x |
float const |
returns a float value representing the largest integer that is less than or equal to x
- ceil(x: float const)
ceil returns float
argument |
argument type |
---|---|
x |
float const |
returns a float value representing the smallest integer (type is still float) that is greater than or equal to arg0
- sqrt(x: float const)
sqrt returns float
argument |
argument type |
---|---|
x |
float const |
returns the square root of x
- saturate(x: float const)
saturate returns float
argument |
argument type |
---|---|
x |
float const |
returns a clamped to [0..1] inclusive range x
- floor(x: float2 const)
floor returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns a float value representing the largest integer that is less than or equal to x
- ceil(x: float2 const)
ceil returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns a float value representing the smallest integer (type is still float) that is greater than or equal to arg0
- sqrt(x: float2 const)
sqrt returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the square root of x
- saturate(x: float2 const)
saturate returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns a clamped to [0..1] inclusive range x
- floor(x: float3 const)
floor returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns a float value representing the largest integer that is less than or equal to x
- ceil(x: float3 const)
ceil returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns a float value representing the smallest integer (type is still float) that is greater than or equal to arg0
- sqrt(x: float3 const)
sqrt returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the square root of x
- saturate(x: float3 const)
saturate returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns a clamped to [0..1] inclusive range x
- floor(x: float4 const)
floor returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns a float value representing the largest integer that is less than or equal to x
- ceil(x: float4 const)
ceil returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns a float value representing the smallest integer (type is still float) that is greater than or equal to arg0
- sqrt(x: float4 const)
sqrt returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the square root of x
- saturate(x: float4 const)
saturate returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns a clamped to [0..1] inclusive range x
- abs(x: int const)
abs returns int
argument |
argument type |
---|---|
x |
int const |
returns the absolute value of x
- sign(x: int const)
sign returns int
argument |
argument type |
---|---|
x |
int const |
returns sign of x, or 0 if x == 0
- abs(x: int2 const)
abs returns int2
argument |
argument type |
---|---|
x |
int2 const |
returns the absolute value of x
- sign(x: int2 const)
sign returns int2
argument |
argument type |
---|---|
x |
int2 const |
returns sign of x, or 0 if x == 0
- abs(x: int3 const)
abs returns int3
argument |
argument type |
---|---|
x |
int3 const |
returns the absolute value of x
- sign(x: int3 const)
sign returns int3
argument |
argument type |
---|---|
x |
int3 const |
returns sign of x, or 0 if x == 0
- abs(x: int4 const)
abs returns int4
argument |
argument type |
---|---|
x |
int4 const |
returns the absolute value of x
- sign(x: int4 const)
sign returns int4
argument |
argument type |
---|---|
x |
int4 const |
returns sign of x, or 0 if x == 0
- abs(x: uint const)
abs returns uint
argument |
argument type |
---|---|
x |
uint const |
returns the absolute value of x
- sign(x: uint const)
sign returns uint
argument |
argument type |
---|---|
x |
uint const |
returns sign of x, or 0 if x == 0
- abs(x: uint2 const)
abs returns uint2
argument |
argument type |
---|---|
x |
uint2 const |
returns the absolute value of x
- sign(x: uint2 const)
sign returns uint2
argument |
argument type |
---|---|
x |
uint2 const |
returns sign of x, or 0 if x == 0
- abs(x: uint3 const)
abs returns uint3
argument |
argument type |
---|---|
x |
uint3 const |
returns the absolute value of x
- sign(x: uint3 const)
sign returns uint3
argument |
argument type |
---|---|
x |
uint3 const |
returns sign of x, or 0 if x == 0
- abs(x: uint4 const)
abs returns uint4
argument |
argument type |
---|---|
x |
uint4 const |
returns the absolute value of x
- sign(x: uint4 const)
sign returns uint4
argument |
argument type |
---|---|
x |
uint4 const |
returns sign of x, or 0 if x == 0
- abs(x: float const)
abs returns float
argument |
argument type |
---|---|
x |
float const |
returns the absolute value of x
- sign(x: float const)
sign returns float
argument |
argument type |
---|---|
x |
float const |
returns sign of x, or 0 if x == 0
- abs(x: float2 const)
abs returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the absolute value of x
- sign(x: float2 const)
sign returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns sign of x, or 0 if x == 0
- abs(x: float3 const)
abs returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the absolute value of x
- sign(x: float3 const)
sign returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns sign of x, or 0 if x == 0
- abs(x: float4 const)
abs returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the absolute value of x
- sign(x: float4 const)
sign returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns sign of x, or 0 if x == 0
- abs(x: double const)
abs returns double
argument |
argument type |
---|---|
x |
double const |
returns the absolute value of x
- sign(x: double const)
sign returns double
argument |
argument type |
---|---|
x |
double const |
returns sign of x, or 0 if x == 0
- abs(x: int64 const)
abs returns int64
argument |
argument type |
---|---|
x |
int64 const |
returns the absolute value of x
- sign(x: int64 const)
sign returns int64
argument |
argument type |
---|---|
x |
int64 const |
returns sign of x, or 0 if x == 0
- abs(x: uint64 const)
abs returns uint64
argument |
argument type |
---|---|
x |
uint64 const |
returns the absolute value of x
- sign(x: uint64 const)
sign returns uint64
argument |
argument type |
---|---|
x |
uint64 const |
returns sign of x, or 0 if x == 0
- is_nan(x: float const)
is_nan returns bool
argument |
argument type |
---|---|
x |
float const |
Returns true if x is NaN (not a number)
- is_finite(x: float const)
is_finite returns bool
argument |
argument type |
---|---|
x |
float const |
Returns true if x is not a negative or positive infinity
- is_nan(x: double const)
is_nan returns bool
argument |
argument type |
---|---|
x |
double const |
Returns true if x is NaN (not a number)
- is_finite(x: double const)
is_finite returns bool
argument |
argument type |
---|---|
x |
double const |
Returns true if x is not a negative or positive infinity
- sqrt(x: double const)
sqrt returns double
argument |
argument type |
---|---|
x |
double const |
returns the square root of x
- exp(x: double const)
exp returns double
argument |
argument type |
---|---|
x |
double const |
returns the e^x value of x
- rcp(x: double const)
rcp returns double
argument |
argument type |
---|---|
x |
double const |
returns the 1/x
- log(x: double const)
log returns double
argument |
argument type |
---|---|
x |
double const |
returns the natural logarithm of x
- pow(x: double const; y: double const)
pow returns double
argument |
argument type |
---|---|
x |
double const |
y |
double const |
returns x raised to the power of y
- exp2(x: double const)
exp2 returns double
argument |
argument type |
---|---|
x |
double const |
returns the 2^x value of x
- log2(x: double const)
log2 returns double
argument |
argument type |
---|---|
x |
double const |
returns the logarithm base-2 of x
- sin(x: double const)
sin returns double
argument |
argument type |
---|---|
x |
double const |
returns the sine of x
- cos(x: double const)
cos returns double
argument |
argument type |
---|---|
x |
double const |
returns the cosine of x
- asin(x: double const)
asin returns double
argument |
argument type |
---|---|
x |
double const |
returns the arcsine of x
- acos(x: double const)
acos returns double
argument |
argument type |
---|---|
x |
double const |
returns the arccosine of x
- tan(x: double const)
tan returns double
argument |
argument type |
---|---|
x |
double const |
returns the tangent of x
- atan(x: double const)
atan returns double
argument |
argument type |
---|---|
x |
double const |
returns the arctangent of x
- atan2(y: double const; x: double const)
atan2 returns double
argument |
argument type |
---|---|
y |
double const |
x |
double const |
returns the arctangent of y/x
- sincos(x: float const; s: float& implicit; c: float& implicit)
argument |
argument type |
---|---|
x |
float const |
s |
float& implicit |
c |
float& implicit |
returns oth sine and cosine of x
- sincos(x: double const; s: double& implicit; c: double& implicit)
argument |
argument type |
---|---|
x |
double const |
s |
double& implicit |
c |
double& implicit |
returns oth sine and cosine of x
- asin(x: float const)
asin returns float
argument |
argument type |
---|---|
x |
float const |
returns the arcsine of x
- acos(x: float const)
acos returns float
argument |
argument type |
---|---|
x |
float const |
returns the arccosine of x
- atan(x: float const)
atan returns float
argument |
argument type |
---|---|
x |
float const |
returns the arctangent of x
- atan2(y: float const; x: float const)
atan2 returns float
argument |
argument type |
---|---|
y |
float const |
x |
float const |
returns the arctangent of y/x
- asin(x: float2 const)
asin returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the arcsine of x
- asin(x: float3 const)
asin returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the arcsine of x
- asin(x: float4 const)
asin returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the arcsine of x
- acos(x: float2 const)
acos returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the arccosine of x
- acos(x: float3 const)
acos returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the arccosine of x
- acos(x: float4 const)
acos returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the arccosine of x
- atan(x: float2 const)
atan returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the arctangent of x
- atan(x: float3 const)
atan returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the arctangent of x
- atan(x: float4 const)
atan returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the arctangent of x
- atan2(y: float2 const; x: float2 const)
atan2 returns float2
argument |
argument type |
---|---|
y |
float2 const |
x |
float2 const |
returns the arctangent of y/x
- atan2(y: float3 const; x: float3 const)
atan2 returns float3
argument |
argument type |
---|---|
y |
float3 const |
x |
float3 const |
returns the arctangent of y/x
- atan2(y: float4 const; x: float4 const)
atan2 returns float4
argument |
argument type |
---|---|
y |
float4 const |
x |
float4 const |
returns the arctangent of y/x
3.5. float* only
- rcp_est(x: float const)
rcp_est returns float
argument |
argument type |
---|---|
x |
float const |
returns the fast approximation 1/x
- rcp_est(x: float2 const)
rcp_est returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the fast approximation 1/x
- rcp_est(x: float3 const)
rcp_est returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the fast approximation 1/x
- rcp_est(x: float4 const)
rcp_est returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the fast approximation 1/x
- fract(x: float const)
fract returns float
argument |
argument type |
---|---|
x |
float const |
returns a fraction part of x
- round(x: float const)
round returns float
argument |
argument type |
---|---|
x |
float const |
Returns the nearest integer to x.
- rsqrt(x: float const)
rsqrt returns float
argument |
argument type |
---|---|
x |
float const |
returns 1/sqrt(x)
- rsqrt_est(x: float const)
rsqrt_est returns float
argument |
argument type |
---|---|
x |
float const |
returns the fast approximation 1/sqrt(x)
- fract(x: float2 const)
fract returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns a fraction part of x
- round(x: float2 const)
round returns float2
argument |
argument type |
---|---|
x |
float2 const |
Returns the nearest integer to x.
- rsqrt(x: float2 const)
rsqrt returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns 1/sqrt(x)
- rsqrt_est(x: float2 const)
rsqrt_est returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the fast approximation 1/sqrt(x)
- fract(x: float3 const)
fract returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns a fraction part of x
- round(x: float3 const)
round returns float3
argument |
argument type |
---|---|
x |
float3 const |
Returns the nearest integer to x.
- rsqrt(x: float3 const)
rsqrt returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns 1/sqrt(x)
- rsqrt_est(x: float3 const)
rsqrt_est returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the fast approximation 1/sqrt(x)
- fract(x: float4 const)
fract returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns a fraction part of x
- round(x: float4 const)
round returns float4
argument |
argument type |
---|---|
x |
float4 const |
Returns the nearest integer to x.
- rsqrt(x: float4 const)
rsqrt returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns 1/sqrt(x)
- rsqrt_est(x: float4 const)
rsqrt_est returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the fast approximation 1/sqrt(x)
- atan_est(x: float const)
atan_est returns float
argument |
argument type |
---|---|
x |
float const |
Fast estimation for the atan.
- atan2_est(y: float const; x: float const)
atan2_est returns float
argument |
argument type |
---|---|
y |
float const |
x |
float const |
returns the fast approximation of arctangent of y/x
- atan_est(x: float2 const)
atan_est returns float2
argument |
argument type |
---|---|
x |
float2 const |
Fast estimation for the atan.
- atan_est(x: float3 const)
atan_est returns float3
argument |
argument type |
---|---|
x |
float3 const |
Fast estimation for the atan.
- atan_est(x: float4 const)
atan_est returns float4
argument |
argument type |
---|---|
x |
float4 const |
Fast estimation for the atan.
- atan2_est(y: float2 const; x: float2 const)
atan2_est returns float2
argument |
argument type |
---|---|
y |
float2 const |
x |
float2 const |
returns the fast approximation of arctangent of y/x
- atan2_est(y: float3 const; x: float3 const)
atan2_est returns float3
argument |
argument type |
---|---|
y |
float3 const |
x |
float3 const |
returns the fast approximation of arctangent of y/x
- atan2_est(y: float4 const; x: float4 const)
atan2_est returns float4
argument |
argument type |
---|---|
y |
float4 const |
x |
float4 const |
returns the fast approximation of arctangent of y/x
- floori(x: float const)
floori returns int
argument |
argument type |
---|---|
x |
float const |
returns a integer value representing the largest integer that is less than or equal to x
- ceili(x: float const)
ceili returns int
argument |
argument type |
---|---|
x |
float const |
returns a value representing the smallest integer (integer type!) that is greater than or equal to arg0
- roundi(x: float const)
roundi returns int
argument |
argument type |
---|---|
x |
float const |
returns a integer value representing the integer that is closest to x
- trunci(x: float const)
trunci returns int
argument |
argument type |
---|---|
x |
float const |
returns a integer value representing the float without fraction part of x
- floori(x: double const)
floori returns int
argument |
argument type |
---|---|
x |
double const |
returns a integer value representing the largest integer that is less than or equal to x
- ceili(x: double const)
ceili returns int
argument |
argument type |
---|---|
x |
double const |
returns a value representing the smallest integer (integer type!) that is greater than or equal to arg0
- roundi(x: double const)
roundi returns int
argument |
argument type |
---|---|
x |
double const |
returns a integer value representing the integer that is closest to x
- trunci(x: double const)
trunci returns int
argument |
argument type |
---|---|
x |
double const |
returns a integer value representing the float without fraction part of x
- floori(x: float2 const)
floori returns int2
argument |
argument type |
---|---|
x |
float2 const |
returns a integer value representing the largest integer that is less than or equal to x
- ceili(x: float2 const)
ceili returns int2
argument |
argument type |
---|---|
x |
float2 const |
returns a value representing the smallest integer (integer type!) that is greater than or equal to arg0
- roundi(x: float2 const)
roundi returns int2
argument |
argument type |
---|---|
x |
float2 const |
returns a integer value representing the integer that is closest to x
- trunci(x: float2 const)
trunci returns int2
argument |
argument type |
---|---|
x |
float2 const |
returns a integer value representing the float without fraction part of x
- floori(x: float3 const)
floori returns int3
argument |
argument type |
---|---|
x |
float3 const |
returns a integer value representing the largest integer that is less than or equal to x
- ceili(x: float3 const)
ceili returns int3
argument |
argument type |
---|---|
x |
float3 const |
returns a value representing the smallest integer (integer type!) that is greater than or equal to arg0
- roundi(x: float3 const)
roundi returns int3
argument |
argument type |
---|---|
x |
float3 const |
returns a integer value representing the integer that is closest to x
- trunci(x: float3 const)
trunci returns int3
argument |
argument type |
---|---|
x |
float3 const |
returns a integer value representing the float without fraction part of x
- floori(x: float4 const)
floori returns int4
argument |
argument type |
---|---|
x |
float4 const |
returns a integer value representing the largest integer that is less than or equal to x
- ceili(x: float4 const)
ceili returns int4
argument |
argument type |
---|---|
x |
float4 const |
returns a value representing the smallest integer (integer type!) that is greater than or equal to arg0
- roundi(x: float4 const)
roundi returns int4
argument |
argument type |
---|---|
x |
float4 const |
returns a integer value representing the integer that is closest to x
- trunci(x: float4 const)
trunci returns int4
argument |
argument type |
---|---|
x |
float4 const |
returns a integer value representing the float without fraction part of x
- operator -(x: float4x4 const implicit)
returns math::float4x4
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
returns -x
- operator -(x: float3x4 const implicit)
returns math::float3x4
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
returns -x
- operator -(x: float3x3 const implicit)
returns math::float3x3
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
returns -x
3.6. float3 only
- cross(x: float3 const; y: float3 const)
cross returns float3
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns vector representing cross product between x and y
- distance(x: float2 const; y: float2 const)
distance returns float
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns a non-negative value representing distance between x and y
- distance_sq(x: float2 const; y: float2 const)
distance_sq returns float
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns a non-negative value representing squared distance between x and y
- inv_distance(x: float2 const; y: float2 const)
inv_distance returns float
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns a non-negative value representing 1/distance between x and y
- inv_distance_sq(x: float2 const; y: float2 const)
inv_distance_sq returns float
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns a non-negative value representing 1/squared distance between x and y
- distance(x: float3 const; y: float3 const)
distance returns float
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns a non-negative value representing distance between x and y
- distance_sq(x: float3 const; y: float3 const)
distance_sq returns float
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns a non-negative value representing squared distance between x and y
- inv_distance(x: float3 const; y: float3 const)
inv_distance returns float
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns a non-negative value representing 1/distance between x and y
- inv_distance_sq(x: float3 const; y: float3 const)
inv_distance_sq returns float
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns a non-negative value representing 1/squared distance between x and y
- distance(x: float4 const; y: float4 const)
distance returns float
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns a non-negative value representing distance between x and y
- distance_sq(x: float4 const; y: float4 const)
distance_sq returns float
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns a non-negative value representing squared distance between x and y
- inv_distance(x: float4 const; y: float4 const)
inv_distance returns float
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns a non-negative value representing 1/distance between x and y
- inv_distance_sq(x: float4 const; y: float4 const)
inv_distance_sq returns float
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns a non-negative value representing 1/squared distance between x and y
- reflect(v: float3 const; n: float3 const)
reflect returns float3
argument |
argument type |
---|---|
v |
float3 const |
n |
float3 const |
returns vector representing reflection of vector v from normal n same as
def reflect(v, n: float3)
return v - 2. * dot(v, n) * n
- reflect(v: float2 const; n: float2 const)
reflect returns float2
argument |
argument type |
---|---|
v |
float2 const |
n |
float2 const |
returns vector representing reflection of vector v from normal n same as
def reflect(v, n: float3)
return v - 2. * dot(v, n) * n
- refract(v: float3 const; n: float3 const; nint: float const)
refract returns float3
argument |
argument type |
---|---|
v |
float3 const |
n |
float3 const |
nint |
float const |
returns vector representing refractoin of vector v from normal n same as
def refract(v, n: float3; nint: float; outRefracted: float3&)
let dt = dot(v, n)
let discr = 1. - nint * nint * (1. - dt * dt)
if discr > 0.
outRefracted = nint * (v - n * dt) - n * sqrt(discr)
return true
return false
- refract(v: float2 const; n: float2 const; nint: float const)
refract returns float2
argument |
argument type |
---|---|
v |
float2 const |
n |
float2 const |
nint |
float const |
returns vector representing refractoin of vector v from normal n same as
def refract(v, n: float3; nint: float; outRefracted: float3&)
let dt = dot(v, n)
let discr = 1. - nint * nint * (1. - dt * dt)
if discr > 0.
outRefracted = nint * (v - n * dt) - n * sqrt(discr)
return true
return false
3.7. float2, float3, float4
- dot(x: float2 const; y: float2 const)
dot returns float
argument |
argument type |
---|---|
x |
float2 const |
y |
float2 const |
returns scalar representing dot product between x and y
- dot(x: float3 const; y: float3 const)
dot returns float
argument |
argument type |
---|---|
x |
float3 const |
y |
float3 const |
returns scalar representing dot product between x and y
- dot(x: float4 const; y: float4 const)
dot returns float
argument |
argument type |
---|---|
x |
float4 const |
y |
float4 const |
returns scalar representing dot product between x and y
- fast_normalize(x: float2 const)
fast_normalize returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns the fast approximation of normalized x, or nan if length(x) is 0
- fast_normalize(x: float3 const)
fast_normalize returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns the fast approximation of normalized x, or nan if length(x) is 0
- fast_normalize(x: float4 const)
fast_normalize returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns the fast approximation of normalized x, or nan if length(x) is 0
- normalize(x: float2 const)
normalize returns float2
argument |
argument type |
---|---|
x |
float2 const |
returns normalized x, or nan if length(x) is 0
- normalize(x: float3 const)
normalize returns float3
argument |
argument type |
---|---|
x |
float3 const |
returns normalized x, or nan if length(x) is 0
- normalize(x: float4 const)
normalize returns float4
argument |
argument type |
---|---|
x |
float4 const |
returns normalized x, or nan if length(x) is 0
- length(x: float2 const)
length returns float
argument |
argument type |
---|---|
x |
float2 const |
returns a non-negative value representing magnitude of x
- length(x: float3 const)
length returns float
argument |
argument type |
---|---|
x |
float3 const |
returns a non-negative value representing magnitude of x
- length(x: float4 const)
length returns float
argument |
argument type |
---|---|
x |
float4 const |
returns a non-negative value representing magnitude of x
- inv_length(x: float2 const)
inv_length returns float
argument |
argument type |
---|---|
x |
float2 const |
returns a non-negative value representing 1/magnitude of x
- inv_length(x: float3 const)
inv_length returns float
argument |
argument type |
---|---|
x |
float3 const |
returns a non-negative value representing 1/magnitude of x
- inv_length(x: float4 const)
inv_length returns float
argument |
argument type |
---|---|
x |
float4 const |
returns a non-negative value representing 1/magnitude of x
- inv_length_sq(x: float2 const)
inv_length_sq returns float
argument |
argument type |
---|---|
x |
float2 const |
returns a non-negative value representing 1/squared magnitude of x
- inv_length_sq(x: float3 const)
inv_length_sq returns float
argument |
argument type |
---|---|
x |
float3 const |
returns a non-negative value representing 1/squared magnitude of x
- inv_length_sq(x: float4 const)
inv_length_sq returns float
argument |
argument type |
---|---|
x |
float4 const |
returns a non-negative value representing 1/squared magnitude of x
- length_sq(x: float2 const)
length_sq returns float
argument |
argument type |
---|---|
x |
float2 const |
returns a non-negative value representing squared magnitude of x
- length_sq(x: float3 const)
length_sq returns float
argument |
argument type |
---|---|
x |
float3 const |
returns a non-negative value representing squared magnitude of x
- length_sq(x: float4 const)
length_sq returns float
argument |
argument type |
---|---|
x |
float4 const |
returns a non-negative value representing squared magnitude of x
3.8. Noise functions
- uint32_hash(seed: uint const)
uint32_hash returns uint
argument |
argument type |
---|---|
seed |
uint const |
returns hashed value of seed
- uint_noise_1D(position: int const; seed: uint const)
uint_noise_1D returns uint
argument |
argument type |
---|---|
position |
int const |
seed |
uint const |
returns noise value of position in the seeded sequence
- uint_noise_2D(position: int2 const; seed: uint const)
uint_noise_2D returns uint
argument |
argument type |
---|---|
position |
int2 const |
seed |
uint const |
returns noise value of position in the seeded sequence
- uint_noise_3D(position: int3 const; seed: uint const)
uint_noise_3D returns uint
argument |
argument type |
---|---|
position |
int3 const |
seed |
uint const |
returns noise value of position in the seeded sequence
3.9. lerp/mad/clamp
lerp (a:float2 const;b:float2 const;t:float2 const) : float2
lerp (a:float3 const;b:float3 const;t:float3 const) : float3
lerp (a:float4 const;b:float4 const;t:float4 const) : float4
lerp (a:double const;b:double const;t:double const) : double
clamp (t:float2 const;a:float2 const;b:float2 const) : float2
clamp (t:float3 const;a:float3 const;b:float3 const) : float3
clamp (t:float4 const;a:float4 const;b:float4 const) : float4
clamp (t:double const;a:double const;b:double const) : double
clamp (t:uint64 const;a:uint64 const;b:uint64 const) : uint64
- mad(a: float const; b: float const; c: float const)
mad returns float
argument |
argument type |
---|---|
a |
float const |
b |
float const |
c |
float const |
returns vector or scalar representing a * b + c
- lerp(a: float const; b: float const; t: float const)
lerp returns float
argument |
argument type |
---|---|
a |
float const |
b |
float const |
t |
float const |
returns vector or scalar representing a + (b - a) * t
- mad(a: float2 const; b: float2 const; c: float2 const)
mad returns float2
argument |
argument type |
---|---|
a |
float2 const |
b |
float2 const |
c |
float2 const |
returns vector or scalar representing a * b + c
- lerp(a: float2 const; b: float2 const; t: float2 const)
lerp returns float2
argument |
argument type |
---|---|
a |
float2 const |
b |
float2 const |
t |
float2 const |
returns vector or scalar representing a + (b - a) * t
- mad(a: float3 const; b: float3 const; c: float3 const)
mad returns float3
argument |
argument type |
---|---|
a |
float3 const |
b |
float3 const |
c |
float3 const |
returns vector or scalar representing a * b + c
- lerp(a: float3 const; b: float3 const; t: float3 const)
lerp returns float3
argument |
argument type |
---|---|
a |
float3 const |
b |
float3 const |
t |
float3 const |
returns vector or scalar representing a + (b - a) * t
- mad(a: float4 const; b: float4 const; c: float4 const)
mad returns float4
argument |
argument type |
---|---|
a |
float4 const |
b |
float4 const |
c |
float4 const |
returns vector or scalar representing a * b + c
- lerp(a: float4 const; b: float4 const; t: float4 const)
lerp returns float4
argument |
argument type |
---|---|
a |
float4 const |
b |
float4 const |
t |
float4 const |
returns vector or scalar representing a + (b - a) * t
- mad(a: float2 const; b: float const; c: float2 const)
mad returns float2
argument |
argument type |
---|---|
a |
float2 const |
b |
float const |
c |
float2 const |
returns vector or scalar representing a * b + c
- mad(a: float3 const; b: float const; c: float3 const)
mad returns float3
argument |
argument type |
---|---|
a |
float3 const |
b |
float const |
c |
float3 const |
returns vector or scalar representing a * b + c
- mad(a: float4 const; b: float const; c: float4 const)
mad returns float4
argument |
argument type |
---|---|
a |
float4 const |
b |
float const |
c |
float4 const |
returns vector or scalar representing a * b + c
- mad(a: int const; b: int const; c: int const)
mad returns int
argument |
argument type |
---|---|
a |
int const |
b |
int const |
c |
int const |
returns vector or scalar representing a * b + c
- mad(a: int2 const; b: int2 const; c: int2 const)
mad returns int2
argument |
argument type |
---|---|
a |
int2 const |
b |
int2 const |
c |
int2 const |
returns vector or scalar representing a * b + c
- mad(a: int3 const; b: int3 const; c: int3 const)
mad returns int3
argument |
argument type |
---|---|
a |
int3 const |
b |
int3 const |
c |
int3 const |
returns vector or scalar representing a * b + c
- mad(a: int4 const; b: int4 const; c: int4 const)
mad returns int4
argument |
argument type |
---|---|
a |
int4 const |
b |
int4 const |
c |
int4 const |
returns vector or scalar representing a * b + c
- mad(a: int2 const; b: int const; c: int2 const)
mad returns int2
argument |
argument type |
---|---|
a |
int2 const |
b |
int const |
c |
int2 const |
returns vector or scalar representing a * b + c
- mad(a: int3 const; b: int const; c: int3 const)
mad returns int3
argument |
argument type |
---|---|
a |
int3 const |
b |
int const |
c |
int3 const |
returns vector or scalar representing a * b + c
- mad(a: int4 const; b: int const; c: int4 const)
mad returns int4
argument |
argument type |
---|---|
a |
int4 const |
b |
int const |
c |
int4 const |
returns vector or scalar representing a * b + c
- mad(a: uint const; b: uint const; c: uint const)
mad returns uint
argument |
argument type |
---|---|
a |
uint const |
b |
uint const |
c |
uint const |
returns vector or scalar representing a * b + c
- mad(a: uint2 const; b: uint2 const; c: uint2 const)
mad returns uint2
argument |
argument type |
---|---|
a |
uint2 const |
b |
uint2 const |
c |
uint2 const |
returns vector or scalar representing a * b + c
- mad(a: uint3 const; b: uint3 const; c: uint3 const)
mad returns uint3
argument |
argument type |
---|---|
a |
uint3 const |
b |
uint3 const |
c |
uint3 const |
returns vector or scalar representing a * b + c
- mad(a: uint4 const; b: uint4 const; c: uint4 const)
mad returns uint4
argument |
argument type |
---|---|
a |
uint4 const |
b |
uint4 const |
c |
uint4 const |
returns vector or scalar representing a * b + c
- mad(a: uint2 const; b: uint const; c: uint2 const)
mad returns uint2
argument |
argument type |
---|---|
a |
uint2 const |
b |
uint const |
c |
uint2 const |
returns vector or scalar representing a * b + c
- mad(a: uint3 const; b: uint const; c: uint3 const)
mad returns uint3
argument |
argument type |
---|---|
a |
uint3 const |
b |
uint const |
c |
uint3 const |
returns vector or scalar representing a * b + c
- mad(a: uint4 const; b: uint const; c: uint4 const)
mad returns uint4
argument |
argument type |
---|---|
a |
uint4 const |
b |
uint const |
c |
uint4 const |
returns vector or scalar representing a * b + c
- mad(a: double const; b: double const; c: double const)
mad returns double
argument |
argument type |
---|---|
a |
double const |
b |
double const |
c |
double const |
returns vector or scalar representing a * b + c
- lerp(a: double const; b: double const; t: double const)
lerp returns double
argument |
argument type |
---|---|
a |
double const |
b |
double const |
t |
double const |
returns vector or scalar representing a + (b - a) * t
- clamp(t: int const; a: int const; b: int const)
clamp returns int
argument |
argument type |
---|---|
t |
int const |
a |
int const |
b |
int const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: int2 const; a: int2 const; b: int2 const)
clamp returns int2
argument |
argument type |
---|---|
t |
int2 const |
a |
int2 const |
b |
int2 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: int3 const; a: int3 const; b: int3 const)
clamp returns int3
argument |
argument type |
---|---|
t |
int3 const |
a |
int3 const |
b |
int3 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: int4 const; a: int4 const; b: int4 const)
clamp returns int4
argument |
argument type |
---|---|
t |
int4 const |
a |
int4 const |
b |
int4 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: uint const; a: uint const; b: uint const)
clamp returns uint
argument |
argument type |
---|---|
t |
uint const |
a |
uint const |
b |
uint const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: uint2 const; a: uint2 const; b: uint2 const)
clamp returns uint2
argument |
argument type |
---|---|
t |
uint2 const |
a |
uint2 const |
b |
uint2 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: uint3 const; a: uint3 const; b: uint3 const)
clamp returns uint3
argument |
argument type |
---|---|
t |
uint3 const |
a |
uint3 const |
b |
uint3 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: uint4 const; a: uint4 const; b: uint4 const)
clamp returns uint4
argument |
argument type |
---|---|
t |
uint4 const |
a |
uint4 const |
b |
uint4 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: float const; a: float const; b: float const)
clamp returns float
argument |
argument type |
---|---|
t |
float const |
a |
float const |
b |
float const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: float2 const; a: float2 const; b: float2 const)
clamp returns float2
argument |
argument type |
---|---|
t |
float2 const |
a |
float2 const |
b |
float2 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: float3 const; a: float3 const; b: float3 const)
clamp returns float3
argument |
argument type |
---|---|
t |
float3 const |
a |
float3 const |
b |
float3 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: float4 const; a: float4 const; b: float4 const)
clamp returns float4
argument |
argument type |
---|---|
t |
float4 const |
a |
float4 const |
b |
float4 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: double const; a: double const; b: double const)
clamp returns double
argument |
argument type |
---|---|
t |
double const |
a |
double const |
b |
double const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: int64 const; a: int64 const; b: int64 const)
clamp returns int64
argument |
argument type |
---|---|
t |
int64 const |
a |
int64 const |
b |
int64 const |
returns vector or scalar representing min(max(t, a), b)
- clamp(t: uint64 const; a: uint64 const; b: uint64 const)
clamp returns uint64
argument |
argument type |
---|---|
t |
uint64 const |
a |
uint64 const |
b |
uint64 const |
returns vector or scalar representing min(max(t, a), b)
- lerp(a: float2 const; b: float2 const; t: float const)
lerp returns float2
argument |
argument type |
---|---|
a |
float2 const |
b |
float2 const |
t |
float const |
returns vector or scalar representing a + (b - a) * t
- lerp(a: float3 const; b: float3 const; t: float const)
lerp returns float3
argument |
argument type |
---|---|
a |
float3 const |
b |
float3 const |
t |
float const |
returns vector or scalar representing a + (b - a) * t
- lerp(a: float4 const; b: float4 const; t: float const)
lerp returns float4
argument |
argument type |
---|---|
a |
float4 const |
b |
float4 const |
t |
float const |
returns vector or scalar representing a + (b - a) * t
3.10. Matrix operations
* (x:math::float4x4 const implicit;y:math::float4x4 const implicit) : math::float4x4
== (x:math::float4x4 const implicit;y:math::float4x4 const implicit) : bool
!= (x:math::float4x4 const implicit;y:math::float4x4 const implicit) : bool
* (x:math::float3x4 const implicit;y:math::float3x4 const implicit) : math::float3x4
== (x:math::float3x4 const implicit;y:math::float3x4 const implicit) : bool
!= (x:math::float3x4 const implicit;y:math::float3x4 const implicit) : bool
* (x:math::float3x3 const implicit;y:math::float3x3 const implicit) : math::float3x3
== (x:math::float3x3 const implicit;y:math::float3x3 const implicit) : bool
!= (x:math::float3x3 const implicit;y:math::float3x3 const implicit) : bool
- operator *(x: float4x4 const implicit; y: float4x4 const implicit)
returns math::float4x4
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
y |
math::float4x4 const implicit |
Multiplies x by y.
- operator ==(x: float4x4 const implicit; y: float4x4 const implicit)
== returns bool
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
y |
math::float4x4 const implicit |
Compares x and y per component. Returns false if at least one component does not match.
- operator !=(x: float4x4 const implicit; y: float4x4 const implicit)
!= returns bool
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
y |
math::float4x4 const implicit |
Compares x and y per component. Returns true if at least one component does not match.
- operator *(x: float3x4 const implicit; y: float3x4 const implicit)
returns math::float3x4
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
y |
math::float3x4 const implicit |
Multiplies x by y.
- operator *(x: float3x4 const implicit; y: float3 const)
returns float3
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
y |
float3 const |
Multiplies x by y.
- operator *(x: float4x4 const implicit; y: float4 const)
returns float4
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
y |
float4 const |
Multiplies x by y.
- operator ==(x: float3x4 const implicit; y: float3x4 const implicit)
== returns bool
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
y |
math::float3x4 const implicit |
Compares x and y per component. Returns false if at least one component does not match.
- operator !=(x: float3x4 const implicit; y: float3x4 const implicit)
!= returns bool
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
y |
math::float3x4 const implicit |
Compares x and y per component. Returns true if at least one component does not match.
- operator *(x: float3x3 const implicit; y: float3x3 const implicit)
returns math::float3x3
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
y |
math::float3x3 const implicit |
Multiplies x by y.
- operator *(x: float3x3 const implicit; y: float3 const)
returns float3
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
y |
float3 const |
Multiplies x by y.
- operator ==(x: float3x3 const implicit; y: float3x3 const implicit)
== returns bool
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
y |
math::float3x3 const implicit |
Compares x and y per component. Returns false if at least one component does not match.
- operator !=(x: float3x3 const implicit; y: float3x3 const implicit)
!= returns bool
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
y |
math::float3x3 const implicit |
Compares x and y per component. Returns true if at least one component does not match.
3.11. Matrix initializers
- float3x3()
float3x3 returns math::float3x3
Returns empty matrix, where each component is 0.
- float3x4()
float3x4 returns math::float3x4
Returns empty matrix, where each component is 0.
- float4x4()
float4x4 returns math::float4x4
Returns empty matrix, where each component is 0.
- float4x4(arg0: float3x4 const implicit)
float4x4 returns math::float4x4
argument |
argument type |
---|---|
arg0 |
math::float3x4 const implicit |
Returns empty matrix, where each component is 0.
- identity4x4()
identity4x4 returns math::float4x4
Returns identity matrix, where diagonal is 1 and every other component is 0.
- float3x4(arg0: float4x4 const implicit)
float3x4 returns math::float3x4
argument |
argument type |
---|---|
arg0 |
math::float4x4 const implicit |
Returns empty matrix, where each component is 0.
- identity3x4()
identity3x4 returns math::float3x4
Returns identity matrix, where diagonal is 1 and every other component is 0.
- float3x3(arg0: float4x4 const implicit)
float3x3 returns math::float3x3
argument |
argument type |
---|---|
arg0 |
math::float4x4 const implicit |
Returns empty matrix, where each component is 0.
- float3x3(arg0: float3x4 const implicit)
float3x3 returns math::float3x3
argument |
argument type |
---|---|
arg0 |
math::float3x4 const implicit |
Returns empty matrix, where each component is 0.
- identity3x3()
identity3x3 returns math::float3x3
Returns identity matrix, where diagonal is 1 and every other component is 0.
3.12. Matrix manipulation
transpose (x:math::float4x4 const implicit) : math::float4x4
persp_forward (wk:float const;hk:float const;zn:float const;zf:float const) : math::float4x4
persp_reverse (wk:float const;hk:float const;zn:float const;zf:float const) : math::float4x4
look_at (eye:float3 const;at:float3 const;up:float3 const) : math::float4x4
compose (pos:float3 const;rot:float4 const;scale:float3 const) : math::float4x4
orthonormal_inverse (m:math::float3x3 const implicit) : math::float3x3
orthonormal_inverse (m:math::float3x4 const implicit) : math::float3x4
rotate (x:math::float3x4 const implicit;y:float3 const) : float3
- identity(x: float4x4 implicit)
argument |
argument type |
---|---|
x |
math::float4x4 implicit |
Returns identity matrix, where diagonal is 1 and every other component is 0.
- translation(xyz: float3 const)
translation returns math::float4x4
argument |
argument type |
---|---|
xyz |
float3 const |
produces a translation by xyz
1
0
0
0
0
1
0
0
0
0
1
0
x
y
z
1
- transpose(x: float4x4 const implicit)
transpose returns math::float4x4
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
Transposes the specified input matrix x.
- persp_forward(wk: float const; hk: float const; zn: float const; zf: float const)
persp_forward returns math::float4x4
argument |
argument type |
---|---|
wk |
float const |
hk |
float const |
zn |
float const |
zf |
float const |
Perspective matrix, zn - 0, zf - 1
- persp_reverse(wk: float const; hk: float const; zn: float const; zf: float const)
persp_reverse returns math::float4x4
argument |
argument type |
---|---|
wk |
float const |
hk |
float const |
zn |
float const |
zf |
float const |
Perspective matrix, zn - 1, zf - 0
- look_at(eye: float3 const; at: float3 const; up: float3 const)
look_at returns math::float4x4
argument |
argument type |
---|---|
eye |
float3 const |
at |
float3 const |
up |
float3 const |
Look-at matrix with the origin at eye, looking at at, with up as up direction.
- compose(pos: float3 const; rot: float4 const; scale: float3 const)
compose returns math::float4x4
argument |
argument type |
---|---|
pos |
float3 const |
rot |
float4 const |
scale |
float3 const |
Compose transformation out of translation, rotation and scale.
- decompose(mat: float4x4 const implicit; pos: float3& implicit; rot: float4& implicit; scale: float3& implicit)
argument |
argument type |
---|---|
mat |
math::float4x4 const implicit |
pos |
float3& implicit |
rot |
float4& implicit |
scale |
float3& implicit |
Decompose transformation into translation, rotation and scale.
- identity(x: float3x4 implicit)
argument |
argument type |
---|---|
x |
math::float3x4 implicit |
Returns identity matrix, where diagonal is 1 and every other component is 0.
- inverse(x: float3x4 const implicit)
inverse returns math::float3x4
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
Returns the inverse of the matrix x.
- inverse(m: float4x4 const implicit)
inverse returns math::float4x4
argument |
argument type |
---|---|
m |
math::float4x4 const implicit |
Returns the inverse of the matrix x.
- orthonormal_inverse(m: float3x3 const implicit)
orthonormal_inverse returns math::float3x3
argument |
argument type |
---|---|
m |
math::float3x3 const implicit |
Fast inverse for the orthonormal matrix.
- orthonormal_inverse(m: float3x4 const implicit)
orthonormal_inverse returns math::float3x4
argument |
argument type |
---|---|
m |
math::float3x4 const implicit |
Fast inverse for the orthonormal matrix.
- rotate(x: float3x4 const implicit; y: float3 const)
rotate returns float3
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
y |
float3 const |
Rotates vector y by 3x4 matrix x. Only 3x3 portion of x is multiplied by y.
- identity(x: float3x3 implicit)
argument |
argument type |
---|---|
x |
math::float3x3 implicit |
Returns identity matrix, where diagonal is 1 and every other component is 0.
3.13. Quaternion operations
- quat_from_unit_arc(v0: float3 const; v1: float3 const)
quat_from_unit_arc returns float4
argument |
argument type |
---|---|
v0 |
float3 const |
v1 |
float3 const |
Quaternion which represents rotation from v0 to v1, both arguments need to be normalized
- quat_from_unit_vec_ang(v: float3 const; ang: float const)
quat_from_unit_vec_ang returns float4
argument |
argument type |
---|---|
v |
float3 const |
ang |
float const |
Quaternion which represents rotation for ang radians around vector v. v needs to be normalized
- quat_mul(q1: float4 const; q2: float4 const)
quat_mul returns float4
argument |
argument type |
---|---|
q1 |
float4 const |
q2 |
float4 const |
Quaternion which is multiplication of q1 and q2
- quat_mul_vec(q: float4 const; v: float3 const)
quat_mul_vec returns float3
argument |
argument type |
---|---|
q |
float4 const |
v |
float3 const |
Transform vector v by quaternion q
- quat_conjugate(q: float4 const)
quat_conjugate returns float4
argument |
argument type |
---|---|
q |
float4 const |
Quaternion which is conjugate of q
3.14. Packing and unpacking
- pack_float_to_byte(x: float4 const)
pack_float_to_byte returns uint
argument |
argument type |
---|---|
x |
float4 const |
Packs float4 vector v to byte4 vector and returns it as uint. Each component is clamped to [0..255] range.
- unpack_byte_to_float(x: uint const)
unpack_byte_to_float returns float4
argument |
argument type |
---|---|
x |
uint const |
Unpacks byte4 vector to float4 vector.
3.15. Uncategorized
- operator [](m: float4x4 implicit ==const; i: int const)
[] returns float4&
argument |
argument type |
---|---|
m |
math::float4x4 implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float4x4 const implicit ==const; i: int const)
[] returns float4 const&
argument |
argument type |
---|---|
m |
math::float4x4 const implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float4x4 implicit ==const; i: uint const)
[] returns float4&
argument |
argument type |
---|---|
m |
math::float4x4 implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.
- operator [](m: float4x4 const implicit ==const; i: uint const)
[] returns float4 const&
argument |
argument type |
---|---|
m |
math::float4x4 const implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.
- determinant(x: float4x4 const implicit)
determinant returns float
argument |
argument type |
---|---|
x |
math::float4x4 const implicit |
Returns the determinant of the matrix m.
- determinant(x: float3x4 const implicit)
determinant returns float
argument |
argument type |
---|---|
x |
math::float3x4 const implicit |
Returns the determinant of the matrix m.
- operator [](m: float3x4 implicit ==const; i: int const)
[] returns float3&
argument |
argument type |
---|---|
m |
math::float3x4 implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x4 const implicit ==const; i: int const)
[] returns float3 const&
argument |
argument type |
---|---|
m |
math::float3x4 const implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x4 implicit ==const; i: uint const)
[] returns float3&
argument |
argument type |
---|---|
m |
math::float3x4 implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x4 const implicit ==const; i: uint const)
[] returns float3 const&
argument |
argument type |
---|---|
m |
math::float3x4 const implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.
- quat_from_euler(angles: float3 const)
quat_from_euler returns float4
argument |
argument type |
---|---|
angles |
float3 const |
Construct quaternion from euler angles.
- quat_from_euler(x: float const; y: float const; z: float const)
quat_from_euler returns float4
argument |
argument type |
---|---|
x |
float const |
y |
float const |
z |
float const |
Construct quaternion from euler angles.
- euler_from_quat(angles: float4 const)
euler_from_quat returns float3
argument |
argument type |
---|---|
angles |
float4 const |
Construct euler angles from quaternion.
- quat(m: float3x3 const implicit)
quat returns float4
argument |
argument type |
---|---|
m |
math::float3x3 const implicit |
Construct quaternion from matrix.
- quat(m: float3x4 const implicit)
quat returns float4
argument |
argument type |
---|---|
m |
math::float3x4 const implicit |
Construct quaternion from matrix.
- quat(m: float4x4 const implicit)
quat returns float4
argument |
argument type |
---|---|
m |
math::float4x4 const implicit |
Construct quaternion from matrix.
- quat_slerp(t: float const; a: float4 const; b: float4 const)
quat_slerp returns float4
argument |
argument type |
---|---|
t |
float const |
a |
float4 const |
b |
float4 const |
Spherical linear interpolation between a and b by t.
- determinant(x: float3x3 const implicit)
determinant returns float
argument |
argument type |
---|---|
x |
math::float3x3 const implicit |
Returns the determinant of the matrix m.
- operator [](m: float3x3 implicit ==const; i: int const)
[] returns float3&
argument |
argument type |
---|---|
m |
math::float3x3 implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x3 const implicit ==const; i: int const)
[] returns float3 const&
argument |
argument type |
---|---|
m |
math::float3x3 const implicit! |
i |
int const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x3 implicit ==const; i: uint const)
[] returns float3&
argument |
argument type |
---|---|
m |
math::float3x3 implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.
- operator [](m: float3x3 const implicit ==const; i: uint const)
[] returns float3 const&
argument |
argument type |
---|---|
m |
math::float3x3 const implicit! |
i |
uint const |
Returns the component of the matrix m at the specified row.