Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 1.59 KB

File metadata and controls

76 lines (54 loc) · 1.59 KB

operator!

  • simd[meta header]
  • std::simd[meta namespace]
  • basic_vec[meta class]
  • function[meta id-type]
  • cpp26[meta cpp]
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("");
}
  • !a[color ff0000]
  • simd::vec[link ../basic_vec.md]
  • mask_type[link ../basic_mask.md]
  • m.size()[link ../basic_mask/size.md]
  • m[i][link ../basic_mask/op_at.md]

出力

true false false false 

バージョン

言語

  • C++26

処理系

関連項目

参照