数学関数

提供: Tommy6
2011年5月13日 (金) 14:56時点における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 を求め、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
pown
powr
remainder
remquo
rint
rootn
round
rsqrt
sin
sincos
sinh
sinpi
sqrt
tan
tanh
tanpi
tgamma
trunc

変更記録


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