「数学関数」の版間の差分
提供: Tommy6
細 |
細 |
||
(1人の利用者による、間の41版が非表示) | |||
8行: | 8行: | ||
数学関数は、関数を呼び出している環境で指定した丸めモードの影響を受けず、常に最近接偶数丸めモードによる同じ値を返します。 | 数学関数は、関数を呼び出している環境で指定した丸めモードの影響を受けず、常に最近接偶数丸めモードによる同じ値を返します。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 関数の一覧 == | == 関数の一覧 == | ||
28行: | 22行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[acospi]] | {{!}} [[acospi]] | ||
− | {{!}} [[acos]]()/π を求めます。 | + | {{!}} [[acos]](''x'')/π を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[asin]] | {{!}} [[asin]] | ||
37行: | 31行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[asinpi]] | {{!}} [[asinpi]] | ||
− | {{!}} [[asin]]()/π を求めます。 | + | {{!}} [[asin]](''x'')/π を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[atan]] | {{!}} [[atan]] | ||
49行: | 43行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[atanpi]] | {{!}} [[atanpi]] | ||
− | {{!}} [[atan]]()/π を求めます。 | + | {{!}} [[atan]](''x'')/π を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[atan2pi]] | {{!}} [[atan2pi]] | ||
− | {{!}} [[atan2]]()/π を求めます。 | + | {{!}} [[atan2]](''x'')/π を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[cbrt]] | {{!}} [[cbrt]] | ||
70行: | 64行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[cospi]] | {{!}} [[cospi]] | ||
− | {{!}} [[cos]](''x'') | + | {{!}} [[cos]](π''x'') を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[erfc]] | {{!}} [[erfc]] | ||
106行: | 100行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[fmin]] | {{!}} [[fmin]] | ||
− | {{!}} | + | {{!}} ''y'' < ''x'' のときは ''y'' を、そうでないときは ''x'' を返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[fmod]] | {{!}} [[fmod]] | ||
− | {{!}} | + | {{!}} ''y'' を法として剰余を求めます。''x'' - ''y'' * [[trunc]](''x'' / ''y'') を返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[fract]] | {{!}} [[fract]] | ||
− | {{!}} | + | {{!}} [[fmin]](''x'' - [[floor]](''x''), 0x1.fffffep-1f) を返します。''iptr'' に [[floor]](''x'') が返されます。 |
{{!-}} | {{!-}} | ||
{{!}} [[frexp]] | {{!}} [[frexp]] | ||
− | {{!}} | + | {{!}} ''x'' の仮数と指数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[hypot]] | {{!}} [[hypot]] | ||
− | {{!}} | + | {{!}} ''x''<sup>2</sup> + ''y''<sup>2</sup> の平方根を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[ilogb]] | {{!}} [[ilogb]] | ||
− | {{!}} | + | {{!}} 指数を整数値で返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[ldexp]] | {{!}} [[ldexp]] | ||
− | {{!}} | + | {{!}} 2<sup>''n''</sup> と ''x'' の積を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[lgamma]] | {{!}} [[lgamma]] | ||
− | {{!}} | + | {{!}} ガンマ関数の絶対値の自然対数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[lgamma_r]] | {{!}} [[lgamma_r]] | ||
− | {{!}} | + | {{!}} ガンマ関数の絶対値の自然対数を求めます。''signp'' にガンマ関数によって求めた値の符号を返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[log]] | {{!}} [[log]] | ||
− | {{!}} | + | {{!}} 自然対数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[log2]] | {{!}} [[log2]] | ||
− | {{!}} | + | {{!}} 2 を底とする対数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[log10]] | {{!}} [[log10]] | ||
− | {{!}} | + | {{!}} 10 を底とする対数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[log1p]] | {{!}} [[log1p]] | ||
− | {{!}} | + | {{!}} log<sub>e</sub>(1.0 + ''x'') を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[logb]] | {{!}} [[logb]] | ||
− | {{!}} | + | {{!}} 指数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[mad]] | {{!}} [[mad]] | ||
− | {{!}} | + | {{!}} ''a'' * ''b'' + ''c'' の近似計算を行います。 |
{{!-}} | {{!-}} | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[maxmag]] | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[maxmag]] | ||
− | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} | + | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} {{!}}''x''{{!}} > {{!}}''y''{{!}} のときは ''x'' を、{{!}}''y''{{!}} > {{!}}''x''{{!}} のときは ''y'' を、それ以外のときは [[fmax]](''x'', ''y'') を返します。 |
{{!-}} | {{!-}} | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[minmag]] | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[minmag]] | ||
− | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} | + | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} {{!}}''x''{{!}} < {{!}}''y''{{!}} のときは ''x'' を、{{!}}''y''{{!}} < {{!}}''x''{{!}} のときは ''y'' を、それ以外のときは [[fmin]](''x'', ''y'') を返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[modf]] | {{!}} [[modf]] | ||
− | {{!}} | + | {{!}} 浮動小数点値を整数部分と小数部分に分けます。 |
{{!-}} | {{!-}} | ||
{{!}} [[nan]] | {{!}} [[nan]] | ||
− | {{!}} | + | {{!}} quiet NaN を返します。 |
{{!-}} | {{!-}} | ||
{{!}} [[nextafter]] | {{!}} [[nextafter]] | ||
− | {{!}} | + | {{!}} 単精度浮動小数点で表現可能な値の中で、''y'' 方向の ''x'' の次の値を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[pow]] | {{!}} [[pow]] | ||
− | {{!}} | + | {{!}} ''x''<sup>''y''</sup> を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[pown]] | {{!}} [[pown]] | ||
− | {{!}} | + | {{!}} ''x''<sup>''y''</sup> を求めます。[[pow]]() と異なり、''y'' は整数値です。 |
{{!-}} | {{!-}} | ||
{{!}} [[powr]] | {{!}} [[powr]] | ||
− | {{!}} | + | {{!}} ''x''<sup>''y''</sup> を求めます。[[pow]]() と異なり、''x'' >{{=}} 0 です。 |
{{!-}} | {{!-}} | ||
{{!}} [[remainder]] | {{!}} [[remainder]] | ||
− | {{!}} | + | {{!}} ''x'' - ''n'' * ''y'' を求めます。''n'' は ''x'' / ''y'' に最も近い整数値です。 |
{{!-}} | {{!-}} | ||
{{!}} [[remquo]] | {{!}} [[remquo]] | ||
− | {{!}} | + | {{!}} ''x'' - ''n'' * ''y'' を求めます。''n'' は ''x'' / ''y'' に最も近い整数値です。[[remquo]]() では、''x'' / ''y'' の整数の商の下位7ビットも求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[rint]] | {{!}} [[rint]] | ||
− | {{!}} | + | {{!}} 最近接偶数丸めモードを利用して整数値への丸めを行います。 |
{{!-}} | {{!-}} | ||
{{!}} [[rootn]] | {{!}} [[rootn]] | ||
− | {{!}} | + | {{!}} ''x''<sup>1 / ''y''</sup> を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[round]] | {{!}} [[round]] | ||
− | {{!}} | + | {{!}} ''x'' に最も近い整数値への丸めを行います。 |
{{!-}} | {{!-}} | ||
{{!}} [[rsqrt]] | {{!}} [[rsqrt]] | ||
− | {{!}} | + | {{!}} 平方根の逆数を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[sin]] | {{!}} [[sin]] | ||
− | {{!}} | + | {{!}} 正弦(サイン)を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[sincos]] | {{!}} [[sincos]] | ||
− | {{!}} | + | {{!}} 正弦(サイン)と余弦(コサイン)を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[sinh]] | {{!}} [[sinh]] | ||
− | {{!}} | + | {{!}} 双曲線正弦(ハイパボリックサイン)を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[sinpi]] | {{!}} [[sinpi]] | ||
− | {{!}} | + | {{!}} [[sin]](π''x'') を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[sqrt]] | {{!}} [[sqrt]] | ||
− | {{!}} | + | {{!}} 平方根を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[tan]] | {{!}} [[tan]] | ||
− | {{!}} | + | {{!}} 正接(タンジェント)を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[tanh]] | {{!}} [[tanh]] | ||
− | {{!}} | + | {{!}} 双曲線正接(ハイパボリックタンジェント)を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[tanpi]] | {{!}} [[tanpi]] | ||
− | {{!}} | + | {{!}} [[tan]](π''x'') を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[tgamma]] | {{!}} [[tgamma]] | ||
− | {{!}} | + | {{!}} ガンマ関数による値を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[trunc]] | {{!}} [[trunc]] | ||
− | {{!}} | + | {{!}} 0方向丸めモードを利用して整数値への丸めを行います。 |
{{!}}} | {{!}}} |
2011年5月13日 (金) 20:35時点における最新版
数学関数は、次の二つに分類されます:
- スカラもしくはベクトル引数をとるもの
- スカラの 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 | 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 | sin(πx) を求めます。 |
sqrt | 平方根を求めます。 |
tan | 正接(タンジェント)を求めます。 |
tanh | 双曲線正接(ハイパボリックタンジェント)を求めます。 |
tanpi | tan(πx) を求めます。 |
tgamma | ガンマ関数による値を求めます。 |
trunc | 0方向丸めモードを利用して整数値への丸めを行います。 |
変更記録
―――― Version 1.1, The OpenCL Specification
より翻訳