Skip to content

Commit

Permalink
use u128 in map_to_range
Browse files Browse the repository at this point in the history
  • Loading branch information
RCasatta committed Oct 5, 2020
1 parent 75f74fc commit bb3171b
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions src/util/bip158.rs
Expand Up @@ -316,20 +316,7 @@ impl GCSFilterReader {

// fast reduction of hash to [0, nm) range
fn map_to_range(hash: u64, nm: u64) -> u64 {
// Use this once we upgrade to rustc >= 1.26
// ((hash as u128 * nm as u128) >> 64) as u64

#[inline]
fn l(n: u64) -> u64 { n & 0xffffffff }
#[inline]
fn h(n: u64) -> u64 { n >> 32 }

let a = h(hash);
let b = l(hash);
let c = h(nm);
let d = l(nm);

a * c + h(a * d + c * b + h(b * d))
((hash as u128 * nm as u128) >> 64) as u64
}

/// Colomb-Rice encoded filter writer
Expand Down

0 comments on commit bb3171b

Please sign in to comment.