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

aligned_offset

コンパイル時に指定される整数ベースのオフセット (IndexAlignment の倍数) を表します。
#include <sdlt/aligned_offset.h>

構文

template<int IndexAlignmentT>
class aligned_offset;

引数

int IndexAlignmentT

インデックスのアライメント (オフセットはこの倍数になります)。

説明

aligned_offset は古い機能 (非推奨) です。

オフセットが既知の値の倍数であることをコンパイラーに知らせると、コンパイラーは SIMD ループ内のインデックスとその情報を組み合わせて、データレイアウトにアクセスする際にアライメントされたアクセスを維持します。

内部で、オフセット値はブロックカウントに変換されます。

Block Count = offsetValue/IndexAlignmentT;

必要に応じて、インデックスはアライメントされたブロックカウントを使用できます。

メンバー

説明

static const int IndexAlignment = IndexAlignmentT;

アライメント (オフセットはこの倍数になります)。

explicit aligned_offset(const int offset)

オフセットに基づいてインスタンスを構築します。

static aligned_offset from_block_count(int aligned_block_count);

戻り値: aligned_block_count に基づくインスタンス。オフセット値 = IndexAlignment*aligned_block_count

int aligned_block_count() const;

戻り値: オフセット値を表すのに必要な IndexAlignment のブロック数。

int value() const;

戻り値: オフセット値。