iamax#
ベクトル内の絶対値が最大の要素のインデックスを検出します。
説明#
iamax ルーチンは、x[i] がベクトル x 内のすべての要素の絶対値の最大値を持つインデックス i (実数バリアント)、または (|Re(x[i])| + |Im(x[i])|) が最大になるインデックス i (複素数バリアント) を返します。
iamax は、std::int32_t または std::int64_t の結果タイプ Tresult をサポートし、データタイプ T に対して次の精度をサポートします。
T |
|---|
|
|
|
|
注
base が index_base::zero (デフォルト) に設定されている場合、インデックスは 0 ベースになり、index_base::one に設定されている場合は 1 ベースになります。
n または incx のいずれかが正でない場合、選択されたインデックスのベースに関係なく、ルーチンは 0 を返します。
同じ最大絶対値を持つベクトル要素が複数見つかった場合、最初に見つかった要素のインデックスが返されます。
ベクトルに NaN 値が含まれている場合、ルーチンは最初の NaN のインデックスを返します。
iamax (バッファーバージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
void iamax(sycl::queue &queue,
std::int64_t n,
sycl::buffer<T, 1> &x,
std::int64_t incx,
sycl::buffer<Tresult, 1> &result,
index_base base = index_base::zero)
}namespace oneapi::mkl::blas::row_major {
void iamax(sycl::queue &queue,
std::int64_t n,
sycl::buffer<T, 1> &x,
std::int64_t incx,
sycl::buffer<Tresult, 1> &result,
index_base base = index_base::zero)
}入力パラメーター#
- queue
ルーチンが実行されるキュー。
- n
ベクトル
xの要素数。- x
入力ベクトル
xを保持するバッファー。バッファーのサイズは (1 + (n- 1)*abs(incx) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。- base
出力値がどのようにインデックス付けされるかを示します。省略した場合は、デフォルトでゼロベースのインデックスになります。
oneapi::mkl::index_base::zeroゼロベース (C スタイル) のインデックス: インデックスは 0 から始まります。
oneapi::mkl::index_base::one1 ベース (Fortran スタイル) のインデックス: インデックスは 1 から始まります。
出力パラメーター#
- result
最大要素のインデックス
iが格納されるバッファー。
例#
iamax の使用例は、oneMKL インストール・ディレクトリーの以下の場所にあります。
share/doc/mkl/examples/sycl/blas/source/iamax.cppiamax (USM バージョン)#
構文#
namespace oneapi::mkl::blas::column_major {
sycl::event iamax(sycl::queue &queue,
std::int64_t n,
const T *x,
std::int64_t incx,
Tresult *result,
index_base base = index_base::zero,
const std::vector<sycl::event> &dependencies = {})
}namespace oneapi::mkl::blas::row_major {
sycl::event iamax(sycl::queue &queue,
std::int64_t n,
const T *x,
std::int64_t incx,
Tresult *result,
index_base base = index_base::zero,
const std::vector<sycl::event> &dependencies = {})
}入力パラメーター#
- queue
ルーチンが実行されるキュー。
- n
ベクトル
xの要素数。- x
入力ベクトル
xへのポインター。入力ベクトルxを保持する配列のサイズは、(1 + (n- 1)*abs(incx)) 以上である必要があります。行列ストレージを参照してください。- incx
ベクトル
xのストライド。- base
出力値がどのようにインデックス付けされるかを示します。省略した場合は、デフォルトでゼロベースのインデックスになります。
oneapi::mkl::index_base::zeroゼロベース (C スタイル) のインデックス: インデックスは 0 から始まります。
oneapi::mkl::index_base::one1 ベース (Fortran スタイル) のインデックス: インデックスは 1 から始まります。
- dependencies
計算を開始する前に待機するイベントのリスト (存在する場合)。省略した場合、依存関係はデフォルトでなくなります。
出力パラメーター#
- result
最大要素のインデックス
iが格納されている場所へのポインター。
戻り値#
計算が完了したことを確認するために待機する出力イベント。