basenc 1.0.0-alpha.1

High-performance SIMD-accelerated Base64, Base32, and hex encoding and decoding with no_std support.
Documentation
/*! Optimized encoding routines for hex encoding.

Signature:

```ignore
/// bytes: Slice of input bytes
/// dest: Pointer to output bytes with available capacity of at least `len * 2`
/// base: Base character to use for encoding
pub unsafe fn encode(bytes: &[u8], mut dest: *mut u8, base: u8) -> *mut u8;
```
*/

mod scalar;

impl_arch_encode! {
	unsafe fn(bytes: &[u8], dest: *mut u8, base: u8) -> *mut u8;

	(any(target_arch = "x86_64", target_arch = "x86")) => {
		avx2: "avx2" is_x86_feature_detected!("avx2");
		ssse3: "ssse3" is_x86_feature_detected!("ssse3");
		sse2: "sse2" is_x86_feature_detected!("sse2");
	},
	(all(target_arch = "aarch64", target_endian = "little")) => {
		neon: "neon" std::arch::is_aarch64_feature_detected!("neon");
	},
	(all(target_arch = "wasm32", target_feature = "simd128")) => {
		simd128: "simd128" cfg!(target_feature = "simd128");
	},
}