50 | 1.46G | } unicode_normalization::perfect_hash::mph_lookup::<(u32, (u16, u16)), core::option::Option<(u16, u16)>, unicode_normalization::lookups::pair_lookup_fk<(u16, u16)>, unicode_normalization::lookups::pair_lookup_fv_opt<(u16, u16)>> Line | Count | Source | 30 | 505M | pub(crate) fn mph_lookup<KV, V, FK, FV>( | 31 | 505M | x: u32, | 32 | 505M | salt: &[u16], | 33 | 505M | kv: &[KV], | 34 | 505M | fk: FK, | 35 | 505M | fv: FV, | 36 | 505M | default: V, | 37 | 505M | ) -> V | 38 | 505M | where | 39 | 505M | KV: Copy, | 40 | 505M | FK: Fn(KV) -> u32, | 41 | 505M | FV: Fn(KV) -> V, | 42 | 505M | { | 43 | 505M | let s = salt[my_hash(x, 0, salt.len())] as u32; | 44 | 505M | let key_val = kv[my_hash(x, s, salt.len())]; | 45 | 505M | if x == fk(key_val) { | 46 | 96.9M | fv(key_val) | 47 | | } else { | 48 | 408M | default | 49 | | } | 50 | 505M | } |
unicode_normalization::perfect_hash::mph_lookup::<(u32, char), core::option::Option<char>, unicode_normalization::lookups::pair_lookup_fk<char>, unicode_normalization::lookups::pair_lookup_fv_opt<char>> Line | Count | Source | 30 | 64.6M | pub(crate) fn mph_lookup<KV, V, FK, FV>( | 31 | 64.6M | x: u32, | 32 | 64.6M | salt: &[u16], | 33 | 64.6M | kv: &[KV], | 34 | 64.6M | fk: FK, | 35 | 64.6M | fv: FV, | 36 | 64.6M | default: V, | 37 | 64.6M | ) -> V | 38 | 64.6M | where | 39 | 64.6M | KV: Copy, | 40 | 64.6M | FK: Fn(KV) -> u32, | 41 | 64.6M | FV: Fn(KV) -> V, | 42 | 64.6M | { | 43 | 64.6M | let s = salt[my_hash(x, 0, salt.len())] as u32; | 44 | 64.6M | let key_val = kv[my_hash(x, s, salt.len())]; | 45 | 64.6M | if x == fk(key_val) { | 46 | 3.80M | fv(key_val) | 47 | | } else { | 48 | 60.8M | default | 49 | | } | 50 | 64.6M | } |
unicode_normalization::perfect_hash::mph_lookup::<u32, bool, unicode_normalization::lookups::bool_lookup_fk, unicode_normalization::lookups::bool_lookup_fv> Line | Count | Source | 30 | 47 | pub(crate) fn mph_lookup<KV, V, FK, FV>( | 31 | 47 | x: u32, | 32 | 47 | salt: &[u16], | 33 | 47 | kv: &[KV], | 34 | 47 | fk: FK, | 35 | 47 | fv: FV, | 36 | 47 | default: V, | 37 | 47 | ) -> V | 38 | 47 | where | 39 | 47 | KV: Copy, | 40 | 47 | FK: Fn(KV) -> u32, | 41 | 47 | FV: Fn(KV) -> V, | 42 | 47 | { | 43 | 47 | let s = salt[my_hash(x, 0, salt.len())] as u32; | 44 | 47 | let key_val = kv[my_hash(x, s, salt.len())]; | 45 | 47 | if x == fk(key_val) { | 46 | 1 | fv(key_val) | 47 | | } else { | 48 | 46 | default | 49 | | } | 50 | 47 | } |
unicode_normalization::perfect_hash::mph_lookup::<u32, u8, unicode_normalization::lookups::u8_lookup_fk, unicode_normalization::lookups::u8_lookup_fv> Line | Count | Source | 30 | 896M | pub(crate) fn mph_lookup<KV, V, FK, FV>( | 31 | 896M | x: u32, | 32 | 896M | salt: &[u16], | 33 | 896M | kv: &[KV], | 34 | 896M | fk: FK, | 35 | 896M | fv: FV, | 36 | 896M | default: V, | 37 | 896M | ) -> V | 38 | 896M | where | 39 | 896M | KV: Copy, | 40 | 896M | FK: Fn(KV) -> u32, | 41 | 896M | FV: Fn(KV) -> V, | 42 | 896M | { | 43 | 896M | let s = salt[my_hash(x, 0, salt.len())] as u32; | 44 | 896M | let key_val = kv[my_hash(x, s, salt.len())]; | 45 | 896M | if x == fk(key_val) { | 46 | 672M | fv(key_val) | 47 | | } else { | 48 | 224M | default | 49 | | } | 50 | 896M | } |
|