sliceslice 0.4.1

A fast implementation of single-pattern substring search using SIMD acceleration
Documentation
use std::slice;

#[allow(dead_code)]
#[multiversion::multiversion]
#[clone(target = "[x86|x86_64]+avx2")]
#[clone(target = "wasm32+simd128")]
#[cfg_attr(
    all(target_arch = "aarch64", feature = "aarch64"),
    clone(target = "aarch64+neon")
)]
pub unsafe fn generic(left: *const u8, right: *const u8, n: usize) -> bool {
    slice::from_raw_parts(left, n) == slice::from_raw_parts(right, n)
}

#[allow(dead_code)]
#[multiversion::multiversion]
#[clone(target = "[x86|x86_64]+avx2")]
#[clone(target = "wasm32+simd128")]
#[cfg_attr(
    all(target_arch = "aarch64", feature = "aarch64"),
    clone(target = "aarch64+neon")
)]
pub unsafe fn specialized<const N: usize>(left: *const u8, right: *const u8) -> bool {
    slice::from_raw_parts(left, N) == slice::from_raw_parts(right, N)
}