インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

max_val

right 値のほうが left 値よりも大きい場合は right 値を、そうでない場合は left 値を返します。 #include <sdlt/min_max_val.h>

構文

template<typename T>
T max_val(const T left, const T right);

引数

typename T

left 値と right 値の型

説明

std::min および std::max の C++ 実装は、引数への参照を返す条件付き制御フローを作成します。これは、非効率的なベクトルコードを生成することがあります。max_val は、参照の代わりに値を返す単純なテンプレートです。これにより、より効率的なベクトルコードを生成することができます。ほとんどの場合、アルゴリズムは入力への参照は必要とせず、値のコピーだけで十分です。オーバーヘッドを増やさないように、インライン展開すべきです。SIMD ループ内では、std::max の代わりに sdlt::max_val の使用を推奨します。

T 型に < 演算子が定義されている必要があります。