1 个不稳定版本
0.1.0 | 2022 年 6 月 30 日 |
---|
#18 in #ident
4KB
66 行
varid
将标识符字符串转换为哈希值,并检查冲突
标识符前缀 sz2 14 位
标识符前缀 sz3 21 位
标识符前缀 sz4 28 位
标识符前缀 sz5 35 位
标识符前缀 sz6 42 位
标识符前缀 sz7 49 位
标识符前缀 sz8 56 位
标识符前缀 sz9 63 位
其他 7 位
use varid::{varid,check,conv};
let map=varid(&["a","e","sz1apple","sz2apple","sz3apple"]).unwrap();
assert!(check("a",map["a"]));
assert!(check("e",map["e"]));
assert!(check("sz2apple",map["sz2apple"]));
assert!(check("sz3apple",map["sz3apple"]));
assert_eq!(conv("a"),36);
assert_eq!(conv("e"),70);
assert_eq!(conv("sz2apple"),12857);
assert_eq!(conv("sz3apple"),1755997);
assert_eq!(conv("sz9apple"),4595417591438920017);
依赖项
~150–295KB