Skip to main content

SimdIntegerElement

Trait SimdIntegerElement 

Source
pub unsafe trait SimdIntegerElement: SimdNumElement + Num {
    // Required methods
    unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector;
    unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector;
    unsafe fn not(left: Self::Vector) -> Self::Vector;
    unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector;
}
Expand description

A trait for types that may be used as integer SIMD vector elements.

Required Methods§

Source

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Calculate and of left and right.

§Safety

Make sure Self::is_available() returns true.

Source

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Calculates or of left and right.

§Safety

Make sure Self::is_available() returns true.

Source

unsafe fn not(left: Self::Vector) -> Self::Vector

Calculates not of left and right.

§Safety

Make sure Self::is_available() returns true.

Source

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Calculates xor of left and right.

§Safety

Make sure Self::is_available() returns true.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SimdIntegerElement for i8

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for i16

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for i32

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for i64

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for u8

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for u16

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for u32

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

impl SimdIntegerElement for u64

Source§

unsafe fn and(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn or(left: Self::Vector, right: Self::Vector) -> Self::Vector

Source§

unsafe fn not(left: Self::Vector) -> Self::Vector

Source§

unsafe fn xor(left: Self::Vector, right: Self::Vector) -> Self::Vector

Implementors§