数学関数
提供: Tommy6
数学関数は、次の二つに分類されます:
- スカラもしくはベクトル引数をとるもの
- スカラの float 引数のみをとるもの
ベクトル版の数学関数では、演算はベクトルの要素ごとに行われます。それぞれの関数の解説は、各要素で行われる操作についてです。
数学関数は、関数を呼び出している環境で指定した丸めモードの影響を受けず、常に最近接偶数丸めモードによる同じ値を返します。
関数の一覧
1.1 : OpenCL 1.1で追加
関数 | 概要 |
---|---|
acos | 逆余弦(アークコサイン)を求めます。 |
acosh | 逆双曲線余弦(アークハイパボリックコサイン)を求めます。 |
acospi | acos()/π を求めます。 |
asin | 逆正弦(アークサイン)を求めます。 |
asinh | 逆双曲線正弦(アークハイパボリックサイン)を求めます。 |
asinpi | asin()/π を求めます。 |
atan | 逆正接(アークタンジェント)を求めます。 |
atan2 | y/x の逆正接(アークタンジェント)を求めます。 |
atanh | 逆双曲線正接(アークハイパボリックタンジェント)を求めます。 |
atanpi | atan()/π を求めます。 |
atan2pi | atan2()/π を求めます。 |
cbrt | 立方根を求めます。 |
ceil | 正無限大方向丸めモードを利用して整数値への丸めを行います。 |
copysign | 符号を y と同じ符号にした x を求めます。 |
cos | 余弦(コサイン)を求めます。 |
cosh | 双曲線余弦(ハイパボリックコサイン)を求めます。 |
cospi | cos(πx) を求めます。 |
erfc | 相補誤差関数による値を求めます。 |
erf | 誤差関数による値を求めます。 |
exp | e を底とする指数関数による値を求めます。 |
exp2 | 2 を底とする指数関数による値を求めます。 |
exp10 | 10 を底とする指数関数による値を求めます。 |
expm1 | ex-1.0 による値を求めます。 |
fabs | 絶対値を求めます。 |
fdim | x > y であれば x - y を求め、x が y より小さい、あるいは y と等しいときは、+0 を返します。 |
floor | 負無限大方向丸めモードを利用して整数値への丸めを行います。 |
fma | a と b の無限精度積と c の和 (a*b+c) を正しく丸めた値を返します。 |
fmax | x < y のときは y を、そうでないときは x を返します。 |
fmin | y < x のときは y を、そうでないときは x を返します。 |
fmod | y を法として剰余を求めます。x - y * trunc(x / y) を返します。 |
fract | fmin(x - floor(x), 0x1.fffffep-1f) を返します。iptr に floor(x) が返されます。 |
frexp | x の仮数と指数を求めます。 |
hypot | x2 + y2 の平方根を求めます。 |
ilogb | 指数を整数値で返します。 |
ldexp | 2n と x の積を求めます。 |
lgamma | ガンマ関数の絶対値の自然対数を求めます。 |
lgamma_r | ガンマ関数の絶対値の自然対数を求めます。signp にガンマ関数によって求めた値の符号を返します。 |
log | 自然対数を求めます。 |
log2 | 2 を底とする対数を求めます。 |
log10 | 10 を底とする対数を求めます。 |
log1p | loge(1.0 + x) を求めます。 |
logb | 指数を求めます。 |
mad | a * b + c の近似計算を行います。 |
maxmag | |x| > |y| のときは x を、|y| > |x| のときは y を、それ以外のときは fmax(x, y) を返します。 |
minmag | |x| < |y| のときは x を、|y| < |x| のときは y を、それ以外のときは fmin(x, y) を返します。 |
modf | 浮動小数点値を整数部分と小数部分に分けます。 |
nan | quiet NaN を返します。 |
nextafter | 単精度浮動小数点で表現可能な値の中で、y 方向の x の次の値を求めます。 |
pow | xy を求めます。 |
pown | xy を求めます。pow() と異なり、y は整数値です。 |
powr | xy を求めます。pow() と異なり、x >= 0 です。 |
remainder | x - n * y を求めます。n は x / y に最も近い整数値です。 |
remquo | x - n * y を求めます。n は x / y に最も近い整数値です。remquo() では、x / y の整数の商の下位7ビットも求めます。 |
rint | 最近接偶数丸めモードを利用して整数値への丸めを行います。 |
rootn | x1 / y を求めます。 |
round | x に最も近い整数値への丸めを行います。 |
rsqrt | 平方根の逆数を求めます。 |
sin | 正弦(サイン)を求めます。 |
sincos | 正弦(サイン)と余弦(コサイン)を求めます。 |
sinh | 双曲線正弦(ハイパボリックサイン)を求めます。 |
sinpi | |
sqrt | |
tan | |
tanh | |
tanpi | |
tgamma | |
trunc |
変更記録
―――― Version 1.1, The OpenCL Specification
より翻訳