Function tantivy_common::i64_to_u64
source · pub fn i64_to_u64(val: i64) -> u64
Expand description
Maps a i64
to u64
For simplicity, tantivy internally handles i64
as u64
.
The mapping is defined by this function.
Maps i64
to u64
so that
-2^63 .. 2^63-1
is mapped
to
0 .. 2^64-1
in that order.
This is more suited than simply casting (val as u64
)
because of bitpacking.
Imagine a list of i64
ranging from -10 to 10.
When casting negative values, the negative values are projected
to values over 2^63, and all values end up requiring 64 bits.
§See also
The reverse mapping is u64_to_i64()
.