Математические константы и функции RenderScript,Математические константы и функции RenderScript,Математические константы и функции RenderScript,Математические константы и функции RenderScript

Обзор

Приведенные ниже математические функции можно применять к скалярам и векторам. При применении к векторам возвращаемое значение представляет собой вектор функции, применяемой к каждой записи входных данных.

Например:
float3 a, b;
// The following call sets
// ax to sin(bx),
// ay to sin(by), and
// az to sin(bz).
a = sin(b);

См. раздел «Векторные математические функции» , где описаны такие функции, как расстояние () и длина (), которые вместо этого интерпретируют входные данные как один вектор в n-мерном пространстве.

На точность математических операций с 32-битными числами с плавающей запятой влияют прагмы rs_fp_relaxed и rs_fp_full. При использовании rs_fp_relaxed значения ниже нормы могут быть сброшены до нуля и округление может быть выполнено в сторону нуля. Для сравнения, rs_fp_full требует корректной обработки значений ниже нормы, т.е. меньше 1,17549435e-38f. rs_fp_rull также требует округления до ближайшего значения с привязкой к чету.

Различные компромиссы между точностью и скоростью могут быть достигнуты за счет использования вариантов общих математических функций. Функции, имя которых начинается с

  • Native_: Может иметь пользовательскую аппаратную реализацию с более низкой точностью. Кроме того, субнормальные значения могут быть сброшены до нуля, может использоваться округление в сторону нуля, а входные значения NaN и бесконечности могут обрабатываться неправильно.
  • half_: может выполнять внутренние вычисления с использованием 16-битных чисел с плавающей запятой. Кроме того, значения ниже нормы могут быть сброшены до нуля и может использоваться округление в сторону нуля.

Краткое содержание

Константы
M_1_PI 1/пи, как 32-битное число с плавающей запятой
M_2_PI 2/pi, как 32-битное число с плавающей запятой
M_2_SQRTPI 2 / sqrt(pi), как 32-битное число с плавающей запятой
МНЕ е, как 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-битное число с плавающей запятой
М_ПИ пи, как 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-битное число с плавающей запятой
Функции
пресс Абсолютное значение целого числа
акос Обратный косинус
акош Обратный гиперболический косинус
акоспи Обратный косинус, разделенный на число пи
асин Обратный синус
асинх Обратный гиперболический синус
асинпи Обратный синус, разделенный на число пи
атан Обратный тангенс
Атан2 Обратный тангенс отношения
atan2pi Обратный тангенс отношения, разделенный на число пи
Атанх Обратный гиперболический тангенс
атанпи Обратный тангенс, разделенный на число пи
CBRT Корень куба
клетка Наименьшее целое число, не меньшее значения
зажим Ограничить значение диапазоном
клз Количество ведущих нулевых битов
копиподпись Копирует знак числа в другой
потому что Косинус
шиш Гипеболический косинус
коспи Косинус числа, умноженного на пи
степени Преобразует радианы в градусы
Эрф Математическая функция ошибки
erfc Математическая дополнительная функция ошибок
опыт e возведено в число
экс10 10 возведено в число
эксп2 2 возведено в число
выражение1 e возведено в число минус один
фабрики Абсолютное значение числа с плавающей запятой
fdim Положительная разница между двумя значениями
пол Наименьшее целое число, не превышающее значения
ФМА Умножить и добавить
fмакс Максимум два поплавка
fmin Минимум два поплавка
фмод по модулю
фракция Положительная дробная часть
frexp Двоичная мантисса и показатель степени
Half_recip Обратные вычисления с точностью до 16 бит.
полу_rsqrt Обратное значение квадратного корня, вычисленное с точностью до 16 бит.
half_sqrt Квадратный корень вычисляется с точностью до 16 бит.
гипотеза Гипотенуза
ilogb Основание две экспоненты
ldexp Создает плавающую точку из мантиссы и экспоненты
lгамма Натуральный логарифм гамма-функции
бревно Натуральный логарифм
журнал10 Логарифм по основанию 10
log1p Натуральный логарифм значения плюс 1
журнал2 Логарифм по основанию 2
журнал Основание две экспоненты
безумный Умножить и добавить
Макс Максимум
мин Минимум
смешивание Смешивает два значения
модф Целые и дробные составляющие
Нэн Не число
nan_half Не число
Native_acos Приблизительный обратный косинус
родной_акош Приблизительный обратный гиперболический косинус
Native_acospi Приблизительный обратный косинус, разделенный на пи
родной_асин Приблизительный обратный синус
родной_асинь Приблизительный обратный гиперболический синус
родной_asinpi Приблизительный обратный синус, разделенный на число пи
родной_атан Приблизительный обратный тангенс
Native_atan2 Приблизительный обратный тангенс отношения
Native_atan2pi Приблизительный обратный тангенс отношения, разделенный на число пи
родной_атан Приблизительный обратный гиперболический тангенс
родной_атанпи Приблизительный обратный тангенс, разделенный на число пи
Native_cbrt Приблизительный кубический корень
родной_cos Приблизительный косинус
Native_cosh Приблизительный гиперболический косинус
Native_cospi Приблизительный косинус числа, умноженного на пи
Native_divide Примерное деление
Native_exp Приблизительное e возведено в число
Native_exp10 Примерно 10 возведено в число
родной_exp2 Примерно 2 возведено в число
Native_expm1 Приблизительное значение e, возведенное в число минус один
Native_hypot Примерная гипотенуза
родной_лог Приблизительный натуральный логарифм
Native_log10 Приблизительный десятичный логарифм
Native_log1p Приблизительный натуральный логарифм значения плюс 1
родной_log2 Приблизительный логарифм по основанию 2
Native_powr Приблизительное положительное основание, возведенное в степень
Native_recip Примерное взаимное
Native_rootn Приблизительный корень n-й степени
Native_rsqrt Приблизительная величина, обратная квадратному корню
родной_син Приблизительный синус
Native_sincos Приблизительные синус и косинус
родной_синх Приблизительный гиперболический синус
родной_синпи Приблизительный синус числа, умноженного на число пи
Native_sqrt Приблизительный квадратный корень
родной_загар Приблизительная тангенс
родной_тан Приблизительный гиперболический тангенс
родной_танпи Приблизительный тангенс числа, умноженного на пи
следующий после Следующее число с плавающей запятой
бах База возведена в степень
паун Основание возведено в целочисленную степень
власть Положительное основание возведено в степень
радианы Преобразует градусы в радианы
остаток Остаток дивизии
ремкво Остаток и частное деления
рвать Округлить до четного
корень N-й корень
круглый Округлить от нуля
rsRand Псевдослучайное число
рскрт обратная квадратному корню
знак Знак значения
грех Синус
синкос Синус и косинус
Синь Гиперболический синус
Синпи Синус числа, умноженного на пи
кврт Квадратный корень
шаг 0, если меньше значения, 1 в противном случае
загар Касательная
Тань Гиперболический тангенс
танпи Тангенс числа, умноженного на пи
тгамма Гамма-функция
ствол Усекает число с плавающей запятой
Устаревшие функции
rsClamp Устарело . Ограничить значение диапазоном
рсФрак Устарело . Возвращает дробную часть числа с плавающей запятой

Константы

M_1_PI : 1/пи, как 32-битное число с плавающей запятой.


Значение: 0,318309886183790671537767526745028724f

Обратное число Пи, как 32-битное число с плавающей запятой.

M_2_PI : 2/пи, как 32-битное число с плавающей запятой.


Значение: 0,636619772367581343075535053490057448f

2, разделенное на число Пи, как 32-битное число с плавающей запятой.

M_2_SQRTPI : 2 / sqrt(pi), как 32-битное число с плавающей запятой.


Значение: 1.128379167095512573896158903121545172f

2, разделенное на квадратный корень из числа Пи, как 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

Константа Пи в виде 32-битного числа с плавающей запятой.

M_PI_2 : pi/2, как 32-битное число с плавающей запятой.


Значение: 1,570796326794896619231321691639751442f

Пи, разделенное на 2, как 32-битное число с плавающей запятой.

M_PI_4 : pi/4, как 32-битное число с плавающей запятой.


Значение: 0,785398163397448309615660845819875721f

Пи, разделенное на 4, как 32-битное число с плавающей запятой.

M_SQRT1_2 : 1 / sqrt(2), как 32-битное число с плавающей запятой.


Значение: 0,707106781186547524400844362104849039f

Обратное значение квадратного корня из 2 в виде 32-битного числа с плавающей запятой.

M_SQRT2 : sqrt(2), как 32-битное число с плавающей запятой.


Значение: 1,414213562373095048801688724209698079f

Квадратный корень из 2 в виде 32-битного числа с плавающей запятой.

Функции

abs : абсолютное значение целого числа.

учар абс (чар 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 (короткое v);
ushort2 abs( short2 v);
ushort3 abs( короткий3 v);
ushort4 abs( short4 v);

Возвращает абсолютное значение целого числа.

Для чисел с плавающей запятой используйте fabs ().

acos : Обратный косинус

поплавок acos (поплавок v);
float2 acos( float2 v);
float3 acos ( float3 v);
float4 acos ( float4 v);
половина акос( половина v); Добавлено на уровне API 24.
половина2 acos( половина2 v); Добавлено на уровне API 24.
полу3 акос( полу3 в); Добавлено на уровне API 24.
полу4 акос( полу4 в); Добавлено на уровне API 24.

Возвращает обратный косинус в радианах.

См. также Native_acos ().

acosh : Обратный гиперболический косинус

поплавок acosh (поплавок v);
float2 acosh( float2 v);
float3 acosh( float3 v);
float4 acosh( float4 v);
половина акоша ( половина v); Добавлено на уровне API 24.
half2 acosh( половина2 v); Добавлено на уровне API 24.
полу3 акош( полу3 в); Добавлено на уровне API 24.
полу4 акош( полу4 в); Добавлено на уровне API 24.

Возвращает обратный гиперболический косинус в радианах.

См. также Native_acosh ().

acospi : обратный косинус, разделенный на число пи.

поплавок acospi (поплавок v);
float2 acospi( float2 v);
float3 acospi( float3 v);
float4 acospi( float4 v);
половина акоспи ( половина v); Добавлено на уровне API 24.
half2 acospi( половина2 v); Добавлено на уровне API 24.
полу3 акоспи( полу3 в); Добавлено на уровне API 24.
полу4 акоспи( полу4 в); Добавлено на уровне API 24.

Возвращает обратный косинус в радианах, деленный на число пи.

Чтобы получить обратный косинус, измеренный в градусах, используйте acospi(a) * 180.f .

См. также Native_acospi ().

asin : обратный синус

поплавок asin (поплавок v);
float2 asin( float2 v);
float3 asin( float3 v);
float4 asin( float4 v);
половина асин( половина v); Добавлено на уровне API 24.
полу2 асин( полу2 v); Добавлено на уровне API 24.
полу3 асин( полу3 в); Добавлено на уровне API 24.
полу4 асин( полу4 в); Добавлено на уровне API 24.

Возвращает обратный синус в радианах.

См. также Native_asin ().

asinh : обратный гиперболический синус.

поплавок asinh (поплавок v);
float2 asinh ( float2 v);
float3 asinh ( float3 v);
float4 asinh ( float4 v);
половина асинх ( половина v); Добавлено на уровне API 24.
полу2 асинх( полу2 в); Добавлено на уровне API 24.
полу3 асинх( полу3 в); Добавлено на уровне API 24.
полу4 асинх( полу4 в); Добавлено на уровне API 24.

Возвращает обратный гиперболический синус в радианах.

См. также Native_asinh ().

asinpi : обратный синус, разделенный на число пи.

поплавок asinpi (поплавок v);
float2 asinpi ( float2 v);
float3 asinpi ( float3 v);
float4 asinpi ( float4 v);
половина asinpi( половина v); Добавлено на уровне API 24.
half2 asinpi ( половина2 v); Добавлено на уровне API 24.
half3 asinpi ( половина3 v); Добавлено на уровне API 24.
half4 asinpi( half4 v); Добавлено на уровне API 24.

Возвращает обратный синус в радианах, разделенный на число Пи.

Чтобы получить обратный синус, измеренный в градусах, используйте asinpi(a) * 180.f .

См. также Native_asinpi ().

atan : обратная тангенс

поплавок Атан (поплавок v);
float2 atan( float2 v);
float3 atan( float3 v);
float4 atan( float4 v);
половина атана ( половина v); Добавлено на уровне API 24.
полу2 атан( полу2 в); Добавлено на уровне API 24.
полу3 атан( полу3 в); Добавлено на уровне API 24.
полу4 атан( полу4 в); Добавлено на уровне API 24.

Возвращает обратный тангенс в радианах.

См. также Native_atan ().

atan2 : Обратный тангенс отношения

float atan2(числитель с плавающей запятой, знаменатель с плавающей запятой);
float2 atan2(числитель float2 , знаменатель float2 );
float3 atan2(числитель float3 , знаменатель float3 );
float4 atan2(числитель float4 , знаменатель float4 );
половина atan2( половина числителя, половина знаменателя); Добавлено на уровне API 24.
половина2 atan2(числитель половина2 , знаменатель половина2 ); Добавлено на уровне API 24.
половина3 atan2(числитель половина3 , знаменатель половина3 ); Добавлено на уровне API 24.
половина4 atan2(числитель половина4 , знаменатель половина4 ); Добавлено на уровне API 24.
Параметры
числитель Числитель.
знаменатель Знаменатель. Может быть 0.

Возвращает обратный тангенс (numerator / denominator) в радианах.

См. также Native_atan2 ().

atan2pi : обратный тангенс отношения, разделенный на число пи.

float atan2pi(числитель с плавающей запятой, знаменатель с плавающей запятой);
float2 atan2pi(числитель float2 , знаменатель float2 );
float3 atan2pi(числитель float3 , знаменатель float3 );
float4 atan2pi(числитель float4 , знаменатель float4 );
половина atan2pi( половина числителя, половина знаменателя); Добавлено на уровне API 24.
half2 atan2pi(числитель half2 , знаменатель half2 ); Добавлено на уровне API 24.
half3 atan2pi(числитель half3 , знаменатель half3 ); Добавлено на уровне API 24.
half4 atan2pi(числитель half4 , знаменатель half4 ); Добавлено на уровне API 24.
Параметры
числитель Числитель.
знаменатель Знаменатель. Может быть 0.

Возвращает обратный тангенс (numerator / denominator) в радианах, разделенный на число пи.

Чтобы получить обратный тангенс, измеренный в градусах, используйте atan2pi(n, d) * 180.f .

См. также Native_atan2pi ().

atanh : обратный гиперболический тангенс

поплавок atanh (поплавок v);
float2 atanh ( float2 v);
float3 atanh ( float3 v);
float4 atanh ( float4 v);
половина атана ( половина v); Добавлено на уровне API 24.
Half2 atanh ( половина2 v); Добавлено на уровне API 24.
Half3 atanh ( полу3 v); Добавлено на уровне API 24.
полу4 атаня( полу4 в); Добавлено на уровне API 24.

Возвращает обратный гиперболический тангенс в радианах.

См. также Native_atanh ().

atanpi : обратный тангенс, разделенный на число пи.

поплавок атанпи (поплавок v);
float2 atanpi( float2 v);
float3 atanpi( float3 v);
float4 atanpi( float4 v);
половина атанпи ( половина v); Добавлено на уровне API 24.
полу2 атанпи( полу2 в); Добавлено на уровне API 24.
полу3 атанпи( полу3 в); Добавлено на уровне API 24.
полу4 атанпи( полу4 в); Добавлено на уровне API 24.

Возвращает обратный тангенс в радианах, деленный на число пи.

Чтобы получить обратный тангенс, измеренный в градусах, используйте atanpi(a) * 180.f .

См. также Native_atanpi ().

cbrt : корень куба

поплавок cbrt (поплавок v);
float2 cbrt( float2 v);
float3 cbrt( float3 v);
float4 cbrt( float4 v);
половина cbrt( половина v); Добавлено на уровне API 24.
half2 cbrt( половина2 v); Добавлено на уровне API 24.
half3 cbrt( полу3 v); Добавлено на уровне API 24.
Half4 cbrt ( полу4 В); Добавлено на уровне API 24.

Возвращает корень куба.

См. также Native_cbrt ().

ceil : наименьшее целое число, не меньшее значения.

плавающая ячейка (поплавок v);
float2 ячейка ( float2 v);
float3 ячейка ( float3 v);
float4 ячейка ( float4 v);
половина ячейки ( половина v); Добавлено на уровне API 24.
половина2 ячейка( полу2 В); Добавлено на уровне API 24.
половина3 ячейка( полу3 В); Добавлено на уровне API 24.
полу4 ячейки ( полу4 В); Добавлено на уровне API 24.

Возвращает наименьшее целое число, не меньшее значения.

Например, ceil(1.2f) возвращает 2.f, а ceil(-1.2f) возвращает -1.f.

См. также пол ().

зажим : Ограничить значение диапазоном

char зажим (значение символа, минимальное_значение символа, максимальное_значение символа); Добавлено на уровне API 19.
char2 зажим(значение char2 , char min_value, char max_value); Добавлено на уровне API 19.
зажим char2 (значение char2 , min_value char2 , max_value char2 ); Добавлено на уровне API 19.
зажим char3 (значение char3 , min_value char, max_value char); Добавлено на уровне API 19.
зажим char3 (значение char3 , min_value char3 , max_value char3 ); Добавлено на уровне API 19.
char4 зажим (значение char4 , char min_value, char max_value); Добавлено на уровне API 19.
зажим char4 (значение char4 , min_value char4 , max_value char4 ); Добавлено на уровне API 19.
Зажим с плавающей запятой (значение с плавающей запятой, минимальное_значение с плавающей запятой, максимальное_значение с плавающей запятой);
Зажим float2 (значение float2 , минимальное_значение с плавающей запятой, максимальное_значение с плавающей запятой);
Зажим float2 (значение float2 , min_value float2 , max_value float2 );
Зажим float3 (значение float3 , min_value с плавающей запятой, max_value с плавающей запятой);
float3 зажим(значение float3 , min_value float3 , max_value float3 );
float4 зажим(значение float4 , float min_value, float max_value);
float4 зажим(значение float4 , min_value float4 , max_value float4 );
половина зажима ( половина значения, половина минимального_значения, половина максимального_значения); Добавлено на уровне API 24.
зажим half2 (значение half2 , половина min_value, половина max_value); Добавлено на уровне API 24.
зажим Half2 (значение Half2 , Min_value Half2 , Max_value Half2 ); Добавлено на уровне API 24.
зажим half3 (значение half3 , половина min_value, половина max_value); Добавлено на уровне API 24.
зажим half3 (значение half3 , min_value half3 , max_value half3 ); Добавлено на уровне API 24.
зажим half4 (значение half4 , половина min_value, половина max_value); Добавлено на уровне API 24.
зажим Half4 (значение Half4 , Min_value Half4 , Max_value Half4 ); Добавлено на уровне API 24.
int clip(int value, int min_value, int max_value); Добавлено на уровне API 19.
int2 зажим(значение int2 , int min_value, int max_value); Добавлено на уровне API 19.
int2 зажим(значение int2 , min_value int2 , max_value int2 ); Добавлено на уровне API 19.
int3 зажим(значение int3 , int min_value, int max_value); Добавлено на уровне API 19.
int3 зажим(значение int3 , int3 min_value, int3 max_value); Добавлено на уровне API 19.
int4 зажим(значение int4 , int min_value, int max_value); Добавлено на уровне API 19.
int4 зажим(значение int4 , int4 min_value, int4 max_value); Добавлено на уровне API 19.
длинный зажим (длинное значение, длинное минимальное_значение, длинное максимальное_значение); Добавлено на уровне API 19.
зажим long2 (значение long2 , длинное min_value, длинное max_value); Добавлено на уровне API 19.
зажим long2 (значение long2 , min_value long2 , max_value long2 ); Добавлено на уровне API 19.
зажим long3 (значение long3 , длинное min_value, длинное max_value); Добавлено на уровне API 19.
зажим long3 (значение long3 , min_value long3 , max_value long3 ); Добавлено на уровне API 19.
long4 зажим ( длинное значение 4, длинное минимальное_значение, длинное максимальное_значение); Добавлено на уровне API 19.
зажим long4 (значение long4 , min_value long4 , max_value long4 ); Добавлено на уровне API 19.
короткий зажим (короткое значение, короткое минимальное_значение, короткое максимальное_значение); Добавлено на уровне API 19.
зажим short2 (значение short2 , короткое min_value, короткое max_value); Добавлено на уровне API 19.
зажим short2 (значение short2 , min_value short2 , max_value short2 ); Добавлено на уровне API 19.
зажим short3 (значение short3 , короткое min_value, короткое max_value); Добавлено на уровне API 19.
зажим short3 (значение short3 , min_value short3 , max_value short3 ); Добавлено на уровне API 19.
зажим short4 (значение short4 , короткое min_value, короткое max_value); Добавлено на уровне API 19.
Зажим short4 (значение short4 , min_value short4 , max_value short4 ); Добавлено на уровне API 19.
uchar зажим (значение uchar , min_value uchar , max_value uchar ); Добавлено на уровне API 19.
uchar2 зажим (значение uchar2 , min_value uchar , max_value uchar ); Добавлено на уровне API 19.
uchar2 зажим (значение uchar2 , min_value uchar2 , max_value uchar2 ); Добавлено на уровне API 19.
uchar3 зажим (значение uchar3 , min_value uchar , max_value uchar ); Добавлено на уровне API 19.
uchar3 зажим (значение uchar3 , min_value uchar3 , max_value uchar3 ); Добавлено на уровне API 19.
uchar4 зажим (значение uchar4 , min_value uchar , max_value uchar ); Добавлено на уровне API 19.
uchar4 зажим (значение uchar4 , min_value uchar4 , max_value uchar4 ); Добавлено на уровне API 19.
uint зажим (значение uint , min_value uint , max_value uint ); Добавлено на уровне API 19.
uint2 зажим (значение uint2 , min_value uint , max_value uint ); Добавлено на уровне API 19.
uint2 зажим (значение uint2 , min_value uint2 , max_value uint2 ); Добавлено на уровне API 19.
uint3 зажим (значение uint3 , uint min_value, uint max_value); Добавлено на уровне API 19.
uint3 зажим (значение uint3 , min_value uint3 , max_value uint3 ); Добавлено на уровне API 19.
uint4 зажим (значение uint4 , uint min_value, uint max_value); Добавлено на уровне API 19.
uint4 зажим (значение uint4 , min_value uint4 , max_value uint4 ); Добавлено на уровне API 19.
ulong зажим (значение ulong , min_value ulong , max_value ulong ); Добавлено на уровне API 19.
ulong2 зажим (значение ulong2 , ulong min_value, ulong max_value); Добавлено на уровне API 19.
ulong2 зажим (значение ulong2 , min_value ulong2 , max_value ulong2 ); Добавлено на уровне API 19.
ulong3 зажим (значение ulong3 , ulong min_value, ulong max_value); Добавлено на уровне API 19.
ulong3 зажим (значение ulong3 , min_value ulong3 , max_value ulong3 ); Добавлено на уровне API 19.
ulong4 зажим (значение ulong4 , ulong min_value, ulong max_value); Добавлено на уровне API 19.
ulong4 зажим (значение ulong4 , ulong4 min_value, ulong4 max_value); Добавлено на уровне API 19.
ushort зажим( ushort value, 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.
Параметры
ценить Значение, которое необходимо зафиксировать.
минимальное_значение Нижняя граница, скаляр или соответствующий вектор.
максимальное_значение Верхняя граница должна соответствовать типу минимума.

Прижимает значение к указанной верхней и нижней границе. Clamp() возвращает min_value, если значение < min_value, max_value, если значение > max_value, в противном случае — значение.

Существует два варианта фиксации: один, где min и max — это скаляры, применяемые ко всем записям значения, другой, где min и max также являются векторами.

Если min_value больше max_value, результаты не определены.

clz : количество ведущих нулевых битов.

char clz (значение символа);
char2 clz (значение char2 );
char3 clz (значение char3 );
char4 clz (значение char4 );
int clz (целое значение);
int2 clz (значение int2 );
int3 clz (значение int3 );
int4 clz (значение int4 );
короткий clz (короткое значение);
short2 clz (значение short2 );
short3 clz (значение short3 );
short4 clz (значение short4 );
uchar clz (значение uchar );
uchar2 clz (значение uchar2 );
uchar3 clz (значение uchar3 );
uchar4 clz (значение uchar4 );
uint clz (значение uint );
uint2 clz (значение uint2 );
uint3 clz (значение uint3 );
uint4 clz (значение uint4 );
ushort clz (значение ushort );
ushort2 clz (значение ushort2 );
ushort3 clz (значение ushort3 );
ushort4 clz (значение ushort4 );

Возвращает количество ведущих нулевых битов в значении.

Например, clz((char)0x03) возвращает 6.

copysign : копирует знак числа в другой.

float copysign (плавающее значение_значения, плавающее значение_знака);
float2 copysign( float2 value_value, float2 Sign_value);
float3 copysign( float3 value_value, float3 Sign_value);
float4 copysign( float4 value_value, float4 Sign_value);
половина copysign ( половина значения_значения, половина значения_знака); Добавлено на уровне API 24.
Half2 copysign ( половина2 величина_значение, половина2 знак_значение); Добавлено на уровне API 24.
Half3 copysign ( половина3 величина_значение, половина3 знак_значение); Добавлено на уровне API 24.
Half4 copysign ( половина4 величина_значение, половина4 знак_значение); Добавлено на уровне API 24.

Копирует знак из знака_значение в значение_величины.

Возвращаемое значение — либо величина_значение, либо -величина_значение.

Например, copysign(4.0f, -2.7f) возвращает -4.0f, а copysign(-4.0f, 2.7f) возвращает 4.0f.

потому что : косинус

поплавок, потому что (поплавок v);
float2 cos( float2 v);
float3 cos( float3 v);
float4 потому что ( float4 v);
половина cos( половина v); Добавлено на уровне API 24.
half2 cos( половина2 v); Добавлено на уровне API 24.
half3 cos( половина3 v); Добавлено на уровне API 24.
полу4 соз( полу4 В); Добавлено на уровне API 24.

Возвращает косинус угла, измеренный в радианах.

См. также Native_cos ().

cosh : гиперболический косинус

поплавок шиш (поплавок v);
float2 cosh( float2 v);
float3 cosh( float3 v);
float4 cosh( float4 v);
половина шош( половина v); Добавлено на уровне API 24.
half2 cosh( половина2 v); Добавлено на уровне API 24.
полу3 шош( полу3 в); Добавлено на уровне API 24.
полу4 кош( полу4 в); Добавлено на уровне API 24.

Возвращает гиперболический косинус v, где v измеряется в радианах.

См. также Native_cosh ().

cospi : косинус числа, умноженного на пи.

поплавок cospi (поплавок v);
float2 cospi( float2 v);
float3 cospi( float3 v);
float4 cospi( float4 v);
половина коспи ( половина v); Добавлено на уровне API 24.
half2 cospi( половина2 v); Добавлено на уровне API 24.
полу3 cospi( полу3 v); Добавлено на уровне API 24.
полу4 cospi( полу4 v); Добавлено на уровне API 24.

Возвращает косинус (v * pi) , где (v * pi) измеряется в радианах.

Чтобы получить косинус значения, измеренного в градусах, вызовите cospi(v / 180.f) .

См. также Native_cospi ().

градусов : конвертирует радианы в градусы.

градусы с плавающей запятой (float v);
float2 градуса( float2 v);
float3 градуса( float3 v);
float4 градуса( float4 v);
полградуса ( половина v); Добавлено на уровне API 24.
полу2 градуса ( полу2 В); Добавлено на уровне API 24.
пол3 градуса ( полу3 В); Добавлено на уровне API 24.
полу4 градуса ( полу4 В); Добавлено на уровне API 24.

Преобразует радианы в градусы.

erf : Функция математической ошибки

поплавок erf (поплавок v);
float2 erf( float2 v);
float3 erf( float3 v);
float4 erf( float4 v);
полэрф ( половина v); Добавлено на уровне API 24.
полу2 эрф( пол2 в); Добавлено на уровне API 24.
полу3 эрф( полу3 в); Добавлено на уровне API 24.
полу4 эрф( полу4 в); Добавлено на уровне API 24.

Возвращает функцию ошибки.

erfc : Математическая дополнительная функция ошибок.

поплавок erfc (поплавок v);
float2 erfc( float2 v);
float3 erfc( float3 v);
float4 erfc( float4 v);
половина erfc( половина v); Добавлено на уровне API 24.
полу2 erfc( полу2 v); Добавлено на уровне API 24.
half3 erfc( полу3 v); Добавлено на уровне API 24.
полу4 erfc( полу4 в); Добавлено на уровне API 24.

Возвращает дополнительную функцию ошибок.

exp : e возведено в число

поплавок exp (поплавок v);
float2 exp( float2 v);
float3 exp( float3 v);
float4 exp( float4 v);
половина exp( половина v); Добавлено на уровне API 24.
Half2 exp( Half2 v); Добавлено на уровне API 24.
половина3 exp( полу3 v); Добавлено на уровне API 24.
полу4 ехр( полу4 v); Добавлено на уровне API 24.

Возвращает e, возведенное в v, т.е. e ^ v.

См. также Native_exp ().

exp10 : 10 возведено в число

поплавок exp10 (поплавок v);
float2 exp10( float2 v);
float3 exp10( float3 v);
float4 exp10( float4 v);
половина exp10( половина v); Добавлено на уровне API 24.
половина2 exp10( половина2 v); Добавлено на уровне API 24.
половина3 exp10( полу3 v); Добавлено на уровне API 24.
полу4 ехр10( полу4 v); Добавлено на уровне API 24.

Возвращает 10, возведенную в v, т.е. 10.f ^ v.

См. также Native_exp10 ().

exp2 : 2 возведено в число

поплавок exp2 (поплавок v);
float2 exp2( float2 v);
float3 exp2( float3 v);
float4 exp2( float4 v);
половина exp2( половина v); Добавлено на уровне API 24.
половина2 exp2( полу2 v); Добавлено на уровне API 24.
полу3 ехр2( полу3 v); Добавлено на уровне API 24.
полу4 ехр2( полу4 v); Добавлено на уровне API 24.

Возвращает 2, возведенное в v, т.е. 2.f ^ v.

См. также Native_exp2 ().

expm1 : e возведено в число минус один

плавающее выражение1 (плавающее v);
float2 expm1( float2 v);
float3 expm1( float3 v);
float4 expm1( float4 v);
половина expm1( половина v); Добавлено на уровне API 24.
Half2 expm1( Half2 v); Добавлено на уровне API 24.
Half3 expm1( Half3 v); Добавлено на уровне API 24.
half4 expm1( полу4 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);
половина фабов ( половина v); Добавлено на уровне API 24.
Half2 Fabs( Half2 v); Добавлено на уровне API 24.
Half3 Fabs( Half3 v); Добавлено на уровне API 24.
Half4 Fabs( Half4 v); Добавлено на уровне API 24.

Возвращает абсолютное значение числа с плавающей запятой v.

Для целых чисел используйте abs ().

fdim : Положительная разница между двумя значениями.

поплавок fdim (поплавок a, поплавок b);
float2 fdim( float2 a, float2 b);
float3 fdim( float3 a, float3 b);
float4 fdim( float4 a, float4 b);
половина fdim( половина a, половина 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 : Наименьшее целое число, не превышающее значение

плавающий пол (плавающий v);
пол float2 ( float2 v);
пол float3 ( float3 v);
пол float4 ( float4 v);
пол этажа ( половина v); Добавлено на уровне API 24.
пол2 этаж( пол2в ); Добавлено на уровне API 24.
пол3 этаж( пол3в ); Добавлено на уровне API 24.
пол4 этаж( пол4в ); Добавлено на уровне API 24.

Возвращает наименьшее целое число, не превышающее значение.

Например, floor(1.2f) возвращает 1.f, а floor(-1.2f) возвращает -2.f.

См. также ячейку ().

fma : умножить и сложить

float fma(число с плавающей запятой1, множимое с плавающей запятой2, смещение с плавающей запятой);
float2 fma(множимое с плавающей запятой2, множимое с плавающей точкой2, множимое с плавающей запятой2 , смещение с плавающей запятой2 );
float3 fma(множимое float31 , множимое float32 , смещение float3 );
float4 fma(множимое float41 , множимое float42 , смещение float4 );
половина fma( половина множимого1, половина множимого2, половина смещения); Добавлено на уровне API 24.
half2 fma( множимое Half21 , множимое Half22 , смещение Half2 ); Добавлено на уровне API 24.
half3 fma( множимое Half31 , множимое Half32 , смещение Half3 ); Добавлено на уровне API 24.
half4 fma( множимое Half41 , множимое Half42 , смещение Half4 ); Добавлено на уровне API 24.

Умножьте и добавьте. Возвращает (multiplicand1 * multiplicand2) + offset .

Эта функция похожа на mad (). fma() сохраняет полную точность результата умножения и округляет его только после сложения. mad () раундов после умножения и сложения. Эта дополнительная точность не гарантируется в режиме rs_fp_relaxed.

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);
половина fmax( половина a, половина 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.
полу4 fmax( полу4 а, полу4 б); Добавлено на уровне 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);
половина fmin( половина a, половина b); Добавлено на уровне API 24.
половина2 fmin( полу2 а, половина б); Добавлено на уровне API 24.
полу2 fmin( пол2 а, полу2 б); Добавлено на уровне API 24.
полу3 fmin( половина3 а, половина б); Добавлено на уровне API 24.
полу3 fmin( пол3 а, полу3 б); Добавлено на уровне API 24.
полу4 fmin( половина4 а, половина b); Добавлено на уровне API 24.
полу4 fmin( полу4 а, полу4 б); Добавлено на уровне API 24.

Возвращает минимум a и b, т.е. (a > b ? b : a) .

Функция min () возвращает идентичные результаты, но ее можно применять к большему количеству типов данных.

fmod : по модулю

float fmod(числитель с плавающей запятой, знаменатель с плавающей запятой);
float2 fmod(числитель float2 , знаменатель float2 );
float3 fmod(числитель float3 , знаменатель float3 );
float4 fmod(числитель float4 , знаменатель float4 );
половина fmod( половина числителя, половина знаменателя); Добавлено на уровне API 24.
half2 fmod(числитель half2 , знаменатель half2 ); Добавлено на уровне API 24.
half3 fmod(числитель half3 , знаменатель half3 ); Добавлено на уровне API 24.
half4 fmod(числитель half4 , знаменатель half4 ); Добавлено на уровне API 24.

Возвращает остаток от (числитель/знаменатель), где частное округляется в сторону нуля.

Функция остаток () аналогична, но округляется в сторону ближайшего целого числа. Например, fmod(-3.8f, 2.f) возвращает -1,8f (-3,8f - -1.f * 2.f), а remainder (-3.8f, 2.f) возвращает 0,2f (-3,8f - -2.f * 2.f).

Fract : Положительная дробная часть

дробь с плавающей запятой (float v);
float fract(float v, float*floor);
дробь float2 ( 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);
половинная дробь ( половина v); Добавлено на уровне API 24.
половина дроби( половина v, половина *пол); Добавлено на уровне API 24.
половина2 дробь( пол2 v); Добавлено на уровне API 24.
половина2 фракция( пол2 v, половина2 * пол); Добавлено на уровне API 24.
половина3 дробь( полу3 v); Добавлено на уровне API 24.
половина3 фракция( пол3 v, половина3 * пол); Добавлено на уровне API 24.
половина4 дробь( полу4 v); Добавлено на уровне API 24.
половина4 фракция( полу4 v, половина4 * пол); Добавлено на уровне API 24.
Параметры
в Входное значение.
пол Если Floor не равно нулю, *floor будет установлен на уровне v.

Возвращает положительную дробную часть v, т.е. v - floor(v) .

Например, fract(1.3f, &val) возвращает 0,3f и устанавливает val равным 1.f. fract(-1.3f, &val) возвращает 0,7f и устанавливает значение -2.f.

frexp : Двоичная мантисса и показатель степени

float frexp(float v, int* показатель);
float2 frexp( float2 v, int2 * экспонента);
float3 frexp( float3 v, int3 * экспонента);
float4 frexp( float4 v, int4 * экспонента);
половина frexp( половина 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, т.е. v == mantissa * 2 ^ exponent .

Мантисса всегда находится в диапазоне от 0,5 (включительно) до 1,0 (не включая).

См. ldexp () для обратной операции. См. также logb () и ilogb ().

half_recip : Обратное вычисление с точностью до 16 бит.

поплавок half_recip (поплавок v); Добавлено на уровне API 17.
float2 half_recip( float2 v); Добавлено на уровне API 17.
float3 half_recip( float3 v); Добавлено на уровне API 17.
float4 half_recip ( float4 v); Добавлено на уровне API 17.

Возвращает приблизительное обратное значение.

Точность соответствует 16-битному значению с плавающей запятой.

См. также Native_recip ().

half_rsqrt : обратная величина квадратного корня, вычисленная с точностью до 16 бит.

поплавок half_rsqrt (поплавок v); Добавлено на уровне API 17.
float2 half_rsqrt( float2 v); Добавлено на уровне API 17.
float3 half_rsqrt ( float3 v); Добавлено на уровне API 17.
float4 half_rsqrt ( float4 v); Добавлено на уровне API 17.

Возвращает приблизительное значение (1.f / sqrt(value)) .

Точность соответствует 16-битному значению с плавающей запятой.

См. также rsqrt (), native_rsqrt ().

Half_sqrt : Square Root, вычисленный до 16 бит -точки

float lalf_sqrt (float v); Добавлено на уровне API 17.
float2 Half_sqrt ( float2 V); Добавлено на уровне API 17.
float3 Half_sqrt ( float3 V); Добавлено на уровне API 17.
float4 Half_sqrt ( float4 V); Добавлено на уровне API 17.

Возвращает приблизительный квадратный корень значения.

Точность - это точность 16 -битного значения плавающей точки.

См. Также SQRT (), Native_SQRT ().

Гипо : гипотенуза

плавание гипот (float a, float b);
float2 гипот ( float2 a, float2 b);
float3 гипот ( float3 a, float3 b);
float4 гипот ( float4 a, float4 b);
половина гипота ( половина , половина б); Добавлен на уровне API 24
половина 2 гипота ( половина 2 а, половина 2 б); Добавлен на уровне API 24
половина 3 гипота ( половина 3 а, половина3 б); Добавлен на уровне API 24
половина 4 гипота ( половина 4 а, половина 4 б); Добавлен на уровне API 24

Возвращает гипотенузу, то есть sqrt(a * a + b * b) .

См. Также Native_hypot ().

ilogb : база два экспонента

int ilogb (float v);
int ilogb ( половина V); Добавлен на уровне API 24
int2 ilogb ( float2 V);
int2 ilogb ( половина 2 В); Добавлен на уровне API 24
int3 ilogb ( float3 V);
int3 ilogb ( половина 3 В); Добавлен на уровне API 24
int4 ilogb ( float4 v);
int4 ilogb ( половина 4 В); Добавлен на уровне API 24

Возвращает базовый два показателя значения, где Mantissa находится между 1.F (включительно) и 2.F (Exclusive).

Например, ilogb(8.5f) возвращает 3.

Из -за разницы в мантиссе это число меньше, чем возвращается FREXP ().

logb () похож, но возвращает поплавок.

LDEXP : создает плавающую точку

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 Exponent);
float4 ldexp ( float4 mantissa, int exponent);
float4 ldexp ( float4 mantissa, int4 -экспонент);
Половина LDEXP ( Half Mantissa, Int Exponent); Добавлен на уровне API 24
Half2 LDEXP ( Half2 Mantissa, Int Exponent); Добавлен на уровне API 24
Half2 LDEXP ( Half2 Mantissa, Int2 Exponent); Добавлен на уровне API 24
Half3 LDEXP ( половина3 Mantissa, Int Exponent); Добавлен на уровне API 24
Half3 Ldexp ( половина3 Mantissa, Int3 Exponent); Добавлен на уровне API 24
Половина 4 Ldexp ( половина 4 Mantissa, Int Exponent); Добавлен на уровне API 24
Половина 4 Ldexp ( половина 4 Mantissa, Int4 Exponent); Добавлен на уровне API 24
Параметры
мантисса Мантисса.
показатель степени Показатель, один компонент или соответствующий вектор.

Возвращает плавающую точку, созданную из мантиссы и показателя, то есть (Mantissa * 2 ^ Exponent).

См. FREXP () для обратной работы.

Lgamma : естественный логарифм гамма -функции

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);
половина Lgamma ( половина V); Добавлен на уровне API 24
Половина Lgamma ( половина V, int* sign_of_gamma); Добавлен на уровне API 24
половина 2 lgamma ( половина 2 В); Добавлен на уровне API 24
Half2 Lgamma ( Half2 V, int2 * sign_of_gamma); Добавлен на уровне API 24
половина3 lgamma ( половина 3 В); Добавлен на уровне API 24
половина3 lgamma ( половина 3 V, int3 * sign_of_gamma); Добавлен на уровне API 24
Половина 4 Lgamma ( половина 4 В); Добавлен на уровне API 24
Половина 4 Lgamma ( Half4 V, int4 * sign_of_gamma); Добавлен на уровне API 24
Параметры
в
sign_of_gamma Если sign_of_gamma не является нулевой, *sign_of_gamma будет установлен на -1.f, если гамма V отрицательна, в противном случае до 1.f.

Возвращает естественный логарифм абсолютного значения гамма -функции, т.е. log ( fabs ( tgamma (v))) .

См. Также Tgamma ().

Журнал : естественный логарифм

float log (float v);
float2 log ( float2 V);
float3 log ( float3 V);
float4 log ( float4 v);
половина журнала ( половина V); Добавлен на уровне API 24
Half2 Log ( Half2 V); Добавлен на уровне API 24
Half3 Log ( Half3 V); Добавлен на уровне API 24
Половина 4 журнала ( половина 4 В); Добавлен на уровне API 24

Возвращает естественный логарифм.

См. Также Native_log ().

log10 : база 10 логарифм

float log10 (float v);
float2 log10 ( float2 V);
float3 log10 ( float3 V);
float4 log10 ( float4 v);
половина log10 ( половина V); Добавлен на уровне API 24
Half2 log10 ( половина 2 В); Добавлен на уровне API 24
половина 3 log10 ( половина 3 В); Добавлен на уровне API 24
Половина 4 log10 ( половина 4 В); Добавлен на уровне API 24

Возвращает базу 10 логарифм.

См. Также Native_log10 ().

log1p : естественный логарифм значения плюс 1

float log1p (float v);
float2 log1p ( float2 V);
float3 log1p ( float3 V);
float4 log1p ( float4 V);
половина log1p ( половина V); Добавлен на уровне API 24
половина 2 log1p ( половина 2 В); Добавлен на уровне API 24
Half3 log1p ( половина 3 В); Добавлен на уровне API 24
половина 4 log1p ( половина 4 В); Добавлен на уровне 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);
половина log2 ( половина V); Добавлен на уровне API 24
половина 2 log2 ( половина 2 В); Добавлен на уровне API 24
Half3 log2 ( половина 3 В); Добавлен на уровне API 24
половина 4 log2 ( половина 4 В); Добавлен на уровне API 24

Возвращает логарифм базы 2.

См. Также Native_log2 ().

logb : база два показателя

float logb (float v);
float2 logb ( float2 V);
float3 logb ( float3 V);
float4 logb ( float4 v);
половина logb ( половина V); Добавлен на уровне API 24
Half2 logb ( половина 2 В); Добавлен на уровне API 24
Half3 logb ( половина 3 В); Добавлен на уровне API 24
Половина 4 logb ( половина 4 В); Добавлен на уровне API 24

Возвращает базовый два показателя значения, где Mantissa находится между 1.F (включительно) и 2.F (Exclusive).

Например, logb(8.5f) возвращает 3.f.

Из -за разницы в мантиссе это число меньше, чем возвращается FREXP ().

ilogb () похож, но возвращает целое число.

сумасшедший : умножьте и добавьте

Float Mad (Float MultiplicLyCand1, Float MultipliclicAnd2, Float Offset);
float2 mad ( float2 multipliclicAnd1, float2 multipliclicAnd2, float2 смещение);
float3 mad ( float3 multipliclicAnd1, float3 multipliclicAnd2, float3 смещение);
float4 mad ( float4 multipliclicAnd1, float4 multipliclicAnd2, float4 смещение);
наполовину сумасшедший ( наполовину множитель, 2, наполовину множитель, 2, смещение); Добавлен на уровне API 24
Половина 2 MAD ( половина 2 MultiPliclAnd1, Half2 MultiplicLyCand2, половина 2 смещения); Добавлен на уровне API 24
Половина 3 MAD ( половина 3 ulliplicAnd1, Half3 MultipliclAnd2, половина 3 смещения); Добавлен на уровне API 24
Половина 4 безумно ( половина 4 ullipliclAnd1, половина 4 ullipliclAnd2, половина 4 смещения); Добавлен на уровне API 24

Умножьте и добавьте. Возврат (multiplicand1 * multiplicand2) + offset .

Эта функция похожа на FMA (). FMA () сохраняет полную точность умноженного результата и раунды только после добавления. mad () раунды после умножения и дополнения. В режиме RS_FP_RELAXED MAD () может не выполнять округление после мультипликата.

Макс : Максимум

Чар Макс (Чар А, Чар Б);
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);
Половина Макса ( половина a, половина б); Добавлен на уровне API 24
половина 2 макс ( половина 2 а, половина б); Добавлен на уровне API 24
половина2 макс ( половина 2 а, половина 2 б); Добавлен на уровне API 24
половина 3 макс ( половина 3 а, половина б); Добавлен на уровне API 24
половина 3 макс ( половина 3 а, половина3 б); Добавлен на уровне API 24
половина 4 макс ( половина 4 а, половина б); Добавлен на уровне API 24
половина 4 макс ( половина 4 а, половина 4 б); Добавлен на уровне 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);
длинный макс (длинный, длинный б); Добавлен на уровне 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
короткий макс (короткий а, короткий б);
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);

Возвращает максимальное значение двух аргументов.

Мин : минимум

Чар Мин (Чар А, Чар Б);
Char2 мин ( Char2 a, char2 b);
Char3 мин ( Char3 a, char3 b);
char4 мин ( Char4 a, char4 b);
float min (float a, float b);
float2 min ( float2 a, float b);
float2 мин ( float2 a, float2 b);
float3 мин ( float3 a, float b);
float3 мин ( Float3 A, Float3 B);
float4 мин ( float4 a, float b);
float4 мин ( float4 a, float4 b);
полмин ( половина , половина б); Добавлен на уровне API 24
половина 2 мин ( половина 2 а, половина б); Добавлен на уровне API 24
половина 2 мин ( половина 2 а, половина 2 б); Добавлен на уровне API 24
пол3 мин ( половина 3 а, половина б); Добавлен на уровне API 24
пол3 мин ( половина 3 а, половина 3 б); Добавлен на уровне API 24
Пол -4 мин ( половина 4 а, половина б); Добавлен на уровне API 24
Пол -4 мин ( половина 4 а, пол 4 б); Добавлен на уровне API 24
int min (int a, int b);
int2 min ( int2 a, int2 b);
int3 мин ( int3 a, int3 b);
int4 мин ( int4 a, int4 b);
длинная мин (длинная а, длинная б); Добавлен на уровне API 21
Long2 мин ( Long2 A, Long2 B); Добавлен на уровне API 21
Long3 мин ( Long3 A, Long3 B); Добавлен на уровне API 21
Long4 мин ( Long4 A, Long4 B); Добавлен на уровне API 21
короткая мин (короткий а, короткий б);
Short2 мин ( Short2 A, Short2 B);
Short3 мин ( Short3 A, Short3 B);
Short4 мин ( Short4 A, Short4 B);
uchar min ( uchar a, uchar b);
UCHAR2 мин ( UCHAR2 A, UCHAR2 B);
UCHAR3 мин ( UCHAR3 A, UCHAR3 B);
UCHAR4 MIN ( UCHAR4 A, UCHAR4 B);
uint min ( uint a, uint b);
uint2 min ( uint2 a, uint2 b);
uint3 мин ( uint3 a, uint3 b);
uint4 мин ( uint4 a, uint4 b);
Ulong min ( Ulong a, ulong b); Добавлен на уровне API 21
Ulong2 мин ( Ulong2 A, Ulong2 B); Добавлен на уровне API 21
ulong3 мин ( Ulong3 a, ulong3 b); Добавлен на уровне API 21
Ulong4 мин ( 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 мин ( USHORT4 A, USHORT4 B);

Возвращает минимальное значение двух аргументов.

Микс : смешивает два значения

Float Mix (Float Start, Float Stop, Float Fraction);
Float2 Mix ( Float2 Start, Float2 Stop, Float Fraction);
Float2 Mix ( Float2 Start, Float2 Stop, Float2 -фракция);
Float3 Mix ( Float3 Start, Float3 Stop, Float Fraction);
Float3 Mix ( Float3 Start, Float3 Stop, Float3 фракция);
Float4 Mix ( Float4 Start, Float4 Stop, Float Fraction);
Float4 Mix ( Float4 Start, Float4 Stop, Float4 фракция);
Половина микса ( половина старта, половина остановки, половина фракции); Добавлен на уровне API 24
Половина 2 смесь ( половина 2 старта, половина 2 остановки, половина фракции); Добавлен на уровне API 24
половина 2 смесь ( половина 2 старта, половина 2 остановки, половина 2 фракции); Добавлен на уровне API 24
Половина 3 смесь ( половина 3 старта, половина 3 остановки, половина фракции); Добавлен на уровне API 24
половина3 смесь ( половина3 старта, половина 3 остановки, половина 3 -й фракции); Добавлен на уровне API 24
половина 4 смесь ( половина 4 старта, половина 4 остановки, половина фракции); Добавлен на уровне API 24
Половина 4 смесь ( половина 4 старта, половина 4 остановки, половина 4 фракции); Добавлен на уровне API 24

Возвращает start + ((Stop - Start) * Фракция).

Это может быть полезно для смешивания двух значений. Например, чтобы создать новый цвет, который составляет 40% Color1 и 60% Color2, используйте 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);
Половина modf ( половина V, половина * Integral_part); Добавлен на уровне API 24
половина 2 modf ( половина 2 В, полу 2 * Integral_part); Добавлен на уровне API 24
Half3 Modf ( Half3 V, Half3 * Integral_Part); Добавлен на уровне API 24
половина4 modf ( половина 4 V, полу 4 * Integral_part); Добавлен на уровне API 24
Параметры
в Источник значения.
Integral_part *Integral_part будет установлена ​​на интегральную часть номера.
Возврат
Плавающая часть значения.

Возвращает интегральные и дробные компоненты числа.

Оба компонента будут иметь тот же знак, что и X. Например, для ввода -3,72F *Integral_part будет установлен на -3.f, а 0,72f будет возвращен.

Нэн : не число

Float Nan ( Uint V);
Параметры
в Не используется.

Возвращает значение NAN (не число).

nan_half : не число

половина nan_half (); Добавлен на уровне API 24

Возвращает полуопределение плавающей запятой значения NAN (не число).

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 ( половина V); Добавлен на уровне API 24
Half2 Native_acos ( половина 2 В); Добавлен на уровне API 24
Half3 Native_acos ( половина 3 В); Добавлен на уровне API 24
Half4 Native_acos ( половина 4 В); Добавлен на уровне API 24

Возвращает приблизительный обратный косинус в радианах.

Эта функция дает неопределенные результаты от входных значений менее -1 или более 1.

См. Также ACOS ().

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 ( половина V); Добавлен на уровне API 24
Half2 Native_acosh ( половина 2 В); Добавлен на уровне API 24
Half3 Native_acosh ( половина 3 В); Добавлен на уровне API 24
Half4 Native_acosh ( половина 4 В); Добавлен на уровне 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
половина Native_acospi ( половина V); Добавлен на уровне API 24
Half2 Native_acospi ( Half2 V); Добавлен на уровне API 24
Half3 Native_acospi ( половина 3 В); Добавлен на уровне API 24
половина 4 Native_acospi ( половина 4 В); Добавлен на уровне 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
половина Native_asin ( половина V); Добавлен на уровне API 24
Half2 Native_asin ( половина 2 В); Добавлен на уровне API 24
Half3 Native_asin ( половина 3 В); Добавлен на уровне API 24
Half4 Native_asin ( половина 4 В); Добавлен на уровне API 24

Возвращает приблизительный обратный синус, в радианах.

Эта функция дает неопределенные результаты от входных значений менее -1 или более 1.

Смотрите также asin ().

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 ( половина V); Добавлен на уровне API 24
Half2 Native_asinh ( Half2 V); Добавлен на уровне API 24
Half3 Native_asinh ( половина 3 В); Добавлен на уровне API 24
Half4 Native_asinh ( половина 4 В); Добавлен на уровне 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
половина native_asinpi ( половина V); Добавлен на уровне API 24
половина 2 Native_asinpi ( половина 2 В); Добавлен на уровне API 24
Half3 Native_asinpi ( половина 3 В); Добавлен на уровне API 24
Half4 Native_asinpi ( половина 4 В); Добавлен на уровне 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
Половина Native_atan ( половина V); Добавлен на уровне API 24
Half2 Native_atan ( половина 2 В); Добавлен на уровне API 24
Half3 Native_atan ( половина 3 В); Добавлен на уровне API 24
Half4 Native_atan ( половина 4 В); Добавлен на уровне 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 Numerator, Half4 знаменатель); Добавлен на уровне API 24
Параметры
числитель Числитель.
знаменатель Знаменатель. Может быть 0.

Возвращает приблизительную обратную тангенс (numerator / denominator) , в радианах.

См. Также atan2 ().

Native_atan2pi : приблизительная обратная касательная соотношение, разделенное на PI

float native_atan2pi (числитель плавания, знаменатель float); Добавлен на уровне 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 ( половина числента, половина знаменателя); Добавлен на уровне API 24
Half2 Native_atan2pi ( Half2 Числоватор, знаменатель Half2 ); Добавлен на уровне API 24
Half3 Native_atan2pi ( Half3 Numerator, Half3 знаменатель); Добавлен на уровне API 24
Half4 Native_atan2pi ( Half4 Numerator, 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
половина Native_atanh ( половина V); Добавлен на уровне API 24
Half2 Native_atanh ( половина 2 В); Добавлен на уровне API 24
Half3 Native_atanh ( половина 3 В); Добавлен на уровне API 24
Half4 Native_atanh ( половина 4 В); Добавлен на уровне 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
половина native_atanpi ( половина V); Добавлен на уровне API 24
Half2 Native_atanpi ( половина 2 В); Добавлен на уровне API 24
Half3 Native_atanpi ( половина 3 В); Добавлен на уровне API 24
Half4 Native_atanpi ( половина 4 В); Добавлен на уровне API 24

Возвращает приблизительную обратную тангенс в радианах, разделенную на PI.

Чтобы получить обратную касательную, измеренную в градусах, используйте atanpi(a) * 180.f

См. Также Atanpi ().

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
половина native_cbrt ( половина V); Добавлен на уровне API 24
Half2 Native_cbrt ( Half2 V); Добавлен на уровне API 24
Half3 native_cbrt ( половина 3 В); Добавлен на уровне API 24
Half4 native_cbrt ( половина 4 В); Добавлен на уровне 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
половина native_cos ( половина v); Добавлен на уровне API 24
Half2 native_cos ( половина 2 В); Добавлен на уровне API 24
Half3 Native_cos ( половина 3 В); Добавлен на уровне API 24
Half4 native_cos ( половина 4 В); Добавлен на уровне 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 ( половина V); Добавлен на уровне API 24
Half2 Native_cosh ( Half2 V); Добавлен на уровне API 24
Half3 Native_cosh ( половина 3 В); Добавлен на уровне API 24
Half4 Native_cosh ( половина 4 В); Добавлен на уровне 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
половина native_cospi ( половина V); Добавлен на уровне API 24
Half2 Native_cospi ( Half2 V); Добавлен на уровне API 24
Half3 Native_cospi ( Half3 V); Добавлен на уровне API 24
половина 4 Native_cospi ( половина 4 В); Добавлен на уровне API 24

Возвращает приблизительный косинус (v * pi), где (v * pi) измеряется в радианах.

Чтобы получить косинус значения, измеренный в градусах, вызовите cospi(v / 180.f) .

См. Также Cospi ().

Native_divide : приблизительное разделение

float native_divide (float Leats_vector, float right_vector); Добавлен на уровне API 21
float2 native_divide ( float2 Leats_vector, float2 right_vector); Добавлен на уровне API 21
float3 native_divide ( float3 Leats_vector, float3 right_vector); Добавлен на уровне API 21
float4 native_divide ( float4 Leats_vector, float4 right_vector); Добавлен на уровне API 21
Half native_divide ( половина левой_вектора, половина правой_вектор); Добавлен на уровне API 24
Half2 Native_Divide ( Half2 Leats_Vector, Half2 Right_Vector); Добавлен на уровне API 24
Half3 native_divide ( половина 3 левой_vector, половина3 right_vector); Добавлен на уровне API 24
Пол . Добавлен на уровне 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
половина native_exp ( половина v); Добавлен на уровне API 24
Half2 native_exp ( половина 2 В); Добавлен на уровне API 24
Half3 native_exp ( половина 3 В); Добавлен на уровне API 24
Half4 native_exp ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный эксп.

Он действителен для входов от -86.f до 86.f. Точность не хуже, чем ожидалось от использования 16 -битных значений с плавающей запятой.

См. Также exp ().

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
половина native_exp10 ( половина V); Добавлен на уровне API 24
Half2 native_exp10 ( половина 2 В); Добавлен на уровне API 24
Half3 native_exp10 ( половина 3 В); Добавлен на уровне API 24
Half4 native_exp10 ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный exp10.

Он действителен для входов от -37.f до 37.f. Точность не хуже, чем ожидалось от использования 16 -битных значений с плавающей запятой.

См. Также exp10 ().

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
половина native_exp2 ( половина V); Добавлен на уровне API 24
половина 2 Native_exp2 ( половина 2 В); Добавлен на уровне API 24
Half3 native_exp2 ( половина 3 В); Добавлен на уровне API 24
Half4 native_exp2 ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный Exp2.

Он действителен для входов от -125.f до 125.f. Точность не хуже, чем ожидалось от использования 16 -битных значений с плавающей запятой.

См. Также exp2 ().

native_expm1 : приблизительный e, поднятый до числа.

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
половина native_expm1 ( половина V); Добавлен на уровне API 24
Half2 native_expm1 ( половина 2 В); Добавлен на уровне API 24
Half3 native_expm1 ( половина 3 В); Добавлен на уровне API 24
Half4 native_expm1 ( половина 4 В); Добавлен на уровне 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 ( половина a, половина b); Добавлен на уровне API 24
Half2 Native_hypot ( Half2 A, Half2 B); Добавлен на уровне API 24
Half3 Native_hypot ( Half3 A, Half3 B); Добавлен на уровне API 24
Half4 native_hypot ( половина 4 а, половина 4 б); Добавлен на уровне 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
половина native_log ( половина v); Добавлен на уровне API 24
Half2 native_log ( половина 2 В); Добавлен на уровне API 24
Half3 Native_log ( половина 3 В); Добавлен на уровне API 24
Half4 native_log ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный журнал.

Это не точно для значений, очень близких к нулю.

См. Также log ().

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
половина native_log10 ( половина V); Добавлен на уровне API 24
Half2 native_log10 ( половина 2 В); Добавлен на уровне API 24
Half3 native_log10 ( половина 3 В); Добавлен на уровне API 24
Half4 native_log10 ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный log10.

Это не точно для значений, очень близких к нулю.

См. Также log10 ().

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
половина native_log1p ( половина V); Добавлен на уровне API 24
Half2 Native_log1p ( Half2 V); Добавлен на уровне API 24
Half3 native_log1p ( половина 3 В); Добавлен на уровне API 24
Half4 native_log1p ( половина 4 В); Добавлен на уровне 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
половина native_log2 ( половина V); Добавлен на уровне API 24
половина 2 Native_log2 ( половина 2 В); Добавлен на уровне API 24
Half3 native_log2 ( половина 3 В); Добавлен на уровне API 24
Half4 native_log2 ( половина 4 В); Добавлен на уровне API 24

Быстрый приблизительный log2.

Это не точно для значений, очень близких к нулю.

См. Также log2 ().

Native_powr : приблизительная положительная база, поднятая для показателя

float native_powr (float base, float exponent); Добавлен на уровне API 18
float2 native_powr (base2 float2 , показатель float2 ); Добавлен на уровне API 18
float3 native_powr (base3 float3 , показатель float3 ); Добавлен на уровне API 18
float4 native_powr (base4 base4 , exponent float4 ); Добавлен на уровне API 18
Half native_powr ( половина база, половина показателя); Добавлен на уровне API 24
Half2 native_powr ( половина 2 база, полутопонамерное показатель); Добавлен на уровне API 24
Half3 native_powr ( половина3 база, Half3 Exponent); Добавлен на уровне API 24
Пол . Добавлен на уровне 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
половина native_recip ( половина V); Добавлен на уровне API 24
Half2 Native_Recip ( половина 2 В); Добавлен на уровне API 24
Half3 Native_Recip ( половина 3 В); Добавлен на уровне API 24
Half4 Native_Recip ( половина 4 В); Добавлен на уровне 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 ( половина 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 -й корень значения.

См. Также root ().

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 ( половина V); Добавлен на уровне API 24
половина 2 Native_rsqrt ( Half2 V); Добавлен на уровне API 24
Half3 Native_rsqrt ( Half3 V); Добавлен на уровне API 24
Half4 native_rsqrt ( половина 4 В); Добавлен на уровне 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
половина native_sin ( половина v); Добавлен на уровне API 24
Half2 Native_sin ( половина 2 В); Добавлен на уровне API 24
Half3 Native_sin ( половина 3 В); Добавлен на уровне API 24
Half4 Native_sin ( половина 4 В); Добавлен на уровне 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 ( половина V, половина * cos); Добавлен на уровне API 24
Half2 Native_sincos ( Half2 V, Half2 * cos); Добавлен на уровне API 24
Half3 Native_sincos ( Half3 V, Half3 * cos); Добавлен на уровне API 24
Half4 Native_sincos ( половина 4 В, полу 4 * cos); Добавлен на уровне API 24
Параметры
в Входящая стоимость в радианах.
потому что *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 ( половина V); Добавлен на уровне API 24
Half2 Native_sinh ( половина 2 В); Добавлен на уровне API 24
Half3 Native_sinh ( половина 3 В); Добавлен на уровне API 24
Half4 Native_sinh ( половина 4 В); Добавлен на уровне API 24

Returns the approximate hyperbolic sine of a value specified in radians.

See also sinh ().

native_sinpi : Approximate sine of a number multiplied by pi

float native_sinpi(float v); Added in API level 21
float2 native_sinpi( float2 v); Added in API level 21
float3 native_sinpi( float3 v); Added in API level 21
float4 native_sinpi( float4 v); Added in API level 21
half native_sinpi( half v); Added in API level 24
half2 native_sinpi( half2 v); Added in API level 24
half3 native_sinpi( half3 v); Added in API level 24
half4 native_sinpi( half4 v); Added in API level 24

Returns the approximate sine of (v * pi), where (v * pi) is measured in radians.

To get the sine of a value measured in degrees, call sinpi(v / 180.f) .

See also sinpi ().

native_sqrt : Approximate square root

float native_sqrt(float v); Added in API level 21
float2 native_sqrt( float2 v); Added in API level 21
float3 native_sqrt( float3 v); Added in API level 21
float4 native_sqrt( float4 v); Added in API level 21
half native_sqrt( half v); Added in API level 24
half2 native_sqrt( half2 v); Added in API level 24
half3 native_sqrt( half3 v); Added in API level 24
half4 native_sqrt( half4 v); Added in API level 24

Returns the approximate sqrt(v).

See also sqrt (), half_sqrt ().

native_tan : Approximate tangent

float native_tan(float v); Added in API level 21
float2 native_tan( float2 v); Added in API level 21
float3 native_tan( float3 v); Added in API level 21
float4 native_tan( float4 v); Added in API level 21
half native_tan( half v); Added in API level 24
half2 native_tan( half2 v); Added in API level 24
half3 native_tan( half3 v); Added in API level 24
half4 native_tan( half4 v); Added in API level 24

Returns the approximate tangent of an angle measured in radians.

native_tanh : Approximate hyperbolic tangent

float native_tanh(float v); Added in API level 21
float2 native_tanh( float2 v); Added in API level 21
float3 native_tanh( float3 v); Added in API level 21
float4 native_tanh( float4 v); Added in API level 21
half native_tanh( half v); Added in API level 24
half2 native_tanh( half2 v); Added in API level 24
half3 native_tanh( half3 v); Added in API level 24
half4 native_tanh( half4 v); Added in API level 24

Returns the approximate hyperbolic tangent of a value.

See also tanh ().

native_tanpi : Approximate tangent of a number multiplied by pi

float native_tanpi(float v); Added in API level 21
float2 native_tanpi( float2 v); Added in API level 21
float3 native_tanpi( float3 v); Added in API level 21
float4 native_tanpi( float4 v); Added in API level 21
half native_tanpi( half v); Added in API level 24
half2 native_tanpi( half2 v); Added in API level 24
half3 native_tanpi( half3 v); Added in API level 24
half4 native_tanpi( half4 v); Added in API level 24

Returns the approximate tangent of (v * pi), where (v * pi) is measured in radians.

To get the tangent of a value measured in degrees, call tanpi(v / 180.f) .

See also tanpi ().

nextafter : Next floating point number

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 nextafter( half v, half target); Added in API level 24
half2 nextafter( half2 v, half2 target); Added in API level 24
half3 nextafter( half3 v, half3 target); Added in API level 24
half4 nextafter( half4 v, half4 target); Added in API level 24

Returns the next representable floating point number from v towards target.

In rs_fp_relaxed mode, a denormalized input value may not yield the next denormalized value, as support of denormalized values is optional in relaxed mode.

pow : Base raised to an exponent

float pow(float base, float exponent);
float2 pow( float2 base, float2 exponent);
float3 pow( float3 base, float3 exponent);
float4 pow( float4 base, float4 exponent);
half pow( half base, half exponent); Added in API level 24
half2 pow( half2 base, half2 exponent); Added in API level 24
half3 pow( half3 base, half3 exponent); Added in API level 24
half4 pow( half4 base, half4 exponent); Added in API level 24

Returns base raised to the power exponent, ie base ^ exponent.

pown () and powr () are similar. pown () takes an integer exponent. powr () assumes the base to be non-negative.

pown : Base raised to an integer exponent

float pown(float base, int exponent);
float2 pown( float2 base, int2 exponent);
float3 pown( float3 base, int3 exponent);
float4 pown( float4 base, int4 exponent);
half pown( half base, int exponent); Added in API level 24
half2 pown( half2 base, int2 exponent); Added in API level 24
half3 pown( half3 base, int3 exponent); Added in API level 24
half4 pown( half4 base, int4 exponent); Added in API level 24

Returns base raised to the power exponent, ie base ^ exponent.

pow () and powr () are similar. The both take a float exponent. powr () also assumes the base to be non-negative.

powr : Positive base raised to an exponent

float powr(float base, float exponent);
float2 powr( float2 base, float2 exponent);
float3 powr( float3 base, float3 exponent);
float4 powr( float4 base, float4 exponent);
half powr( half base, half exponent); Added in API level 24
half2 powr( half2 base, half2 exponent); Added in API level 24
half3 powr( half3 base, half3 exponent); Added in API level 24
half4 powr( half4 base, half4 exponent); Added in API level 24

Returns base raised to the power exponent, ie base ^ exponent. base must be >= 0.

pow () and pown () are similar. They both make no assumptions about the base. pow () takes a float exponent while pown () take an integer.

See also native_powr ().

radians : Converts degrees into radians

float radians(float v);
float2 radians( float2 v);
float3 radians( float3 v);
float4 radians( float4 v);
half radians( half v); Added in API level 24
half2 radians( half2 v); Added in API level 24
half3 radians( half3 v); Added in API level 24
half4 radians( half4 v); Added in API level 24

Converts from degrees to radians.

remainder : Remainder of a division

float remainder(float numerator, float denominator);
float2 remainder( float2 numerator, float2 denominator);
float3 remainder( float3 numerator, float3 denominator);
float4 remainder( float4 numerator, float4 denominator);
half remainder( half numerator, half denominator); Added in API level 24
half2 remainder( half2 numerator, half2 denominator); Added in API level 24
half3 remainder( half3 numerator, half3 denominator); Added in API level 24
half4 remainder( half4 numerator, half4 denominator); Added in API level 24

Returns the remainder of (numerator / denominator), where the quotient is rounded towards the nearest integer.

The function fmod () is similar but rounds toward the closest integer. For example, fmod (-3.8f, 2.f) returns -1.8f (-3.8f - -1.f * 2.f) while remainder(-3.8f, 2.f) returns 0.2f (-3.8f - -2.f * 2.f).

remquo : Remainder and quotient of a division

float remquo(float numerator, float denominator, int* quotient);
float2 remquo( float2 numerator, float2 denominator, int2 * quotient);
float3 remquo( float3 numerator, float3 denominator, int3 * quotient);
float4 remquo( float4 numerator, float4 denominator, int4 * quotient);
half remquo( half numerator, half denominator, int* quotient); Added in API level 24
half2 remquo( half2 numerator, half2 denominator, int2 * quotient); Added in API level 24
half3 remquo( half3 numerator, half3 denominator, int3 * quotient); Added in API level 24
half4 remquo( half4 numerator, half4 denominator, int4 * quotient); Added in API level 24
Параметры
числитель Числитель.
знаменатель Знаменатель.
частное *quotient will be set to the integer quotient.
Возврат
Remainder, precise only for the low three bits.

Returns the quotient and the remainder of (numerator / denominator).

Only the sign and lowest three bits of the quotient are guaranteed to be accurate.

This function is useful for implementing periodic functions. The low three bits of the quotient gives the quadrant and the remainder the distance within the quadrant. For example, an implementation of sin (x) could call remquo(x, PI / 2.f, &quadrant) to reduce very large value of x to something within a limited range.

Example: remquo(-23.5f, 8.f, &quot) sets the lowest three bits of quot to 3 and the sign negative. It returns 0.5f.

rint : Round to even

float rint(float v);
float2 rint( float2 v);
float3 rint( float3 v);
float4 rint( float4 v);
half rint( half v); Added in API level 24
half2 rint( half2 v); Added in API level 24
half3 rint( half3 v); Added in API level 24
half4 rint( half4 v); Added in API level 24

Rounds to the nearest integral value.

rint() rounds half values to even. For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f. Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.

round () is similar but rounds away from zero. trunc () truncates the decimal fraction.

rootn : Nth root

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); Added in API level 24
half2 rootn( half2 v, int2 n); Added in API level 24
half3 rootn( half3 v, int3 n); Added in API level 24
half4 rootn( half4 v, int4 n); Added in API level 24

Compute the Nth root of a value.

See also native_rootn ().

round : Round away from zero

float round(float v);
float2 round( float2 v);
float3 round( float3 v);
float4 round( float4 v);
half round( half v); Added in API level 24
half2 round( half2 v); Added in API level 24
half3 round( half3 v); Added in API level 24
half4 round( half4 v); Added in API level 24

Round to the nearest integral value.

round() rounds half values away from zero. For example, round(0.5f) returns 1.f and round(1.5f) returns 2.f. Similarly, round(-0.5f) returns -1.f and round(-1.5f) returns -2.f.

rint () is similar but rounds half values toward even. trunc () truncates the decimal fraction.

rsClamp : Restrain a value to a range

char rsClamp(char amount, char low, char high);
int rsClamp(int amount, int low, int high);
short rsClamp(short amount, short low, short high);
uchar rsClamp( uchar amount, uchar low, uchar high);
uint rsClamp( uint amount, uint low, uint high);
ushort rsClamp( ushort amount, ushort low, ushort high);
Параметры
количество Value to clamp.
низкий Lower bound.
высокий Верхняя граница.

Устарело. Use clamp () instead.

Clamp a value between low and high.

rsFrac : Returns the fractional part of a float

float rsFrac(float v);

Устарело. Use fract () instead.

Returns the fractional part of a float

rsRand : Pseudo-random number

float 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);

Return a random value between 0 (or min_value) and max_malue.

rsqrt : Reciprocal of a square root

float rsqrt(float v);
float2 rsqrt( float2 v);
float3 rsqrt( float3 v);
float4 rsqrt( float4 v);
half rsqrt( half v); Added in API level 24
half2 rsqrt( half2 v); Added in API level 24
half3 rsqrt( half3 v); Added in API level 24
half4 rsqrt( half4 v); Added in API level 24

Returns (1 / sqrt(v)).

See also half_rsqrt (), native_rsqrt ().

sign : Sign of a value

float sign(float v);
float2 sign( float2 v);
float3 sign( float3 v);
float4 sign( float4 v);
half sign( half v); Added in API level 24
half2 sign( half2 v); Added in API level 24
half3 sign( half3 v); Added in API level 24
half4 sign( half4 v); Added in API level 24

Returns the sign of a value.

if (v < 0) return -1.f; else if (v > 0) return 1.f; else return 0.f;

sin : Sine

float sin(float v);
float2 sin( float2 v);
float3 sin( float3 v);
float4 sin( float4 v);
half sin( half v); Added in API level 24
half2 sin( half2 v); Added in API level 24
half3 sin( half3 v); Added in API level 24
half4 sin( half4 v); Added in API level 24

Returns the sine of an angle measured in radians.

See also native_sin ().

sincos : Sine and cosine

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); Added in API level 24
half2 sincos( half2 v, half2 * cos); Added in API level 24
half3 sincos( half3 v, half3 * cos); Added in API level 24
half4 sincos( half4 v, half4 * cos); Added in API level 24
Параметры
в Incoming value in radians.
потому что *cos will be set to the cosine value.
Возврат
Sine of v.

Returns the sine and cosine of a value.

See also native_sincos ().

sinh : Hyperbolic sine

float sinh(float v);
float2 sinh( float2 v);
float3 sinh( float3 v);
float4 sinh( float4 v);
half sinh( half v); Added in API level 24
half2 sinh( half2 v); Added in API level 24
half3 sinh( half3 v); Added in API level 24
half4 sinh( half4 v); Added in API level 24

Returns the hyperbolic sine of v, where v is measured in radians.

See also native_sinh ().

sinpi : Sine of a number multiplied by pi

float sinpi(float v);
float2 sinpi( float2 v);
float3 sinpi( float3 v);
float4 sinpi( float4 v);
half sinpi( half v); Added in API level 24
half2 sinpi( half2 v); Added in API level 24
half3 sinpi( half3 v); Added in API level 24
half4 sinpi( half4 v); Added in API level 24

Returns the sine of (v * pi), where (v * pi) is measured in radians.

To get the sine of a value measured in degrees, call sinpi(v / 180.f) .

See also native_sinpi ().

sqrt : Square root

float sqrt(float v);
float2 sqrt( float2 v);
float3 sqrt( float3 v);
float4 sqrt( float4 v);
half sqrt( half v); Added in API level 24
half2 sqrt( half2 v); Added in API level 24
half3 sqrt( half3 v); Added in API level 24
half4 sqrt( half4 v); Added in API level 24

Returns the square root of a value.

See also half_sqrt (), native_sqrt ().

step : 0 if less than a value, 1 otherwise

float step(float edge, float v);
float2 step(float edge, float2 v); Added in API level 21
float2 step( float2 edge, float v);
float2 step( float2 edge, float2 v);
float3 step(float edge, float3 v); Added in API level 21
float3 step( float3 edge, float v);
float3 step( float3 edge, float3 v);
float4 step(float edge, float4 v); Added in API level 21
float4 step( float4 edge, float v);
float4 step( float4 edge, float4 v);
half step( half edge, half v); Added in API level 24
half2 step( half edge, half2 v); Added in API level 24
half2 step( half2 edge, half v); Added in API level 24
half2 step( half2 edge, half2 v); Added in API level 24
half3 step( half edge, half3 v); Added in API level 24
half3 step( half3 edge, half v); Added in API level 24
half3 step( half3 edge, half3 v); Added in API level 24
half4 step( half edge, half4 v); Added in API level 24
half4 step( half4 edge, half v); Added in API level 24
half4 step( half4 edge, half4 v); Added in API level 24

Returns 0.f if v < edge, 1.f otherwise.

This can be useful to create conditional computations without using loops and branching instructions. For example, instead of computing (a[i] < b[i]) ? 0.f : atan2 (a[i], b[i]) for the corresponding elements of a vector, you could instead use step(a, b) * atan2 (a, b) .

tan : Tangent

float tan(float v);
float2 tan( float2 v);
float3 tan( float3 v);
float4 tan( float4 v);
half tan( half v); Added in API level 24
half2 tan( half2 v); Added in API level 24
half3 tan( half3 v); Added in API level 24
half4 tan( half4 v); Added in API level 24

Returns the tangent of an angle measured in radians.

See also native_tan ().

tanh : Hyperbolic tangent

float tanh(float v);
float2 tanh( float2 v);
float3 tanh( float3 v);
float4 tanh( float4 v);
half tanh( half v); Added in API level 24
half2 tanh( half2 v); Added in API level 24
half3 tanh( half3 v); Added in API level 24
half4 tanh( half4 v); Added in API level 24

Returns the hyperbolic tangent of a value.

See also native_tanh ().

tanpi : Tangent of a number multiplied by pi

float tanpi(float v);
float2 tanpi( float2 v);
float3 tanpi( float3 v);
float4 tanpi( float4 v);
half tanpi( half v); Added in API level 24
half2 tanpi( half2 v); Added in API level 24
half3 tanpi( half3 v); Added in API level 24
half4 tanpi( half4 v); Added in API level 24

Returns the tangent of (v * pi), where (v * pi) is measured in radians.

To get the tangent of a value measured in degrees, call tanpi(v / 180.f) .

See also native_tanpi ().

tgamma : Gamma function

float tgamma(float v);
float2 tgamma( float2 v);
float3 tgamma( float3 v);
float4 tgamma( float4 v);
half tgamma( half v); Added in API level 24
half2 tgamma( half2 v); Added in API level 24
half3 tgamma( half3 v); Added in API level 24
half4 tgamma( half4 v); Added in API level 24

Returns the gamma function of a value.

See also lgamma ().

trunc : Truncates a floating point

float trunc(float v);
float2 trunc( float2 v);
float3 trunc( float3 v);
float4 trunc( float4 v);
half trunc( half v); Added in API level 24
half2 trunc( half2 v); Added in API level 24
half3 trunc( half3 v); Added in API level 24
half4 trunc( half4 v); Added in API level 24

Rounds to integral using truncation.

For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.

See rint () and round () for other rounding options.