INNER CODE UNIT · Rust

seed_mask

bluenote-1577/skani · src/avx2_seeding.rs:83

    let seed_mask = (MarkerBits::MAX >> (std::mem::size_of::<MarkerBits>() * 8 - 2 * k)) as i64;
    let mm256_seed_mask = _mm256_set_epi64x(seed_mask, seed_mask, seed_mask, seed_mask);
    let marker_mask =
        (MarkerBits::MAX >> (std::mem::size_of::<MarkerBits>() * 8 - 2 * marker_k)) as i64;
    let rev_marker_mask: u64 = !(3 << (2 * marker_k - 2));
    let rev_marker_mask = i64::from_le_bytes(rev_marker_mask.to_le_bytes());
    //    dbg!(u64::MAX / (c as u64));
    //    dbg!((u64::MAX / (c as u64)) as i64);
    let threshold = i64::MIN + (u64::MAX / (c as u64)) as i64;
    let _threshold_marker = i64::MIN + (u64::MAX / marker_c as u64) as i64;
    let threshold_unsigned = u64::MAX / c as u64;
    let threshold_marker_unsigned = u64::MAX / marker_c as u64;
    let _cmp_thresh = _mm256_set_epi64x(threshold, threshold, threshold, threshold);

    let mm256_marker_mask = _mm256_set_epi64x(marker_mask, marker_mask, marker_mask, marker_mask);
    let mm256_rev_marker_mask = _mm256_set_epi64x(
        rev_marker_mask,
        rev_marker_mask,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…