#alphabet #match #generate #proc-macro #base58 #looking #slow

match-lookup

用于生成字母表的match块的进程宏,请勿使用此宏。它很慢,并且极有可能不是您要找的。

2个版本

0.1.1 2022年7月14日
0.1.0 2022年7月4日

#18#slow


2 crate 中使用

MIT 许可证

4KB
83

以base-x为中心的无_std实现

这需要使用夜间编译器来使用数组API。

使用“不稳定”标志下的功能

  • const_fn_floating_point_arithmetic
  • generic_const_exprs

实现新的字母表相当简单

use smol_base_x::*;
pub struct Base58 {}

impl Base<58> for Base58 {
    const ALPHABET: [u8; 58] = *b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
}

实现Base将自动生成一个256字节的LUT,这比基于benches/lut_vs_matches的基准测试中的match语句更为合适。

此库在“不稳定”标志下提供了一个宏,用于生成与LUT等价的match语句,但主要用于处理非ASCII字母表(目前未维护)。

依赖关系

~1.5MB
~36K SLoC