Module simd

Module simd 

Source
Expand description

Core traits and types that abstract usage of SIMD.

Modules§

backend
The internal low-level, primitive backend for all SIMD-focused operations.

Structs§

LaneCount
A type that implements SupportedLaneCount based off the value of N.
Simd
A statically sized vector with N elements of type T, batched into chunks of size LANES.
SimdSlice
An unsized vector that implements SIMD-bound operations.

Traits§

SimdElement
Represents a scalar that can be copied and is expected for a SIMD register.
SimdScalar
A marker trait for scalars that are feasible for use in SIMD.
SupportedLaneCount
Sealed marker trait for whether Self represents a supported lane count for a SIMD register.

Functions§

add_arrays
Computes the value of an operation performed on arrays a and b, returning an array of the output.
add_arrays_double
Computes the value of an operation performed on arrays a and b, returning an array of the output.
add_scalar_array
Computes the value of an operation performed on array a by scalar, returning an array of the output.
add_scalar_array_double
Computes the value of an operation performed on array a by scalar, returning an array of the output.
add_scalar_slice
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
add_scalar_slice_double
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
add_slices
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
add_slices_double
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
div_arrays
Computes the value of an operation performed on arrays a and b, returning an array of the output.
div_arrays_double
Computes the value of an operation performed on arrays a and b, returning an array of the output.
div_scalar_array
Computes the value of an operation performed on array a by scalar, returning an array of the output.
div_scalar_array_double
Computes the value of an operation performed on array a by scalar, returning an array of the output.
div_scalar_slice
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
div_scalar_slice_double
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
div_slices
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
div_slices_double
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
mul_add_scalar_slice
A function specifically designed for SIMD-accelerated matrix multiplication.
mul_add_scalar_slice_double
Similar to crate::simd::mul_add_scalar_slice, only for double precision floats (f64).
mul_arrays
Computes the value of an operation performed on arrays a and b, returning an array of the output.
mul_arrays_double
Computes the value of an operation performed on arrays a and b, returning an array of the output.
mul_scalar_array
Computes the value of an operation performed on array a by scalar, returning an array of the output.
mul_scalar_array_double
Computes the value of an operation performed on array a by scalar, returning an array of the output.
mul_scalar_slice
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
mul_scalar_slice_double
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
mul_slices
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
mul_slices_double
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
sub_arrays
Computes the value of an operation performed on arrays a and b, returning an array of the output.
sub_arrays_double
Computes the value of an operation performed on arrays a and b, returning an array of the output.
sub_scalar_array
Computes the value of an operation performed on array a by scalar, returning an array of the output.
sub_scalar_array_double
Computes the value of an operation performed on array a by scalar, returning an array of the output.
sub_scalar_slice
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
sub_scalar_slice_double
Computes the value of an operation performed on a slice a by scalar, writing the output to the specified buffer.
sub_slices
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.
sub_slices_double
Computes the value of an operation performed on slices a and b, writing the output to the specified buffer.

Type Aliases§

AutoSimd
A SIMD vector which has a lane count of crate::MAX_SIMD_SINGLE_PRECISION_LANES.
SimdRegister
A SIMD vector which has a total size equal to it’s lane count.