polylane 0.15.0

Portable and versatile SIMD.
Documentation
// Copyright 2025 Gabriel Bjørnager Jensen.
//
// This Source Code Form is subject to the terms of
// the Mozilla Public License, v. 2.0. If a copy of
// the MPL was not distributed with this file, you
// can obtain one at:
// <https://mozilla.org/MPL/2.0/>.

use crate::ValidLayout;
use crate::mask::{Mask, MaskLayout};

/// SIMD equivalent of [`PartialEq`].
pub trait SimdPartialEq<const N: usize>
where
	MaskLayout<N>: ValidLayout,
{
	/// Tests equality between SIMD elements.
	#[must_use]
	fn simd_eq(self, other: Self) -> Mask<N>;

	/// Tests inequality between SIMD elements.
	#[must_use]
	fn simd_ne(self, other: Self) -> Mask<N>;
}