polylane 0.9.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::cmp::SimdPartialEq;

/// SIMD equivalent of [`PartialOrd`].
pub trait SimdPartialOrd: SimdPartialEq {
	/// Tests lessness between SIMD elements.
	#[must_use]
	fn simd_lt(self, other: Self) -> Self::Mask;

	/// Tests lessness or equality between SIMD elements.
	#[must_use]
	fn simd_le(self, other: Self) -> Self::Mask;

	/// Tests moreness between SIMD elements.
	#[must_use]
	fn simd_gt(self, other: Self) -> Self::Mask;

	/// Tests moreness or equality between SIMD elements.
	#[must_use]
	fn simd_ge(self, other: Self) -> Self::Mask;
}