「整数関数」の版間の差分
提供: Tommy6
細 |
細 |
||
34行: | 34行: | ||
{{!-}} | {{!-}} | ||
{{!}} [[mad_hi]] | {{!}} [[mad_hi]] | ||
− | {{!}} [[mul_hi]](''a'', ''b'') + c を求めます。 | + | {{!}} [[mul_hi]](''a'', ''b'') + ''c'' を求めます。 |
{{!-}} | {{!-}} | ||
{{!}} [[mad_sat]] | {{!}} [[mad_sat]] | ||
− | {{!}} | + | {{!}} ''a'' * ''b'' + ''c'' を求めます。結果には[[飽和]]を適用します。 |
{{!-}} | {{!-}} | ||
{{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[max]] | {{!}} style{{=}}"background-color:#FFEEEE;"{{!}} [[max]] |
2011年5月13日 (金) 22:22時点における版
整数関数はスカラもしくはベクトル引数をとります。
ベクトル版の整数関数では、演算はベクトルの要素ごとに行われます。それぞれの関数の解説は、各要素で行われる操作についてです。
関数の一覧
1.1 : OpenCL 1.1で追加・変更
関数 | 概要 |
---|---|
abs | 絶対値を求めます。 |
abs_diff | オーバーフローが発生しないようにしながら |x| - |y| を求めます。 |
add_sat | x + y を求めます。結果には飽和を適用します。 |
hadd | 中間の和でオーバーフローが発生しないようにしながら (x + y) >> 1 を求めます。 |
rhadd | 中間の和でオーバーフローが発生しないようにしながら (x + y + 1) >> 1 を求めます。 |
clamp | min(max(x, minval), maxval) を返します。 |
clz | 最上位ビットから連続する 0 のビットの数を数えます。 |
mad_hi | mul_hi(a, b) + c を求めます。 |
mad_sat | a * b + c を求めます。結果には飽和を適用します。 |
max | |
min | |
mul_hi | |
rotate | |
sub_sat | |
upsample |
変更記録
―――― Version 1.1, The OpenCL Specification
より翻訳