最終更新日時:
が更新

履歴 編集

function
<simd>

std::simd::basic_vec::operator!(C++26)

constexpr mask_type operator!() const noexcept;

概要

各要素を論理反転する。

テンプレートパラメータ制約

value_typeの値aに対して式!aが有効であること。

戻り値

各要素ii0からsize() - 1まで)を!(*this)[i]としたbasic_maskオブジェクトを返す。

例外

投げない

#include <simd>
#include <print>

namespace simd = std::simd;

int main()
{
  simd::vec<int, 4> a = [](int i) { return i; };  // {0, 1, 2, 3}

  // 各要素を論理反転し、マスクとして得る
  simd::vec<int, 4>::mask_type m = !a;            // {true, false, false, false}

  for (int i = 0; i < m.size(); ++i) {
    std::print("{} ", m[i]);
  }
  std::println("");
}

出力

true false false false 

バージョン

言語

  • C++26

処理系

関連項目

参照