整数関数

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

移動: 案内検索

整数関数はスカラもしくはベクトル引数をとります。

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

関数の一覧

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 x < y のときは y を、そうでないときは x を返します。
min
mul_hi
rotate
sub_sat
upsample

変更記録


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