最終更新日時:
が更新

履歴 編集

function
<simd>

std::simd::basic_mask::operator^(C++26)

friend constexpr basic_mask
  operator^(const basic_mask& lhs, const basic_mask& rhs) noexcept;

概要

2つのマスクの要素ごとのビット排他的論理和を求める。

戻り値

lhsrhsに対して要素ごとにビット排他的論理和を適用した結果で初期化されたbasic_maskオブジェクトを返す。

例外

投げない。

備考

この関数はHidden friendsとして定義される。

#include <simd>
#include <print>

namespace simd = std::simd;

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

  auto r = m1 ^ m2;                              // {true, false, false, true}

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

出力

true false false true 

バージョン

言語

  • C++26

処理系

関連項目

参照