数学関数

提供: Tommy6
2011年5月13日 (金) 20:35時点におけるTommy6 (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

数学関数は、次の二つに分類されます:

  • スカラもしくはベクトル引数をとるもの
  • スカラの float 引数のみをとるもの

ベクトル版の数学関数では、演算はベクトルの要素ごとに行われます。それぞれの関数の解説は、各要素で行われる操作についてです。

数学関数は、関数を呼び出している環境で指定した丸めモードの影響を受けず、常に最近接偶数丸めモードによる同じ値を返します。

関数の一覧

1.1 : OpenCL 1.1で追加

関数 概要
acos 逆余弦(アークコサイン)を求めます。
acosh 逆双曲線余弦(アークハイパボリックコサイン)を求めます。
acospi acos(x)/π を求めます。
asin 逆正弦(アークサイン)を求めます。
asinh 逆双曲線正弦(アークハイパボリックサイン)を求めます。
asinpi asin(x)/π を求めます。
atan 逆正接(アークタンジェント)を求めます。
atan2 y/x の逆正接(アークタンジェント)を求めます。
atanh 逆双曲線正接(アークハイパボリックタンジェント)を求めます。
atanpi atan(x)/π を求めます。
atan2pi atan2(x)/π を求めます。
cbrt 立方根を求めます。
ceil 正無限大方向丸めモードを利用して整数値への丸めを行います。
copysign 符号を y と同じ符号にした x を求めます。
cos 余弦(コサイン)を求めます。
cosh 双曲線余弦(ハイパボリックコサイン)を求めます。
cospi cosx) を求めます。
erfc 相補誤差関数による値を求めます。
erf 誤差関数による値を求めます。
exp e を底とする指数関数による値を求めます。
exp2 2 を底とする指数関数による値を求めます。
exp10 10 を底とする指数関数による値を求めます。
expm1 ex-1.0 による値を求めます。
fabs 絶対値を求めます。
fdim x > y であれば x - y を求め、xy より小さい、あるいは y と等しいときは、+0 を返します。
floor 負無限大方向丸めモードを利用して整数値への丸めを行います。
fma ab の無限精度積と 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) を返します。iptrfloor(x) が返されます。
frexp x の仮数と指数を求めます。
hypot x2 + y2 の平方根を求めます。
ilogb 指数を整数値で返します。
ldexp 2nx の積を求めます。
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 を求めます。nx / y に最も近い整数値です。
remquo x - n * y を求めます。nx / y に最も近い整数値です。remquo() では、x / y の整数の商の下位7ビットも求めます。
rint 最近接偶数丸めモードを利用して整数値への丸めを行います。
rootn x1 / y を求めます。
round x に最も近い整数値への丸めを行います。
rsqrt 平方根の逆数を求めます。
sin 正弦(サイン)を求めます。
sincos 正弦(サイン)と余弦(コサイン)を求めます。
sinh 双曲線正弦(ハイパボリックサイン)を求めます。
sinpi sinx) を求めます。
sqrt 平方根を求めます。
tan 正接(タンジェント)を求めます。
tanh 双曲線正接(ハイパボリックタンジェント)を求めます。
tanpi tanx) を求めます。
tgamma ガンマ関数による値を求めます。
trunc 0方向丸めモードを利用して整数値への丸めを行います。

変更記録


―――― Version 1.1, The OpenCL Specification より翻訳