This requires a nightly compiler to use the array API.
Features used under the 'unstable' flag: * constfnfloatingpointarithmetic * genericconstexprs
Implementing a new Alphabet is rather simple: ```rust use smolbasex::*; pub struct Base58 {}
impl Base<58> for Base58 { const ALPHABET: [u8; 58] = *b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; } ```
Implementing Base
will automatically generate a 256 byte LUT, which was chosen over a match statement based off of benchmarks in benches/lut_vs_matches
this lib provides a macro under unstable for generating a match statement equivalent to a LUT, but is mostly useful for when dealing with non-ascii alphabets (which are currently unmaintained).