總覽
下列數學函式可套用於純量和向量。套用至向量時,傳回的值是套用至每個輸入項目的函式向量。
例如:
float3 a, b;
// The following call sets
// a.x to sin(b.x),
// a.y to sin(b.y), and
// a.z to sin(b.z).
a = sin(b);
請參閱向量數學函式中的 distance() 和 length() 等函式,瞭解如何將輸入內容解讀為 N 維空間中的單一向量。
32 位元浮點數的數學運算的精確度會受到 pragmas rs_fp_relaxed 和 rs_fp_full 影響。在 rs_fp_relaxed 下,子常態值可清除至零,並可能會四捨五入至零。相較之下,rs_fp_full 需要正確處理子常值,也就是小於 1.17549435e-38f。rs_fp_rull 也需要四捨五入至最接近的值,單位為偶數。
使用常見數學函式的變體,即可達成不同的精確度/速度的取捨。名稱開頭為
- native_:可能採用精確度較低的自訂硬體實作。此外,子常值可能會完全清除至零,使用四捨五入為零,且無法正確處理 NaN 和無限輸入的資料。
- 半數:可能會使用 16 位元浮點值執行內部運算。此外,子常態值可清除至零,也可以使用捨入為零。
摘要
常數 | |
---|---|
M_1_PI | 1 / pi,以 32 位元的浮點值表示 |
M_2_PI | 2 / pi,以 32 位元的浮點值表示 |
M_2_SQRTPI | 2 / sqrt(pi),以 32 位元的浮點值表示 |
M_E | e (採用 32 位元的浮點值) |
M_LN10 | log_e(10),顯示為 32 位元的浮點值 |
M_LN2 | log_e(2),顯示為 32 位元的浮點值 |
M_LOG10E | log_10(e),顯示為 32 位元浮點 |
M_LOG2E | log_2(e),顯示為 32 位元的浮點值 |
M_PI | pi (以 32 位元的浮點值表示) |
M_PI_2 | pi / 2,以 32 位元浮點值 |
M_PI_4 | pi / 4,以 32 位元浮點值 |
M_SQRT1_2 | 1 / sqrt(2),以 32 位元的浮點值表示 |
M_SQRT2 | sqrt(2),以 32 位元的浮點值表示 |
函式 | |
---|---|
abs | 整數的絕對值 |
acos | 反餘弦 |
acosh | 反雙曲線餘弦 |
acospi | 將反餘弦除以 pi |
asin | 反正弦 |
asinh | 反雙曲線正弦 |
asinpi | 反正弦除以 pi |
atan | 反正切 |
atan2 | 比率的反正切 |
atan2pi | 比率的反正切除以 pi |
atanh | 反雙曲線正切 |
atanpi | 將反正切除以 pi |
cbrt | 立方根 |
ceil | 不得小於值的小型整數 |
取值範圍 | 將值限制在特定範圍 |
clz | 開頭的 0 位元數量 |
copysign | 將數字的正負號複製到另一個 |
cos | 餘弦 |
cosh | 雙曲線餘弦 |
cospi | 指定數字乘以 pi 的餘弦值 |
度數 | 將弧度轉換為角度 |
erf | 數學錯誤函式 |
erfc | 數學互補錯誤函式 |
exp | e 提高為數字 |
exp10 | 10 為數字 |
exp2 | 2 已提高為數字 |
expm1 | e+1 減去一 |
fabs | 浮點值的絕對值 |
fdim | 兩個值之間的正差異 |
floor | 不大於值的小型整數 |
fma | 乘上並新增 |
fmax | 最多兩個浮點值 |
fmin | 最少兩個浮點值 |
fmod | 模數 |
細菌 | 正分部分 |
frexp | 二進位制式和指數 |
half_recip | 運算元的精確度為 16 位元 |
half_rsqrt | 計算為 16 位元精確度的平方根相互參照 |
half_sqrt | 計算為 16 位元精確度的平方根 |
hypot | 斜邊 |
ilogb | 以兩個指數為基準 |
ldexp | 從 Maantisa 和指數建立浮點數 |
lgamma | Gamma 函式的自然對數 |
log | 自然對數 |
log10 | 以 10 為底數 |
log1p | 指定值加上 1 的自然對數 |
log2 | 底數 2 對數 |
logb | 以兩個指數為基準 |
mad | 乘上並新增 |
max | 最大值 |
min | 最低 |
合輯 | 混合兩個值 |
modf | 積分和分數元件 |
nan | 不是數字 |
nan_half | 不是數字 |
native_acos | 近似反餘弦 |
native_acosh | 近似反雙曲線餘弦值 |
native_acospi | 近似餘弦除以 pi |
native_asin | 近似反正弦 |
native_asinh | 近似反雙曲線正弦值 |
native_asinpi | 近似反正弦除以 pi |
native_atan | 近似反正切 |
native_atan2 | 比率的近反正切值 |
native_atan2pi | 比率的近反正切除以 pi 的值 |
native_atanh | 近似反雙曲正切 |
native_atanpi | 近似正切除以 pi |
native_cbrt | 近似立方根 |
native_cos | 近餘餘弦 |
native_cosh | 近似雙曲線餘弦 |
native_cospi | 指定數字乘以 pi 的近餘弦 |
native_divide | 近似除法 |
native_exp | 概略 e 提高為多個數字 |
native_exp10 | 取數字約為 10 |
native_exp2 | 取值約 2 |
native_expm1 | 概略 e 提高為指定數字減 1 |
native_hypot | 近似假設 |
native_log | 近似自然對數 |
native_log10 | 約以 10 為底數 |
native_log1p | 指定值的近似自然對數加上 1 |
native_log2 | 底數約 2 的對數 |
native_powr | 將近正數調高為指數 |
native_recip | 近似互補 |
native_rootn | 近 n 次方根 |
native_rsqrt | 平方根的近似倒數 |
native_sin | 近正弦 |
native_sincos | 近正弦和餘弦 |
native_sinh | 近似雙曲正弦 |
native_sinpi | 指定數字乘以 pi 的近正弦值 |
native_sqrt | 近平方根 |
native_tan | 近正切 |
native_tanh | 近似雙曲正切 |
native_tanpi | 指定數字乘以 pi 的正正切值 |
nextafter | 下一個浮點數 |
pow | 以指數為準 |
Pown | 以整數指數為基礎 |
powr | 提高為指數的正底數 |
弧度 | 將角度轉換為弧度 |
remainder | 除法餘數 |
remquo | 除法的餘數與商 |
rint | 四捨五入 |
rootn | N 次方根 |
圓形 | 四捨五入 |
rsRand | 虛擬隨機號碼 |
rsqrt | 平方根的倒數 |
sign | 值的符號 |
sin | 正弦 |
sincos | 正弦和餘弦 |
Sinh | 雙曲線正弦 |
sinpi | 指定數字乘以 pi 的正弦 |
sqrt | 平方根 |
步驟 | 如果小於值則為 0,否則傳回 1 |
tan | 正切 |
tanh | 雙曲線正切 |
tanpi | 指定數字乘以 pi 的正切值 |
tgamma | Gamma 函式 |
trunc | 截斷浮點 |
已淘汰的函式 | |
---|---|
rsClamp | 已淘汰。將值限制在特定範圍 |
rsFrac | 已淘汰。傳回浮點的分數部分 |
常數
M_1_PI :1 / pi,以 32 位元浮點值
值:0.318309886183790671537767526745028724f |
pi 的反函式,為 32 位元浮點值。
M_2_PI :2 / pi,以 32 位元浮點值
值:0.636619772367581343075535053490057448f |
2 除以 pi,以 32 位元的浮點值表示。
M_2_SQRTPI :2 / sqrt(pi),以 32 位元浮點值表示
值:1.128379167095512573896158903121545172f |
2 除以 pi 的平方根,為 32 位元浮點值。
M_E :e 為 32 位元的浮點值
值:2.718281828459045235360287471352662498f |
數字 e,即自然對數的底數,以 32 位元的浮點值表示。
M_LN10 :log_e(10),採 32 位元浮點值
值:2.302585092994045684017991454684364208f |
10 的自然對數,如 32 位元浮點值。
M_LN2 :log_e(2),採 32 位元的浮點值
值:0.693147180559945309417232121458176568f |
2 的自然對數,以 32 位元浮點值表示。
M_LOG10E :log_10(e),採 32 位元浮點值
值:0.434294481903251827651128918916605082f |
e 的對數底數 10,以 32 位元浮點值。
M_LOG2E :log_2(e),採 32 位元浮點值
值:1.442695040888963407359924681001892137f |
e 的對數底 2,以 32 位元浮點值表示。
M_PI :圓周率,以 32 位元浮點值表示
值:3.141592653589793238462643383279502884f |
常數 pi,以 32 位元的浮點值表示。
M_PI_2 :圓周率為 32 位元的浮點值 (pi / 2),
值:1.570796326794896619231321691639751442f |
Pi 除以 2,以 32 位元的浮點值表示。
M_PI_4 :圓周率為 32 位元的浮點值 (pi / 4),
值:0.785398163397448309615660845819875721f |
Pi 除以 4,以 32 位元的浮點值表示。
M_SQRT1_2 :1 / sqrt(2),以 32 位元的浮點值表示
值:0.707106781186547524400844362104849039f |
2 的平方根的反函式,為 32 位元浮點值。
M_SQRT2 :sqrt(2),以 32 位元浮點值表示
值:1.414213562373095048801688724209698079f |
2 的平方根,以 32 位元浮點值表示。
函式
abs :整數的絕對值
uchar abs(char v); | |
uchar2 abs(char2 v); | |
uchar3 abs(char3 v); | |
uchar4 abs(char4 v); | |
uint abs(int v); | |
uint2 abs(int2 v); | |
uint3 abs(int3 v); | |
uint4 abs(int4 v); | |
ushort abs(short v); | |
ushort2 abs(short2 v); | |
ushort3 abs(short3 v); | |
ushort4 abs(short4 v); |
傳回整數的絕對值。
如果是浮點值,請使用 fabs()。
acos :反餘弦
float acos(float v); | |
float2 acos(float2 v); | |
float3 acos(float3 v); | |
float4 acos(float4 v); | |
half acos(half v); | 已在 API 級別 24 中新增。 |
half2 acos(half2 v); | 已在 API 級別 24 中新增。 |
half3 acos(half3 v); | 已在 API 級別 24 中新增。 |
half4 acos(half4 v); | 已在 API 級別 24 中新增。 |
傳回反餘弦函數,並以弧度表示。
另請參閱 native_acos()。
acosh :反雙曲線餘弦
float acosh(float v); | |
float2 acosh(float2 v); | |
float3 acosh(float3 v); | |
float4 acosh(float4 v); | |
half acosh(half v); | 已在 API 級別 24 中新增。 |
half2 acosh(half2 v); | 已在 API 級別 24 中新增。 |
half3 acosh(half3 v); | 已在 API 級別 24 中新增。 |
half4 acosh(half4 v); | 已在 API 級別 24 中新增。 |
傳回反雙曲線餘弦,並以弧度表示。
另請參閱 native_acosh()。
acospi :將反餘弦除以 pi
asin :反正弦
float asin(float v); | |
float2 asin(float2 v); | |
float3 asin(float3 v); | |
float4 asin(float4 v); | |
half asin(half v); | 已在 API 級別 24 中新增。 |
half2 asin(half2 v); | 已在 API 級別 24 中新增。 |
half3 asin(half3 v); | 已在 API 級別 24 中新增。 |
half4 asin(half4 v); | 已在 API 級別 24 中新增。 |
傳回反正弦函數,並以弧度為單位。
另請參閱 native_asin()。
asinh :反雙曲線正弦
float asinh(float v); | |
float2 asinh(float2 v); | |
float3 asinh(float3 v); | |
float4 asinh(float4 v); | |
half Asinh(half v); | 已在 API 級別 24 中新增。 |
half2 Asinh(half2 v); | 已在 API 級別 24 中新增。 |
half3 Asinh(half3 v); | 已在 API 級別 24 中新增。 |
half4 Asinh(half4 v); | 已在 API 級別 24 中新增。 |
傳回反雙曲線正弦值,以弧度為單位。
另請參閱 native_asinh()。
asinpi :反正弦除以 pi
atan :反正切
float atan(float v); | |
float2 atan(float2 v); | |
float3 atan(float3 v); | |
float4 atan(float4 v); | |
half atan(half v); | 已在 API 級別 24 中新增。 |
half2 atan(half2 v); | 已在 API 級別 24 中新增。 |
half3 atan(half3 v); | 已在 API 級別 24 中新增。 |
half4 atan(half4 v); | 已在 API 級別 24 中新增。 |
傳回反正切 (以弧度為單位)。
另請參閱 native_atan()。
atan2 :比率的反正切
float atan2(浮點分子, 浮點分母); | |
float2 atan2(float2 分子, float2 分母); | |
float3 atan2(float3 分子, float3 分母); | |
float4 atan2(float4 分子, float4 分母); | |
half atan2(半分子, 半分母); | 已在 API 級別 24 中新增。 |
half2 atan2(half2 分子, half2 分母); | 已在 API 級別 24 中新增。 |
half3 atan2(half3 分子, half3 分母); | 已在 API 級別 24 中新增。 |
half4 atan2(half4 分子, half4 分母); | 已在 API 級別 24 中新增。 |
參數
分子 | 分子。 |
---|---|
分母 | 分母。可為 0。 |
傳回 (numerator / denominator)
的反正切值,並以弧度表示。
另請參閱 native_atan2()。
atan2pi :比率的反正切除以 pi
float atan2pi(浮點分子, 浮點分母); | |
float2 atan2pi(float2 分子, float2 分母); | |
float3 atan2pi(float3 分子, float3 分母); | |
float4 atan2pi(float4 分子, float4 分母); | |
half atan2pi(5 分子, half 分母); | 已在 API 級別 24 中新增。 |
half2 atan2pi(half2 分子, half2 分母); | 已在 API 級別 24 中新增。 |
half3 atan2pi(half3 分子, half3 分母); | 已在 API 級別 24 中新增。 |
half4 atan2pi(half4 分子, half4 分母); | 已在 API 級別 24 中新增。 |
參數
分子 | 分子。 |
---|---|
分母 | 分母。可為 0。 |
傳回 (numerator / denominator)
的反正切值,以弧度為單位除以 pi。
如要取得以度為單位的反正切值,請使用 atan2pi(n, d) * 180.f
。
另請參閱 native_atan2pi()。
atanh :反雙曲線正切
float atanh(float v); | |
float2 atanh(float2 v); | |
float3 atanh(float3 v); | |
float4 atanh(float4 v); | |
half atanh(half v); | 已在 API 級別 24 中新增。 |
half2 atanh(half2 v); | 已在 API 級別 24 中新增。 |
half3 atanh(half3 v); | 已在 API 級別 24 中新增。 |
half4 atanh(half4 v); | 已在 API 級別 24 中新增。 |
傳回反雙曲正切,以弧度為單位。
另請參閱 native_atanh()。
atanpi :反正切除以 pi
cbrt :立方根
float cbrt(float v); | |
float2 cbrt(float2 v); | |
float3 cbrt(float3 v); | |
float4 cbrt(float4 v); | |
half cbrt(half v); | 已在 API 級別 24 中新增。 |
half2 cbrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 cbrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 cbrt(half4 v); | 已在 API 級別 24 中新增。 |
傳回立方根。
另請參閱 native_cbrt()。
ceil :最小整數,不得小於值
取值範圍 :將值限制在特定範圍
char clamp(字元值, 字元 min_value, 字元 max_value); | 已在 API 級別 19 中新增。 |
char2 取值範圍(char2 值, 字元 min_value, 字元 max_value); | 已在 API 級別 19 中新增。 |
char2 取值範圍(char2 值, char2 min_value, char2 max_value); | 已在 API 級別 19 中新增。 |
char3 取值範圍(char3 值, 字元 min_value, 字元 max_value); | 已在 API 級別 19 中新增。 |
char3 取值範圍(char3 值, char3 min_value, char3 max_value); | 已在 API 級別 19 中新增。 |
char4 取值範圍(char4 值, 字元 min_value, 字元 max_value); | 已在 API 級別 19 中新增。 |
char4 取值範圍(char4 值, char4 min_value, char4 max_value); | 已在 API 級別 19 中新增。 |
float clamp(float value, float min_value, float max_value); | |
float2 取值範圍(float2 value, float min_value, float max_value); | |
float2 取值範圍(float2 value, float2 min_value, float2 max_value); | |
float3 取值範圍(float3 value, float min_value, float max_value); | |
float3 取值範圍(float3 value, float3 min_value, float3 max_value); | |
float4 取值範圍(float4 value, float min_value, float max_value); | |
float4 取值範圍(float4 value, float4 min_value, float4 max_value); | |
half 取值範圍(half 值, half min_value, half max_value); | 已在 API 級別 24 中新增。 |
half2 取值範圍(half2 值, half min_value, half max_value); | 已在 API 級別 24 中新增。 |
half2 取值範圍(half2 值, half2 min_value, half2 max_value); | 已在 API 級別 24 中新增。 |
half3 取值範圍(half3 值, half min_value, half max_value); | 已在 API 級別 24 中新增。 |
half3 取值範圍(half3 值, half3 min_value, half3 max_value); | 已在 API 級別 24 中新增。 |
half4 取值範圍(half4 值, half min_value, half max_value); | 已在 API 級別 24 中新增。 |
half4 取值範圍(half4 值, half4 min_value, half4 max_value); | 已在 API 級別 24 中新增。 |
int clamp(int value, int min_value, int max_value); | 已在 API 級別 19 中新增。 |
int2 取值範圍(int2 value, int min_value, int max_value); | 已在 API 級別 19 中新增。 |
int2 clamp(int2 值, int2 min_value, int2 max_value); | 已在 API 級別 19 中新增。 |
int3 取值範圍(int3 value, int min_value, int max_value); | 已在 API 級別 19 中新增。 |
int3 clamp(int3 值, int3 min_value, int3 max_value); | 已在 API 級別 19 中新增。 |
int4 取值範圍(int4 值, int min_value, int max_value); | 已在 API 級別 19 中新增。 |
int4 clamp(int4 值, int4 min_value, int4 max_value); | 已在 API 級別 19 中新增。 |
Long clamp(long value, long min_value, long max_value); | 已在 API 級別 19 中新增。 |
long2 取值範圍限制(long2 值、長 min_value、長最大值); | 已在 API 級別 19 中新增。 |
long2 取值範圍(long2 值, long2 min_value, long2 max_value); | 已在 API 級別 19 中新增。 |
long3 取值範圍限制(long3 值、長 min_value、長最大值); | 已在 API 級別 19 中新增。 |
long3 取值範圍(long3 值, long3 min_value, long3 max_value); | 已在 API 級別 19 中新增。 |
long4 取值範圍限制(long4 值、長 min_value、長最大值); | 已在 API 級別 19 中新增。 |
long4 取值範圍(long4 值, long4 min_value, long4 max_value); | 已在 API 級別 19 中新增。 |
short clamp(short value, short_value, short max_value); | 已在 API 級別 19 中新增。 |
short2 取值範圍限制(short2 值、 short_value、short max_value); | 已在 API 級別 19 中新增。 |
short2 取值範圍(short2值, short2 min_value, short2 max_value); | 已在 API 級別 19 中新增。 |
short3 取值範圍(short3 值、最小值 min_value、short max_value); | 已在 API 級別 19 中新增。 |
short3 取值範圍(short3 值, short3 min_value, short3 max_value); | 已在 API 級別 19 中新增。 |
short4 取值範圍限制(short4 值、 short_value、short max_value); | 已在 API 級別 19 中新增。 |
short4 取值範圍(short4 值, short4 min_value, short4 max_value); | 已在 API 級別 19 中新增。 |
uchar clamp(uchar 值, uchar min_value, uchar max_value); | 已在 API 級別 19 中新增。 |
uchar2 取值範圍(uchar2 值, uchar min_value, uchar max_value); | 已在 API 級別 19 中新增。 |
uchar2 取值範圍(uchar2 值, uchar2 min_value, uchar2 max_value); | 已在 API 級別 19 中新增。 |
uchar3 取值範圍(uchar3 值, uchar min_value, uchar max_value); | 已在 API 級別 19 中新增。 |
uchar3 取值範圍(uchar3 值, uchar3 min_value, uchar3 max_value); | 已在 API 級別 19 中新增。 |
uchar4 取值範圍(uchar4 值, uchar min_value, uchar max_value); | 已在 API 級別 19 中新增。 |
uchar4 取值範圍(uchar4 值, uchar4 min_value, uchar4 max_value); | 已在 API 級別 19 中新增。 |
uint 取值範圍(uint value, uint min_value, uint max_value); | 已在 API 級別 19 中新增。 |
uint2 取值範圍(uint2 值, uint min_value, uint max_value); | 已在 API 級別 19 中新增。 |
uint2 取值範圍(uint2 值, uint2 min_value, uint2 max_value); | 已在 API 級別 19 中新增。 |
uint3 取值範圍(uint3 值, uint min_value, uint max_value); | 已在 API 級別 19 中新增。 |
uint3 取值範圍(uint3 值, uint3 min_value, uint3 max_value); | 已在 API 級別 19 中新增。 |
uint4 取值範圍(uint4 值, uint min_value, uint max_value); | 已在 API 級別 19 中新增。 |
uint4 取值範圍(uint4 值, uint4 min_value, uint4 max_value); | 已在 API 級別 19 中新增。 |
ulong 取值範圍(ulong值, ulong min_value, ulong max_value); | 已在 API 級別 19 中新增。 |
ulong2 取值範圍(ulong2值, ulong min_value, ulong max_value); | 已在 API 級別 19 中新增。 |
ulong2 取值範圍(ulong2值, ulong2 min_value, ulong2 max_value); | 已在 API 級別 19 中新增。 |
ulong3 取值範圍(ulong3值, ulong min_value, ulong max_value); | 已在 API 級別 19 中新增。 |
ulong3 取值範圍(ulong3值, ulong3 min_value, ulong3 max_value); | 已在 API 級別 19 中新增。 |
ulong4 取值範圍限制(ulong4值, ulong min_value, ulong max_value); | 已在 API 級別 19 中新增。 |
ulong4 取值範圍(ulong4 值, ulong4 min_value, ulong4 max_value); | 已在 API 級別 19 中新增。 |
ushort 取值範圍(ushort 值, ushort min_value, ushort max_value); | 已在 API 級別 19 中新增。 |
ushort2 取值範圍(ushort2 值, ushort min_value, ushort max_value); | 已在 API 級別 19 中新增。 |
ushort2 取值範圍(ushort2 值, ushort2 min_value, ushort2 max_value); | 已在 API 級別 19 中新增。 |
ushort3 取值範圍(ushort3 值, ushort min_value, ushort max_value); | 已在 API 級別 19 中新增。 |
ushort3 取值範圍(ushort3 值, ushort3 min_value, ushort3 max_value); | 已在 API 級別 19 中新增。 |
ushort4 取值範圍(ushort4 值, ushort min_value, ushort max_value); | 已在 API 級別 19 中新增。 |
ushort4 取值範圍(ushort4 值, ushort4 min_value, ushort4 max_value); | 已在 API 級別 19 中新增。 |
參數
value | 要限制值範圍的值。 |
---|---|
最小值 | 下限、純量或相符的向量。 |
最大值 | 高上限,必須與低類型相符。 |
將值限制設為指定的高度與下限。如果值 < min_value 則會傳回 min_value,如果值 > max_value 則傳回 min_value,反之則傳回 min_value。
取值範圍有兩個變體:一個最小值和最大值是純量套用至值的所有項目,另一個是最小值和最大值的向量。
如果 min_value 大於 max_value,表示結果未定義。
clz :開頭的 0 位元數量
char clz(字元值); | |
char2 clz(char2 值); | |
char3 clz(char3 值); | |
char4 clz(char4 值); | |
int clz(int value); | |
int2 clz(int2 value); | |
int3 clz(int3 value); | |
int4 clz(int4 value); | |
short clz(short 值); | |
short2 clz(short2 值); | |
short3 clz(short3 value); | |
short4 clz(short4 值); | |
uchar clz(uchar value); | |
uchar2 clz(uchar2 值); | |
uchar3 clz(uchar3 值); | |
uchar4 clz(uchar4 值); | |
uint clz(uint value); | |
uint2 clz(uint2 value); | |
uint3 clz(uint3 value); | |
uint4 clz(uint4 value); | |
ushort clz(ushort value); | |
ushort2 clz(ushort2 value); | |
ushort3 clz(ushort3 value); | |
ushort4 clz(ushort4 value); |
傳回值中前置 0 位元的數目。
舉例來說,clz((char)0x03)
會傳回 6。
copysign :將數字的正負號複製到另一個號碼
float copysign(float magnitude_value, float sign_value); | |
float2 copysign(float2 magnitude_value, float2 sign_value); | |
float3 copysign(float3 magnitude_value, float3 sign_value); | |
float4 copysign(float4 magnitude_value, float4 sign_value); | |
half copysign(half magnitude_value, half sign_value); | 已在 API 級別 24 中新增。 |
half2 copysign(half2 magnitude_value, half2 sign_value); | 已在 API 級別 24 中新增。 |
half3 copysign(half3 magnitude_value, half3 sign_value); | 已在 API 級別 24 中新增。 |
half4 copysign(half4 magnitude_value, half4 sign_value); | 已在 API 級別 24 中新增。 |
將正負號從 sign_value 複製到 magnitude_value。
傳回的值可以是 magnitude_value 或 -magnitude_value。
舉例來說,copysign(4.0f, -2.7f)
會傳回 -4.0f,而 copysign(-4.0f, 2.7f)
會傳回 4.0f。
cos :餘弦
float cos(float v); | |
float2 cos(float2 v); | |
float3 cos(float3 v); | |
float4 cos(float4 v); | |
half cos(half v); | 已在 API 級別 24 中新增。 |
half2 cos(half2 v); | 已在 API 級別 24 中新增。 |
half3 cos(half3 v); | 已在 API 級別 24 中新增。 |
half4 cos(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度表示的角度餘弦值。
另請參閱 native_cos()。
cosh :混合餘弦
float cosh(float v); | |
float2 cosh(float2 v); | |
float3 cosh(float3 v); | |
float4 cosh(float4 v); | |
half cosh(half v); | 已在 API 級別 24 中新增。 |
half2 cosh(half2 v); | 已在 API 級別 24 中新增。 |
half3 cosh(half3 v); | 已在 API 級別 24 中新增。 |
half4 cosh(half4 v); | 已在 API 級別 24 中新增。 |
傳回 v 的雙曲餘弦,其中 v 的計算單位為弧度。
另請參閱 native_cosh()。
cospi :數數字乘以 pi 的餘弦
degrees :將弧度轉換為角度
floatdegree(float v); | |
float2degree(float2 v); | |
float3degree(float3 v); | |
float4degree(float4 v); | |
half 度(半 v); | 已在 API 級別 24 中新增。 |
half2 度(half2 v); | 已在 API 級別 24 中新增。 |
half3 度(half3 v); | 已在 API 級別 24 中新增。 |
half4 度(half4 v); | 已在 API 級別 24 中新增。 |
將弧度轉換成角度。
erf :數學錯誤函式
float erf(float v); | |
float2 erf(float2 v); | |
float3 erf(float3 v); | |
float4 erf(float4 v); | |
half erf(half v); | 已在 API 級別 24 中新增。 |
half2 erf(half2 v); | 已在 API 級別 24 中新增。 |
half3 erf(half3 v); | 已在 API 級別 24 中新增。 |
half4 erf(half4 v); | 已在 API 級別 24 中新增。 |
傳回錯誤函式。
erfc :數學互補錯誤函式
float erfc(float v); | |
float2 erfc(float2 v); | |
float3 erfc(float3 v); | |
float4 erfc(float4 v); | |
half erfc(half v); | 已在 API 級別 24 中新增。 |
half2 erfc(half2 v); | 已在 API 級別 24 中新增。 |
half3 erfc(half3 v); | 已在 API 級別 24 中新增。 |
half4 erfc(half4 v); | 已在 API 級別 24 中新增。 |
傳回互補錯誤函式。
exp :已調高為數字
float exp(float v); | |
float2 exp(float2 v); | |
float3 exp(float3 v); | |
float4 exp(float4 v); | |
half exp(half v); | 已在 API 級別 24 中新增。 |
half2 exp(half2 v); | 已在 API 級別 24 中新增。 |
half3 exp(half3 v); | 已在 API 級別 24 中新增。 |
half4 exp(half4 v); | 已在 API 級別 24 中新增。 |
傳回 e,也就是 v,即 e ^ v。
另請參閱 native_exp()。
exp10 :10 等於數字
float exp10(float v); | |
float2 exp10(float2 v); | |
float3 exp10(float3 v); | |
float4 exp10(float4 v); | |
half exp10(half v); | 已在 API 級別 24 中新增。 |
half2 exp10(half2 v); | 已在 API 級別 24 中新增。 |
half3 exp10(half3 v); | 已在 API 級別 24 中新增。 |
half4 exp10(half4 v); | 已在 API 級別 24 中新增。 |
傳回 10 至 v,即 10.f ^ v。
另請參閱 native_exp10()。
exp2 :2 加了數字
float exp2(float v); | |
float2 exp2(float2 v); | |
float3 exp2(float3 v); | |
float4 exp2(float4 v); | |
half exp2(half v); | 已在 API 級別 24 中新增。 |
half2 exp2(half2 v); | 已在 API 級別 24 中新增。 |
half3 exp2(half3 v); | 已在 API 級別 24 中新增。 |
half4 exp2(half4 v); | 已在 API 級別 24 中新增。 |
傳回 2 到 v,即 2.f ^ v。
另請參閱 native_exp2()。
expm1 :加法數字減 1
float expm1(float v); | |
float2 expm1(float2 v); | |
float3 expm1(float3 v); | |
float4 expm1(float4 v); | |
half expm1(half v); | 已在 API 級別 24 中新增。 |
half2 expm1(half2 v); | 已在 API 級別 24 中新增。 |
half3 expm1(half3 v); | 已在 API 級別 24 中新增。 |
half4 expm1(half4 v); | 已在 API 級別 24 中新增。 |
回傳 e 前提為 v 減 1,即 (e ^ v) - 1。
另請參閱 native_expm1()。
fabs :浮點的絕對值
float fabs(float v); | |
float2 fabs(float2 v); | |
float3 fabs(float3 v); | |
float4 fabs(float4 v); | |
half fabs(half v); | 已在 API 級別 24 中新增。 |
half2 fabs(half2 v); | 已在 API 級別 24 中新增。 |
half3 fabs(half3 v); | 已在 API 級別 24 中新增。 |
half4 fabs(half4 v); | 已在 API 級別 24 中新增。 |
傳回浮點值 v 的絕對值。
如果是整數,請使用 abs()。
fdim :兩個值之間的正面差異
float fdim(float a, float b); | |
float2 fdim(float2 a, float2 b); | |
float3 fdim(float3 a, float3 b); | |
float4 fdim(float4 a, float4 b); | |
half fdim(half a, half b); | 已在 API 級別 24 中新增。 |
half2 fdim(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 fdim(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 fdim(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
傳回兩個值之間的正差。
如果 a > b,會傳回 (a - b),否則傳回 0f。
floor :小於值的最低整數
fma :乘法加法
float fma(float multiplicand1, float multiplicand2, float offset); | |
float2 fma(float2 multiplicand1, float2 multiplicand2, float2 offset); | |
float3 fma(float3 multiplicand1, float3 multiplicand2, float3 offset); | |
float4 fma(float4 multiplicand1, float4 multiplicand2, float4 offset); | |
half fma(half multiplicand1, half multiplicand2, half 偏移); | 已在 API 級別 24 中新增。 |
half2 fma(half2 multiplicand1, half2 multiplicand2, half2 偏移); | 已在 API 級別 24 中新增。 |
half3 fma(half3 multiplicand1, half3 multiplicand2, half3 偏移); | 已在 API 級別 24 中新增。 |
half4 fma(half4 multiplicand1, half4 multiplicand2, half4 偏移); | 已在 API 級別 24 中新增。 |
fmax :不得超過兩個浮點值
float fmax(float a, float b); | |
float2 fmax(float2 a, float b); | |
float2 fmax(float2 a, float2 b); | |
float3 fmax(float3 a, float b); | |
float3 fmax(float3 a, float3 b); | |
float4 fmax(float4 a, float b); | |
float4 fmax(float4 a, float4 b); | |
half fmax(half a, half b); | 已在 API 級別 24 中新增。 |
half2 fmax(half2 a, half b); | 已在 API 級別 24 中新增。 |
half2 fmax(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 fmax(half3 a, half b); | 已在 API 級別 24 中新增。 |
half3 fmax(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 fmax(half4 a, half b); | 已在 API 級別 24 中新增。 |
half4 fmax(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
傳回 a 和 b 的最大值,例如:(a < b ? b : a)
。
max() 函式傳回相同的結果,但可以套用至更多資料類型。
fmin :最小值為兩個浮點值
float fmin(float a, float b); | |
float2 fmin(float2 a, float b); | |
float2 fmin(float2 a, float2 b); | |
float3 fmin(float3 a, float b); | |
float3 fmin(float3 a, float3 b); | |
float4 fmin(float4 a, float b); | |
float4 fmin(float4 a, float4 b); | |
half fmin(half a, half b); | 已在 API 級別 24 中新增。 |
half2 fmin(half2 a, half b); | 已在 API 級別 24 中新增。 |
half2 fmin(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 fmin(half3 a, half b); | 已在 API 級別 24 中新增。 |
half3 fmin(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 fmin(half4 a, half b); | 已在 API 級別 24 中新增。 |
half4 fmin(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
傳回 a 和 b 的最小值,例如 (a > b ? b : a)
。
min() 函式會傳回相同的結果,但可以套用至更多資料類型。
fmod : Modulo
float fmod(float numerator, float denominator); | |
float2 fmod(float2 分子, float2 分母); | |
float3 fmod(float3 分子, float3 分母); | |
float4 fmod(float4 分子, float4 分母); | |
half fmod(half 分子, half 分母); | 已在 API 級別 24 中新增。 |
half2 fmod(half2分子, half2 分母); | 已在 API 級別 24 中新增。 |
half3 fmod(half3分子, half3 分母); | 已在 API 級別 24 中新增。 |
half4 fmod(half4 分子, half4 分母); | 已在 API 級別 24 中新增。 |
小數 :正分部分
float fract(float v); | |
float fract(float v, float* floor); | |
float2 fract(float2 v); | |
float2 fract(float2 v, float2* floor); | |
float3 fract(float3 v); | |
float3 fract(float3 v, float3* floor); | |
float4 fract(float4 v); | |
float4 fract(float4 v, float4* floor); | |
半價碎片(half v); | 已在 API 級別 24 中新增。 |
半價(半 v, 半* 樓); | 已在 API 級別 24 中新增。 |
half2 碎片(half2 v); | 已在 API 級別 24 中新增。 |
half2 碎片(half2 v, half2* 樓層); | 已在 API 級別 24 中新增。 |
half3 Fact(half3 v); | 已在 API 級別 24 中新增。 |
half3 碎片(half3 v, half3* 樓層); | 已在 API 級別 24 中新增。 |
half4 碎形(half4 v); | 已在 API 級別 24 中新增。 |
half4 碎片(half4 v, half4* 樓層); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | 輸入值。 |
---|---|
層樓 | 如果樓層不是空值,*樓層會設為 v 的樓層。 |
傳回 v 的正分數部分,例如 v - floor(v)
。
舉例來說,fract(1.3f, &val)
會傳回 0.3f,並將 val 設為 1.f。fract(-1.3f, &val)
會傳回 0.7f,並將 val 設為 -2.f。
frexp :二進位 mantisa 和 exponent
float frexp(float v, int* exponent); | |
float2 frexp(float2 v, int2* exponent); | |
float3 frexp(float3 v, int3* exponent); | |
float4 frexp(float4 v, int4* exponent); | |
half frexp(half v, int* 指數); | 已在 API 級別 24 中新增。 |
half2 frexp(half2 v, int2* 指數); | 已在 API 級別 24 中新增。 |
half3 frexp(half3 v, int3* 指數); | 已在 API 級別 24 中新增。 |
half4 frexp(half4 v, int4* 指數); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | 輸入值。 |
---|---|
指數 | 如果指數不是空值,*指數會設為 v 的指數。 |
half_recip :計算為 16 位元精確度的參照
half_rsqrt :計算 16 位元精確度的平方根參照
half_sqrt :計算為 16 位元精確度的平方根
Hypot :斜邊
float hypot(float a, float b); | |
float2 hypot(float2 a, float2 b); | |
float3 hypot(float3 a, float3 b); | |
float4 hypot(float4 a, float4 b); | |
半假設(half a, half b); | 已在 API 級別 24 中新增。 |
half2 hypot(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 hypot(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 hypot(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
傳回假設,例如 sqrt(a * a + b * b)
。
另請參閱 native_hypot()。
ilogb :以兩項指數為基準
ldexp :從 Maantisa 和指數建立浮點
float ldexp(float mantissa, int exponent); | |
float2 ldexp(float2 mantissa, int exponent); | |
float2 ldexp(float2 mantissa, int2 指數); | |
float3 ldexp(float3 mantissa, int exponent); | |
float3 ldexp(float3 mantissa, int3 指數); | |
float4 ldexp(float4 mantissa, int exponent); | |
float4 ldexp(float4 mantissa, int4 指數); | |
half ldexp(half mantissa, int 指數); | 已在 API 級別 24 中新增。 |
half2 ldexp(half2 mantissa, int 指數); | 已在 API 級別 24 中新增。 |
half2 ldexp(half2 mantisa, int2 指數); | 已在 API 級別 24 中新增。 |
half3 ldexp(half3 mantissa, int 指數); | 已在 API 級別 24 中新增。 |
half3 ldexp(half3 mantisa, int3 指數); | 已在 API 級別 24 中新增。 |
half4 ldexp(half4 mantisa, int 指數); | 已在 API 級別 24 中新增。 |
half4 ldexp(half4 mantisa, int4 指數); | 已在 API 級別 24 中新增。 |
參數
Mantissa | Mantissa 敬上 |
---|---|
指數 | 指數、單一元件或相符的向量。 |
傳回從定點和指數建立的浮點數,即 (mantissa * 2 ^ 指數)。
如要瞭解反向作業,請參閱 frexp()。
lgamma :Gamma 函式的自然對數
float lgamma(float v); | |
float lgamma(float v, int* sign_of_gamma); | |
float2 lgamma(float2 v); | |
float2 lgamma(float2 v, int2* sign_of_gamma); | |
float3 lgamma(float3 v); | |
float3 lgamma(float3 v, int3* sign_of_gamma); | |
float4 lgamma(float4 v); | |
float4 lgamma(float4 v, int4* sign_of_gamma); | |
half lgamma(half v); | 已在 API 級別 24 中新增。 |
half lgamma(half v, int* sign_of_gamma); | 已在 API 級別 24 中新增。 |
half2 lgamma(half2 v); | 已在 API 級別 24 中新增。 |
half2 lgamma(half2 v, int2* sign_of_gamma); | 已在 API 級別 24 中新增。 |
half3 lgamma(half3 v); | 已在 API 級別 24 中新增。 |
half3 lgamma(half3 v, int3* sign_of_gamma); | 已在 API 級別 24 中新增。 |
half4 lgamma(half4 v); | 已在 API 級別 24 中新增。 |
half4 lgamma(half4 v, int4* sign_of_gamma); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | |
---|---|
Gamma 符號 | 如果 sign_of_gamma 並非空值,則 *sign_of_gamma 會設為 -1.f 如果 v 的 gamma 為負數,否則會設為 1.f。 |
log :自然對數
float log(float v); | |
float2 log(float2 v); | |
float3 log(float3 v); | |
float4 log(float4 v); | |
half log(half v); | 已在 API 級別 24 中新增。 |
half2 log(half2 v); | 已在 API 級別 24 中新增。 |
half3 log(half3 v); | 已在 API 級別 24 中新增。 |
half4 log(half4 v); | 已在 API 級別 24 中新增。 |
傳回自然對數。
另請參閱 native_log()。
log10 :以 10 為底數
float log10(float v); | |
float2 log10(float2 v); | |
float3 log10(float3 v); | |
float4 log10(float4 v); | |
half log10(half v); | 已在 API 級別 24 中新增。 |
half2 log10(half2 v); | 已在 API 級別 24 中新增。 |
half3 log10(half3 v); | 已在 API 級別 24 中新增。 |
half4 log10(half4 v); | 已在 API 級別 24 中新增。 |
傳回以 10 為底數的對數。
另請參閱 native_log10()。
log1p :特定值加上 1 的自然對數
float log1p(float v); | |
float2 log1p(float2 v); | |
float3 log1p(float3 v); | |
float4 log1p(float4 v); | |
half log1p(half v); | 已在 API 級別 24 中新增。 |
half2 log1p(half2 v); | 已在 API 級別 24 中新增。 |
half3 log1p(half3 v); | 已在 API 級別 24 中新增。 |
half4 log1p(half4 v); | 已在 API 級別 24 中新增。 |
傳回 (v + 1.f)
的自然對數。
另請參閱 native_log1p()。
log2 :底數 2 對數
float log2(float v); | |
float2 log2(float2 v); | |
float3 log2(float3 v); | |
float4 log2(float4 v); | |
half log2(half v); | 已在 API 級別 24 中新增。 |
half2 log2(half2 v); | 已在 API 級別 24 中新增。 |
half3 log2(half3 v); | 已在 API 級別 24 中新增。 |
half4 log2(half4 v); | 已在 API 級別 24 中新增。 |
傳回以 2 為底數的對數。
另請參閱 native_log2()。
logb :以兩項指數為基準
float logb(float v); | |
float2 logb(float2 v); | |
float3 logb(float3 v); | |
float4 logb(float4 v); | |
half logb(half v); | 已在 API 級別 24 中新增。 |
half2 logb(half2 v); | 已在 API 級別 24 中新增。 |
half3 logb(half3 v); | 已在 API 級別 24 中新增。 |
half4 logb(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的兩個指數,其中 mantisa 介於 1.f (含) 和 2.f (不含) 之間。
舉例來說,logb(8.5f)
會傳回 3.f。
根據 mantisa 之間的差異,這個數字小於 frexp() 傳回的數字。
ilogb() 相似,但會傳回整數。
mad :乘法加法
float mad(float multiplicand1, float multiplicand2, float offset); | |
float2 mad(float2 multiplicand1, float2 multiplicand2, float2 offset); | |
float3 mad(float3 multiplicand1, float3 multiplicand2, float3 offset); | |
float4 mad(float4 multiplicand1, float4 multiplicand2, float4 offset); | |
half mad(half multiplicand1, half multiplicand2, half 偏移); | 已在 API 級別 24 中新增。 |
half2 mad(half2 multiplicand1, half2 multiplicand2、half2 偏移); | 已在 API 級別 24 中新增。 |
half3 mad(half3 multiplicand1, half3 multiplicand2, half3 偏移); | 已在 API 級別 24 中新增。 |
half4 mad(half4 multiplicand1, half4 multiplicand2、half4 偏移); | 已在 API 級別 24 中新增。 |
max :最大值
char max(char a, char b); | |
char2 max(char2 a, char2 b); | |
char3 max(char3 a, char3 b); | |
char4 max(char4 a, char4 b); | |
float max(float a, float b); | |
float2 max(float2 a, float b); | |
float2 max(float2 a, float2 b); | |
float3 max(float3 a, float b); | |
float3 max(float3 a, float3 b); | |
float4 max(float4 a, float b); | |
float4 max(float4 a, float4 b); | |
half max(half a, half b); | 已在 API 級別 24 中新增。 |
half2 max(half2 a, half b); | 已在 API 級別 24 中新增。 |
half2 max(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 max(half3 a, half b); | 已在 API 級別 24 中新增。 |
half3 max(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 max(half4 a, half b); | 已在 API 級別 24 中新增。 |
half4 max(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
int max(int a, int b); | |
int2 max(int2 a, int2 b); | |
int3 max(int3 a, int3 b); | |
int4 max(int4 a, int4 b); | |
long max(long a, long b); | 已在 API 級別 21 中新增。 |
long2 max(long2 a, long2 b); | 已在 API 級別 21 中新增。 |
long3 max(long3 a, long3 b); | 已在 API 級別 21 中新增。 |
long4 max(long4 a, long4 b); | 已在 API 級別 21 中新增。 |
short max(short a, short b); | |
short2 max(short2 a, short2 b); | |
short3 max(short3 a, short3 b); | |
short4 max(short4 a, short4 b); | |
uchar max(uchar a, uchar b); | |
uchar2 max(uchar2 a, uchar2 b); | |
uchar3 max(uchar3 a, uchar3 b); | |
uchar4 max(uchar4 a, uchar4 b); | |
uint max(uint a, uint b); | |
uint2 max(uint2 a, uint2 b); | |
uint3 max(uint3 a, uint3 b); | |
uint4 max(uint4 a, uint4 b); | |
ulong max(ulong a, ulong b); | 已在 API 級別 21 中新增。 |
ulong2 max(ulong2 a, ulong2 b); | 已在 API 級別 21 中新增。 |
ulong3 max(ulong3 a, ulong3 b); | 已在 API 級別 21 中新增。 |
ulong4 max(ulong4 a, ulong4 b); | 已在 API 級別 21 中新增。 |
ushort max(ushort a, ushort b); | |
ushort2 max(ushort2 a, ushort2 b); | |
ushort3 max(ushort3 a, ushort3 b); | |
ushort4 max(ushort4 a, ushort4 b); |
傳回兩個引數的最大值。
min :最小值
char min(char a, char b); | |
char2 min(char2 a、char2 b); | |
char3 min(char3 a、char3 b); | |
char4 min(char4 a、char4 b); | |
float min(float a, float b); | |
float2 min(float2 a, float b); | |
float2 min(float2 a, float2 b); | |
float3 min(float3 a, float b); | |
float3 min(float3 a, float3 b); | |
float4 min(float4 a, float b); | |
float4 min(float4 a, float4 b); | |
half min(半數 a, half b); | 已在 API 級別 24 中新增。 |
half2 min(half2 a, half b); | 已在 API 級別 24 中新增。 |
half2 min(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 min(half3 a, half b); | 已在 API 級別 24 中新增。 |
half3 min(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 min(half4 a, half b); | 已在 API 級別 24 中新增。 |
half4 min(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
int min(int a, int b); | |
int2 min(int2 a, int2 b); | |
int3 min(int3 a, int3 b); | |
int4 min(int4 a, int4 b); | |
long min(long a, long b); | 已在 API 級別 21 中新增。 |
long2 min(long2 a, long2 b); | 已在 API 級別 21 中新增。 |
long3 min(long3 a, long3 b); | 已在 API 級別 21 中新增。 |
long4 分鐘(long4 a, long4 b); | 已在 API 級別 21 中新增。 |
short min(short a, short b); | |
short2 min(short2 a, short2 b); | |
short3 min(short3 a, short3 b); | |
short4 min(short4 a, short4 b); | |
uchar min(uchar a, uchar b); | |
uchar2 min(uchar2 a、uchar2 b); | |
uchar3 min(uchar3 a, uchar3 b); | |
uchar4 min(uchar4 a, uchar4 b); | |
uint min(uint a, uint b); | |
uint2 min(uint2 a, uint2 b); | |
uint3 min(uint3 a, uint3 b); | |
uint4 min(uint4 a, uint4 b); | |
ulong min(ulong a, ulong b); | 已在 API 級別 21 中新增。 |
ulong2 min(ulong2 a, ulong2 b); | 已在 API 級別 21 中新增。 |
ulong3 min(ulong3 a, ulong3 b); | 已在 API 級別 21 中新增。 |
ulong4 min(ulong4 a, ulong4 b); | 已在 API 級別 21 中新增。 |
ushort min(ushort a, ushort b); | |
ushort2 min(ushort2 a, ushort2 b); | |
ushort3 min(ushort3 a, ushort3 b); | |
ushort4 min(ushort4 a, ushort4 b); |
傳回兩個引數的最小值。
mix :混合使用兩個值
浮點混合(浮點值, 浮點值, 浮點值); | |
float2 Mix(float2 start, float2 stop, float scale); | |
float2 混合(float2 start, float2 stop, float2章節); | |
float3 Mix(float3 start, float3 stop, float scale); | |
float3 Mix(float3 start, float3 stop, float3章節); | |
float4 Mix(float4 start, float4 stop, float scale); | |
float4 Mix(float4 start, float4 stop, float4銷售額); | |
半數混合(一半開始、一半停止、一半分數); | 已在 API 級別 24 中新增。 |
half2 混合(half2 開始、5f2 停止、5f 分數); | 已在 API 級別 24 中新增。 |
half2 混合(half2 開始、half2 停止、5f2 分數); | 已在 API 級別 24 中新增。 |
half3 混合(half3 開始、half3 停止、55 分); | 已在 API 級別 24 中新增。 |
half3 組合(half3 開始、half3 停止、5f3 分數); | 已在 API 級別 24 中新增。 |
half4 混合(half4 開始、half4 停止、半數分數); | 已在 API 級別 24 中新增。 |
half4 組合(half4 開始、half4 停止、5f4 分數); | 已在 API 級別 24 中新增。 |
傳回起始值 + ((停靠站 - 開始) * 分數)。
這對於混合兩個值非常實用。舉例來說,如要建立 40% 顏色 1 和 60% 顏色 2 的新顏色,請使用 mix(color1, color2, 0.6f)
。
modf :積分和分數元件
float modf(float v, float* integral_part); | |
float2 modf(float2 v, float2* integral_part); | |
float3 modf(float3 v, float3* integral_part); | |
float4 modf(float4 v, float4* integral_part); | |
half modf(half v, half* integral_part); | 已在 API 級別 24 中新增。 |
half2 modf(half2 v, half2* integral_part); | 已在 API 級別 24 中新增。 |
half3 modf(half3 v, half3* integral_part); | 已在 API 級別 24 中新增。 |
half4 modf(half4 v, half4* integral_part); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | 來源值。 |
---|---|
積分部分 | *integral_part 將設為數字的積分部分。 |
傳回
值的浮點部分。 |
傳回指定數字的積分和分數元件。
這兩個元件的符號與 x 相同。例如,如果輸入的值是 -3.72f,*integral_part 會設為 -3.f,並傳回 .72f。
native_acos :近似餘弦函數
float native_acos(float v); | 已在 API 級別 21 中新增。 |
float2 native_acos(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_acos(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_acos(float4 v); | 已在 API 級別 21 中新增。 |
half native_acos(half v); | 已在 API 級別 24 中新增。 |
half2 native_acos(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_acos(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_acos(half4 v); | 已在 API 級別 24 中新增。 |
native_acosh :近似反雙曲線餘弦值
float native_acosh(float v); | 已在 API 級別 21 中新增。 |
float2 native_acosh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_acosh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_acosh(float4 v); | 已在 API 級別 21 中新增。 |
half native_acosh(half v); | 已在 API 級別 24 中新增。 |
half2 native_acosh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_acosh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_acosh(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反雙曲線餘弦值,並以弧度表示。
另請參閱 acosh()。
native_acospi :近似餘弦除以 pi
float native_acospi(float v); | 已在 API 級別 21 中新增。 |
float2 native_acospi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_acospi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_acospi(float4 v); | 已在 API 級別 21 中新增。 |
half native_acospi(half v); | 已在 API 級別 24 中新增。 |
half2 native_acospi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_acospi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_acospi(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反餘弦值 (以弧度為單位) 除以 pi。
如要取得以度為單位的反餘弦值,請使用 acospi(a) * 180.f
。
這個函式會從小於 -1 或大於 1 的輸入值產生未定義的結果。
另請參閱 acospi()。
native_asin :近似正弦函數
float native_asin(float v); | 已在 API 級別 21 中新增。 |
float2 native_asin(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_asin(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_asin(float4 v); | 已在 API 級別 21 中新增。 |
half native_asin(half v); | 已在 API 級別 24 中新增。 |
half2 native_asin(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_asin(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_asin(half4 v); | 已在 API 級別 24 中新增。 |
native_asinh :近似反雙曲線正弦值
float native_asinh(float v); | 已在 API 級別 21 中新增。 |
float2 native_asinh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_asinh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_asinh(float4 v); | 已在 API 級別 21 中新增。 |
half native_asinh(half v); | 已在 API 級別 24 中新增。 |
half2 native_asinh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_asinh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_asinh(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反雙曲線正弦值,並以弧度表示。
另請參閱 asinh()。
native_asinpi :概略的反正弦除以 pi
float native_asinpi(float v); | 已在 API 級別 21 中新增。 |
float2 native_asinpi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_asinpi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_asinpi(float4 v); | 已在 API 級別 21 中新增。 |
half native_asinpi(half v); | 已在 API 級別 24 中新增。 |
half2 native_asinpi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_asinpi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_asinpi(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反正弦值 (以弧度為單位) 除以 pi。
如要取得以度為單位的反正弦,請使用 asinpi(a) * 180.f
。
這個函式會從小於 -1 或大於 1 的輸入值產生未定義的結果。
另請參閱 asinpi()。
native_atan :近似反正切
float native_atan(float v); | 已在 API 級別 21 中新增。 |
float2 native_atan(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_atan(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_atan(float4 v); | 已在 API 級別 21 中新增。 |
half native_atan(half v); | 已在 API 級別 24 中新增。 |
half2 native_atan(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_atan(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_atan(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反正切值,並以弧度表示。
另請參閱 atan()。
native_atan2 :比率的反正切值
float native_atan2(浮點分子, 浮點分母); | 已在 API 級別 21 中新增。 |
float2 native_atan2(float2 分子, float2 分母); | 已在 API 級別 21 中新增。 |
float3 native_atan2(float3 分子, float3 分母); | 已在 API 級別 21 中新增。 |
float4 native_atan2(float4 分子, float4 分母); | 已在 API 級別 21 中新增。 |
half native_atan2(半分子, 半分母); | 已在 API 級別 24 中新增。 |
half2 native_atan2(half2 分子, half2 分母); | 已在 API 級別 24 中新增。 |
half3 native_atan2(half3 分子, half3 分母); | 已在 API 級別 24 中新增。 |
half4 native_atan2(half4 分子, half4 分母); | 已在 API 級別 24 中新增。 |
參數
分子 | 分子。 |
---|---|
分母 | 分母。可為 0。 |
傳回 (numerator / denominator)
的近似反正切值,並以弧度表示。
另請參閱 atan2()。
native_atan2pi :比率的近反正切除以 pi
float native_atan2pi(浮點分子, 浮點分母); | 已在 API 級別 21 中新增。 |
float2 native_atan2pi(float2 分子, float2 分母); | 已在 API 級別 21 中新增。 |
float3 native_atan2pi(float3 分子, float3 分母); | 已在 API 級別 21 中新增。 |
float4 native_atan2pi(float4 分子, float4 分母); | 已在 API 級別 21 中新增。 |
half native_atan2pi(半分子, half 分母); | 已在 API 級別 24 中新增。 |
half2 native_atan2pi(half2 分子, half2 分母); | 已在 API 級別 24 中新增。 |
half3 native_atan2pi(half3 分子, half3 分母); | 已在 API 級別 24 中新增。 |
half4 native_atan2pi(half4 分子, half4 分母); | 已在 API 級別 24 中新增。 |
參數
分子 | 分子。 |
---|---|
分母 | 分母。可為 0。 |
傳回 (numerator / denominator)
的近似反正切值,以弧度為單位除以 pi。
如要取得以度為單位的反正切值,請使用 atan2pi(n, d) * 180.f
。
另請參閱 atan2pi()。
native_atanh :近似反雙曲線正切
float native_atanh(float v); | 已在 API 級別 21 中新增。 |
float2 native_atanh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_atanh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_atanh(float4 v); | 已在 API 級別 21 中新增。 |
half native_atanh(half v); | 已在 API 級別 24 中新增。 |
half2 native_atanh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_atanh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_atanh(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似反雙曲線正切值,並以弧度表示。
另請參閱 atanh()。
native_atanpi :近似正切除以 pi
float native_atanpi(float v); | 已在 API 級別 21 中新增。 |
float2 native_atanpi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_atanpi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_atanpi(float4 v); | 已在 API 級別 21 中新增。 |
half native_atanpi(half v); | 已在 API 級別 24 中新增。 |
half2 native_atanpi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_atanpi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_atanpi(half4 v); | 已在 API 級別 24 中新增。 |
native_cbrt :近似立方根
float native_cbrt(float v); | 已在 API 級別 21 中新增。 |
float2 native_cbrt(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_cbrt(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_cbrt(float4 v); | 已在 API 級別 21 中新增。 |
half native_cbrt(half v); | 已在 API 級別 24 中新增。 |
half2 native_cbrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_cbrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_cbrt(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似立方根。
另請參閱 cbrt()。
native_cos :近似餘弦
float native_cos(float v); | 已在 API 級別 21 中新增。 |
float2 native_cos(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_cos(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_cos(float4 v); | 已在 API 級別 21 中新增。 |
half native_cos(half v); | 已在 API 級別 24 中新增。 |
half2 native_cos(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_cos(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_cos(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度表示的角度近餘餘弦值。
另請參閱 cos()。
native_cosh :近似雙曲線餘弦
float native_cosh(float v); | 已在 API 級別 21 中新增。 |
float2 native_cosh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_cosh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_cosh(float4 v); | 已在 API 級別 21 中新增。 |
half native_cosh(half v); | 已在 API 級別 24 中新增。 |
half2 native_cosh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_cosh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_cosh(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似雙曲線餘弦值。
另請參閱 cosh()。
native_cospi :數字的餘弦值乘以 pi 的倍數
float native_cospi(float v); | 已在 API 級別 21 中新增。 |
float2 native_cospi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_cospi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_cospi(float4 v); | 已在 API 級別 21 中新增。 |
half native_cospi(half v); | 已在 API 級別 24 中新增。 |
half2 native_cospi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_cospi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_cospi(half4 v); | 已在 API 級別 24 中新增。 |
native_divide :近似除法
float native_divide(float left_vector, float right_vector); | 已在 API 級別 21 中新增。 |
float2 native_divide(float2 left_vector, float2 right_vector); | 已在 API 級別 21 中新增。 |
float3 native_divide(float3 left_vector, float3 right_vector); | 已在 API 級別 21 中新增。 |
float4 native_divide(float4 left_vector, float4 right_vector); | 已在 API 級別 21 中新增。 |
half native_divide(half left_vector, half right_vector); | 已在 API 級別 24 中新增。 |
half2 native_divide(half2 left_vector, half2 right_vector); | 已在 API 級別 24 中新增。 |
half3 native_divide(half3 left_vector, half3 right_vector); | 已在 API 級別 24 中新增。 |
half4 native_divide(half4 left_vector, half4right_vector); | 已在 API 級別 24 中新增。 |
計算兩個值的近似除法。
native_exp :對數字的近似值 (約 e)
float native_exp(float v); | 已在 API 級別 18 中新增。 |
float2 native_exp(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_exp(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_exp(float4 v); | 已在 API 級別 18 中新增。 |
half native_exp(half v); | 已在 API 級別 24 中新增。 |
half2 native_exp(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_exp(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_exp(half4 v); | 已在 API 級別 24 中新增。 |
native_exp10 :將大約 10 提高為數字
float native_exp10(float v); | 已在 API 級別 18 中新增。 |
float2 native_exp10(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_exp10(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_exp10(float4 v); | 已在 API 級別 18 中新增。 |
half native_exp10(half v); | 已在 API 級別 24 中新增。 |
half2 native_exp10(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_exp10(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_exp10(half4 v); | 已在 API 級別 24 中新增。 |
native_exp2 :將近 2 個加進數字
float native_exp2(float v); | 已在 API 級別 18 中新增。 |
float2 native_exp2(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_exp2(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_exp2(float4 v); | 已在 API 級別 18 中新增。 |
half native_exp2(half v); | 已在 API 級別 24 中新增。 |
half2 native_exp2(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_exp2(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_exp2(half4 v); | 已在 API 級別 24 中新增。 |
native_expm1 :概略值乘以 1
float native_expm1(float v); | 已在 API 級別 21 中新增。 |
float2 native_expm1(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_expm1(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_expm1(float4 v); | 已在 API 級別 21 中新增。 |
half native_expm1(half v); | 已在 API 級別 24 中新增。 |
half2 native_expm1(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_expm1(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_expm1(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似 (e ^ v) - 1。
另請參閱 expm1()。
native_hypot :近似假設
float native_hypot(float a, float b); | 已在 API 級別 21 中新增。 |
float2 native_hypot(float2 a, float2 b); | 已在 API 級別 21 中新增。 |
float3 native_hypot(float3 a, float3 b); | 已在 API 級別 21 中新增。 |
float4 native_hypot(float4 a, float4 b); | 已在 API 級別 21 中新增。 |
half native_hypot(half a, half b); | 已在 API 級別 24 中新增。 |
half2 native_hypot(half2 a, half2 b); | 已在 API 級別 24 中新增。 |
half3 native_hypot(half3 a, half3 b); | 已在 API 級別 24 中新增。 |
half4 native_hypot(half4 a, half4 b); | 已在 API 級別 24 中新增。 |
傳回約略 native_sqrt(a * a + b * b)
另請參閱 hypot()。
native_log :近似自然對數
float native_log(float v); | 已在 API 級別 18 中新增。 |
float2 native_log(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_log(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_log(float4 v); | 已在 API 級別 18 中新增。 |
half native_log(half v); | 已在 API 級別 24 中新增。 |
half2 native_log(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_log(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_log(half4 v); | 已在 API 級別 24 中新增。 |
native_log10 :以 10 為底數約為底數
float native_log10(float v); | 已在 API 級別 18 中新增。 |
float2 native_log10(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_log10(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_log10(float4 v); | 已在 API 級別 18 中新增。 |
half native_log10(half v); | 已在 API 級別 24 中新增。 |
half2 native_log10(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_log10(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_log10(half4 v); | 已在 API 級別 24 中新增。 |
native_log1p :指定值加上 1 的近似自然對數
float native_log1p(float v); | 已在 API 級別 21 中新增。 |
float2 native_log1p(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_log1p(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_log1p(float4 v); | 已在 API 級別 21 中新增。 |
half native_log1p(half v); | 已在 API 級別 24 中新增。 |
half2 native_log1p(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_log1p(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_log1p(half4 v); | 已在 API 級別 24 中新增。 |
傳回 (v + 1.0f) 的近似自然對數
另請參閱 log1p()。
native_log2 :底數為底數為 2 的數約
float native_log2(float v); | 已在 API 級別 18 中新增。 |
float2 native_log2(float2 v); | 已在 API 級別 18 中新增。 |
float3 native_log2(float3 v); | 已在 API 級別 18 中新增。 |
float4 native_log2(float4 v); | 已在 API 級別 18 中新增。 |
half native_log2(half v); | 已在 API 級別 24 中新增。 |
half2 native_log2(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_log2(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_log2(half4 v); | 已在 API 級別 24 中新增。 |
native_powr:將正數調高為指數的近似正數
float native_powr(浮點數, 浮點指數); | 已在 API 級別 18 中新增。 |
float2 native_powr(float2 底, float2 指數); | 已在 API 級別 18 中新增。 |
float3 native_powr(float3 底, float3 指數); | 已在 API 級別 18 中新增。 |
float4 native_powr(float4 底, float4 指數); | 已在 API 級別 18 中新增。 |
half native_powr(半基數, 半指數); | 已在 API 級別 24 中新增。 |
half2 native_powr(half2 底數, half2 指數); | 已在 API 級別 24 中新增。 |
half3 native_powr(half3 底數, half3 指數); | 已在 API 級別 24 中新增。 |
half4 native_powr(half4 底數, half4 指數); | 已在 API 級別 24 中新增。 |
參數
底座 | 必須介於 0.f 和 256.f 之間。如果值非常接近零,此函式就會不準確。 |
---|---|
指數 | 必須介於 -15.f 至 15.f 之間。 |
快速近似 (基數 ^ 指數)。
另請參閱 powr()。
native_recip :近似循環
float native_recip(float v); | 已在 API 級別 21 中新增。 |
float2 native_recip(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_recip(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_recip(float4 v); | 已在 API 級別 21 中新增。 |
half native_recip(half v); | 已在 API 級別 24 中新增。 |
half2 native_recip(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_recip(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_recip(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的近似回合。
另請參閱 half_recip()。
native_rootn :近似 n 次方根
float native_rootn(float v, int n); | 已在 API 級別 21 中新增。 |
float2 native_rootn(float2 v, int2 n); | 已在 API 級別 21 中新增。 |
float3 native_rootn(float3 v, int3 n); | 已在 API 級別 21 中新增。 |
float4 native_rootn(float4 v, int4 n); | 已在 API 級別 21 中新增。 |
half native_rootn(half v, int n); | 已在 API 級別 24 中新增。 |
half2 native_rootn(half2 v, int2 n); | 已在 API 級別 24 中新增。 |
half3 native_rootn(half3 v, int3 n); | 已在 API 級別 24 中新增。 |
half4 native_rootn(half4 v, int4 n); | 已在 API 級別 24 中新增。 |
計算指定值的近 N 次方根。
另請參閱 rootn()。
native_rsqrt :平方根的近似循環
float native_rsqrt(float v); | 已在 API 級別 21 中新增。 |
float2 native_rsqrt(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_rsqrt(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_rsqrt(float4 v); | 已在 API 級別 21 中新增。 |
half native_rsqrt(half v); | 已在 API 級別 24 中新增。 |
half2 native_rsqrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_rsqrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_rsqrt(half4 v); | 已在 API 級別 24 中新增。 |
傳回近似值 (1 / sqrt(v))。
另請參閱 rsqrt(), half_rsqrt()。
native_sin :近似正弦
float native_sin(float v); | 已在 API 級別 21 中新增。 |
float2 native_sin(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_sin(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_sin(float4 v); | 已在 API 級別 21 中新增。 |
half native_sin(half v); | 已在 API 級別 24 中新增。 |
half2 native_sin(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_sin(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_sin(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度表示的角度近正正弦。
另請參閱 sin()。
native_sincos :近似正弦和餘弦
float native_sincos(float v, float* cos); | 已在 API 級別 21 中新增。 |
float2 native_sincos(float2 v, float2* cos); | 已在 API 級別 21 中新增。 |
float3 native_sincos(float3 v, float3* cos); | 已在 API 級別 21 中新增。 |
float4 native_sincos(float4 v, float4* cos); | 已在 API 級別 21 中新增。 |
half native_sincos(half v, half* cos); | 已在 API 級別 24 中新增。 |
half2 native_sincos(half2 v, half2* cos); | 已在 API 級別 24 中新增。 |
half3 native_sincos(half3 v, half3* cos); | 已在 API 級別 24 中新增。 |
half4 native_sincos(half4 v, half4* cos); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | 傳入的值,以弧度為單位。 |
---|---|
cos | *cos 會設為餘弦值。 |
傳回
正弦。 |
傳回指定值的近正正弦和餘弦。
另請參閱 sincos()。
native_sinh :近似雙曲線正弦
float native_sinh(float v); | 已在 API 級別 21 中新增。 |
float2 native_sinh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_sinh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_sinh(float4 v); | 已在 API 級別 21 中新增。 |
half native_sinh(half v); | 已在 API 級別 24 中新增。 |
half2 native_sinh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_sinh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_sinh(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的近似雙曲正弦值,以弧度表示。
另請參閱 sinh()。
native_sinpi :數字乘以 pi 的近正弦
float native_sinpi(float v); | 已在 API 級別 21 中新增。 |
float2 native_sinpi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_sinpi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_sinpi(float4 v); | 已在 API 級別 21 中新增。 |
half native_sinpi(half v); | 已在 API 級別 24 中新增。 |
half2 native_sinpi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_sinpi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_sinpi(half4 v); | 已在 API 級別 24 中新增。 |
native_sqrt :近似平方根
float native_sqrt(float v); | 已在 API 級別 21 中新增。 |
float2 native_sqrt(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_sqrt(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_sqrt(float4 v); | 已在 API 級別 21 中新增。 |
half native_sqrt(half v); | 已在 API 級別 24 中新增。 |
half2 native_sqrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_sqrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_sqrt(half4 v); | 已在 API 級別 24 中新增。 |
native_tan :近切正切
float native_tan(float v); | 已在 API 級別 21 中新增。 |
float2 native_tan(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_tan(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_tan(float4 v); | 已在 API 級別 21 中新增。 |
half native_tan(half v); | 已在 API 級別 24 中新增。 |
half2 native_tan(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_tan(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_tan(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度表示的角度近切正切值。
native_tanh :近似雙曲正切
float native_tanh(float v); | 已在 API 級別 21 中新增。 |
float2 native_tanh(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_tanh(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_tanh(float4 v); | 已在 API 級別 21 中新增。 |
half native_tanh(half v); | 已在 API 級別 24 中新增。 |
half2 native_tanh(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_tanh(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_tanh(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的近似雙曲正切值。
另請參閱 tanh()。
native_tanpi :數字乘以 pi 的近切正切值
float native_tanpi(float v); | 已在 API 級別 21 中新增。 |
float2 native_tanpi(float2 v); | 已在 API 級別 21 中新增。 |
float3 native_tanpi(float3 v); | 已在 API 級別 21 中新增。 |
float4 native_tanpi(float4 v); | 已在 API 級別 21 中新增。 |
half native_tanpi(half v); | 已在 API 級別 24 中新增。 |
half2 native_tanpi(half2 v); | 已在 API 級別 24 中新增。 |
half3 native_tanpi(half3 v); | 已在 API 級別 24 中新增。 |
half4 native_tanpi(half4 v); | 已在 API 級別 24 中新增。 |
nextafter :下一個浮點數
float nextafter(float v, float target); | |
float2 nextafter(float2 v, float2 target); | |
float3 nextafter(float3 v, float3 target); | |
float4 nextafter(float4 v, float4 target); | |
接下來 half(half v, half 目標); | 已在 API 級別 24 中新增。 |
次之後的 half2(half2 v, half2 目標); | 已在 API 級別 24 中新增。 |
次之後的 half3(half3 v, half3 目標); | 已在 API 級別 24 中新增。 |
次之後的 half4(half4 v, half4 目標); | 已在 API 級別 24 中新增。 |
傳回從 v 朝目標邁進的下一個可代表浮點數。
在 rs_fp_relaxed 模式中,去正規化的輸入值可能無法產生下一個去正規化值,因為在放鬆模式中,您可以選擇是否要支援去正規化值。
pow :基數已提高為指數
float pow(float base, float exponent); | |
float2 pow(float2 底, float2 exponent); | |
float3 pow(float3 基本, float3 指數); | |
float4 pow(float4 基本, float4 指數); | |
半粉(半底座、半指數); | 已在 API 級別 24 中新增。 |
half2 pow(底5f2 - half2 指數); | 已在 API 級別 24 中新增。 |
half3 pow(half3 底數、half3 指數); | 已在 API 級別 24 中新增。 |
half4 粉狀(5f4 鹼基、half4 指數); | 已在 API 級別 24 中新增。 |
pown :以整數指數提高底數
float pown(float base, int exponent); | |
float2 pown(float2 底, int2 指數); | |
float3 pown(float3 底, int3 指數); | |
float4 pown(float4 底, int4 指數); | |
半 pown(半底數, int 指數); | 已在 API 級別 24 中新增。 |
half2 pown(half2 鹼基、int2 指數); | 已在 API 級別 24 中新增。 |
half3 pown(half3 鹼基、int3 指數); | 已在 API 級別 24 中新增。 |
half4 pown(half4 鹼基、int4 指數); | 已在 API 級別 24 中新增。 |
powr :指數已提高為指數的正數
float powr(float, float exponent); | |
float2 powr(float2 基本, float2 指數); | |
float3 powr(float3 基本, float3 指數); | |
float4 powr(float4 基本, float4 指數); | |
half powr(半底數, 半指數); | 已在 API 級別 24 中新增。 |
half2 powr(half2 基數, half2 指數); | 已在 API 級別 24 中新增。 |
half3 powr(half3 底數, half3 指數); | 已在 API 級別 24 中新增。 |
half4 powr(half4 基數, half4 指數); | 已在 API 級別 24 中新增。 |
回傳基數做為指數,也就是底數 ^ 指數。底數必須大於或等於 0。
pow() 和 pown() 相似。兩者都不會對基底有任何假設。pow() 接受浮點指數,而 pown() 則採用整數。
另請參閱 native_powr()。
弧度 :將角度轉換為弧度
float radians(float v); | |
float2 radians(float2 v); | |
float3 radians(float3 v); | |
float4 radians(float4 v); | |
half radians(half v); | 已在 API 級別 24 中新增。 |
half2 弧度(half2 v); | 已在 API 級別 24 中新增。 |
half3 radians(half3 v); | 已在 API 級別 24 中新增。 |
half4 弧度(half4 v); | 已在 API 級別 24 中新增。 |
將角度轉換為弧度。
remainder :除法的其餘部分
floatmainder(float numerator, float denominator); | |
float2mainder(float2 分子, float2 分母); | |
float3mainder(float3 分子, float3 分母); | |
float4mainder(float4 分子, float4 分母); | |
halfmainder(half 分子、half 分母); | 已在 API 級別 24 中新增。 |
half2mainder(half2 分子、half2 分母); | 已在 API 級別 24 中新增。 |
half3mainder(half3 分子、half3 分母); | 已在 API 級別 24 中新增。 |
half4mainder(half4 分子、half4 分母); | 已在 API 級別 24 中新增。 |
remquo :除法的餘數和商
float remquo(float 分子, float 分母, int* 商); | |
float2 remquo(float2 分子, float2 分母, int2* 商號); | |
float3 remquo(float3 分子, float3 分母, int3* 商號); | |
float4 remquo(float4 分子, float4 分母, int4* 商號); | |
half remquo(5 分子, half 分母, int* 商); | 已在 API 級別 24 中新增。 |
half2 remquo(half2 分子, half2 分母, int2* 商數); | 已在 API 級別 24 中新增。 |
half3 remquo(half3 分子, half3 分母, int3* 商數); | 已在 API 級別 24 中新增。 |
half4 remquo(half4 分子, half4 分母, int4* 商數); | 已在 API 級別 24 中新增。 |
參數
分子 | 分子。 |
---|---|
分母 | 分母。 |
商 | *商數會設為整數商數。 |
傳回
剩餘,只有低三位元精確。 |
傳回商數和餘數 (分子 / 分母)。
只有商號和最低三位元保證準確無誤。
這個函式適合用於實作定期函式。商的低三位元可提供象限和象限內的剩餘距離。舉例來說,實作 sin(x) 可以呼叫 remquo(x, PI / 2.f, &quadrant)
將非常大的 x 值縮減為限制範圍內的項目。
範例:remquo(-23.5f, 8.f, ")
將商的最小值三位元設為 3,而正負號設為負數。且會傳回 0.5f。
rint :四捨五入至偶數
rootn :N 次根
float rootn(float v, int n); | |
float2 rootn(float2 v, int2 n); | |
float3 rootn(float3 v, int3 n); | |
float4 rootn(float4 v, int4 n); | |
half rootn(half v, int n); | 已在 API 級別 24 中新增。 |
half2 rootn(half2 v, int2 n); | 已在 API 級別 24 中新增。 |
half3 rootn(half3 v, int3 n); | 已在 API 級別 24 中新增。 |
half4 rootn(half4 v, int4 n); | 已在 API 級別 24 中新增。 |
計算指定值的 N 次方根。
另請參閱 native_rootn()。
圓 :以 0 為單位四捨五入
rsClamp :將值限制在特定範圍
char rsClamp(字元金額, 字元低, 字元高); | |
int rsClamp(int amount, int low, int High); | |
short rsClamp(短則、低、短高); | |
uchar rsClamp(uchar 金額、uchar 低、uchar 高); | |
uint rsClamp(uint amount, uint low, uint High); | |
ushort rsClamp(ushort 金額、ushort 低、ushort 高): |
參數
金額 | 要限制範圍的值。 |
---|---|
低 | 下限。 |
高 | 上限。 |
已淘汰。請改用 clamp()。
值必須介於低和高之間。
rsRand :虛擬隨機號碼
浮點 rsRand(float max_value); | |
float rsRand(float min_value, float max_value); | |
int rsRand(int max_value); | |
int rsRand(int min_value, int max_value); |
傳回 0 (或 min_value) 與 max_malue 之間的隨機值。
rsqrt :平方根的參照
float rsqrt(float v); | |
float2 rsqrt(float2 v); | |
float3 rsqrt(float3 v); | |
float4 rsqrt(float4 v); | |
half rsqrt(half v); | 已在 API 級別 24 中新增。 |
half2 rsqrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 rsqrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 rsqrt(half4 v); | 已在 API 級別 24 中新增。 |
傳回 (1 / sqrt(v))。
另請參閱 half_rsqrt(), native_rsqrt()。
sign :值的符號
浮點符號(float v); | |
float2 符號(float2 v); | |
float3 符號(float3 v); | |
float4 符號(float4 v); | |
half 符號(half v); | 已在 API 級別 24 中新增。 |
half2 符號(half2 v); | 已在 API 級別 24 中新增。 |
half3 符號(half3 v); | 已在 API 級別 24 中新增。 |
half4 符號(half4 v); | 已在 API 級別 24 中新增。 |
傳回值的正負號。
if (v < 0) return -1.f; else if (v > 0) 傳回 1.f; else 傳回 0.f;
sin :正弦
float sin(float v); | |
float2 sin(float2 v); | |
float3 sin(float3 v); | |
float4 sin(float4 v); | |
half sin(half v); | 已在 API 級別 24 中新增。 |
half2 sin(half2 v); | 已在 API 級別 24 中新增。 |
half3 sin(half3 v); | 已在 API 級別 24 中新增。 |
half4 sin(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度為單位的角度的正弦。
另請參閱 native_sin()。
sincos :正弦和餘弦
float sincos(float v, float* cos); | |
float2 sincos(float2 v, float2* cos); | |
float3 sincos(float3 v, float3* cos); | |
float4 sincos(float4 v, float4* cos); | |
half sincos(half v, half* cos); | 已在 API 級別 24 中新增。 |
half2 sincos(half2 v, half2* cos); | 已在 API 級別 24 中新增。 |
half3 sincos(half3 v, half3* cos); | 已在 API 級別 24 中新增。 |
half4 Sincos(half4 v, half4* cos); | 已在 API 級別 24 中新增。 |
參數
v 鍵 | 傳入的值,以弧度為單位。 |
---|---|
cos | *cos 會設為餘弦值。 |
傳回
v. 的正弦 |
傳回指定值的正弦和餘弦。
另請參閱 native_sincos()。
sinh :雙曲線正弦
float sinh(float v); | |
float2 sinh(float2 v); | |
float3 sinh(float3 v); | |
float4 sinh(float4 v); | |
half sinh(half v); | 已在 API 級別 24 中新增。 |
half2 sinh(half2 v); | 已在 API 級別 24 中新增。 |
half3 sinh(half3 v); | 已在 API 級別 24 中新增。 |
half4 sinh(half4 v); | 已在 API 級別 24 中新增。 |
傳回 v 的雙曲正弦,其中 v 的計算單位為弧度。
另請參閱 native_sinh()。
sinpi :正數乘以 pi 的正弦
sqrt :平方根
float sqrt(float v); | |
float2 sqrt(float2 v); | |
float3 sqrt(float3 v); | |
float4 sqrt(float4 v); | |
half sqrt(half v); | 已在 API 級別 24 中新增。 |
half2 sqrt(half2 v); | 已在 API 級別 24 中新增。 |
half3 sqrt(half3 v); | 已在 API 級別 24 中新增。 |
half4 sqrt(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的平方根。
另請參閱 half_sqrt()、native_sqrt()。
step :小於值時為 0,否則為 1
float step(float Edge, float v); | |
float2 steps(float Edge, float2 v); | 已在 API 級別 21 中新增。 |
float2 steps(float2 Edge, float v); | |
float2 steps(float2 Edge, float2 v); | |
float3 steps(float Edge, float3 v); | 已在 API 級別 21 中新增。 |
float3 steps(float3 Edge, float v); | |
float3 steps(float3 Edge, float3 v); | |
float4 steps(float Edge, float4 v); | 已在 API 級別 21 中新增。 |
float4 steps(float4 Edge, float v); | |
float4 steps(float4 Edge, float4 v); | |
half 步(5f 邊緣,half v); | 已在 API 級別 24 中新增。 |
half2 步(一半邊緣,half2 v); | 已在 API 級別 24 中新增。 |
half2 步(half2 邊緣,half v); | 已在 API 級別 24 中新增。 |
half2 步(half2 邊緣、half2 v); | 已在 API 級別 24 中新增。 |
half3 步(5f 邊緣,half3 v); | 已在 API 級別 24 中新增。 |
half3 步(half3 邊緣,half v); | 已在 API 級別 24 中新增。 |
half3 步(half3 邊緣,half3 v); | 已在 API 級別 24 中新增。 |
half4 步(5f 邊緣,half4 v); | 已在 API 級別 24 中新增。 |
half4 步(half4 邊緣,half v); | 已在 API 級別 24 中新增。 |
half4 步(half4 邊緣,half4 v); | 已在 API 級別 24 中新增。 |
tan :Tagent
float tan(float v); | |
float2 tan(float2 v); | |
float3 tan(float3 v); | |
float4 tan(float4 v); | |
half tan(half v); | 已在 API 級別 24 中新增。 |
half2 tan(half2 v); | 已在 API 級別 24 中新增。 |
half3 tan(half3 v); | 已在 API 級別 24 中新增。 |
half4 tan(half4 v); | 已在 API 級別 24 中新增。 |
傳回以弧度為單位的角度的正切值。
另請參閱 native_tan()。
tanh :雙曲線正切
float tanh(float v); | |
float2 tanh(float2 v); | |
float3 tanh(float3 v); | |
float4 tanh(float4 v); | |
half tanh(half v); | 已在 API 級別 24 中新增。 |
half2 tanh(half2 v); | 已在 API 級別 24 中新增。 |
half3 tanh(half3 v); | 已在 API 級別 24 中新增。 |
half4 tanh(half4 v); | 已在 API 級別 24 中新增。 |
傳回指定值的雙曲正切。
另請參閱 native_tanh()。
tanpi :正數乘以 pi 所得的正切值
float tanpi(float v); | |
float2 tanpi(float2 v); | |
float3 tanpi(float3 v); | |
float4 tanpi(float4 v); | |
half tanpi(half v); | 已在 API 級別 24 中新增。 |
half2 tanpi(half2 v); | 已在 API 級別 24 中新增。 |
half3 tanpi(half3 v); | 已在 API 級別 24 中新增。 |
half4 tanpi(half4 v); | 已在 API 級別 24 中新增。 |
傳回 (v * pi) 的正切值,其中 (v * pi) 是以弧度為單位。
如要取得測量值的正切值 (以度為單位),請呼叫 tanpi(v / 180.f)
。
另請參閱 native_tanpi()。
tgamma :Gamma 函式
float tgamma(float v); | |
float2 tgamma(float2 v); | |
float3 tgamma(float3 v); | |
float4 tgamma(float4 v); | |
half tgamma(half v); | 已在 API 級別 24 中新增。 |
half2 tgamma(half2 v); | 已在 API 級別 24 中新增。 |
half3 tgamma(half3 v); | 已在 API 級別 24 中新增。 |
half4 tgamma(half4 v); | 已在 API 級別 24 中新增。 |
傳回特定值的 Gamma 函式。
另請參閱 lgamma()。