#ident #hash #id

varid

将标识符字符串转换为哈希值,并检查冲突

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