Remove unnecessary unsafes

This commit is contained in:
Alex Page 2023-06-21 21:57:09 -04:00
parent 43caccc8b7
commit 063b4b5dc7

View file

@ -69,7 +69,7 @@ static mut f: [uint64_t; 6] = [
1_i32 as uint64_t,
];
unsafe fn residue_add(x: uint64_t, y: uint64_t) -> uint64_t {
fn residue_add(x: uint64_t, y: uint64_t) -> uint64_t {
let mut z: uint64_t = x.wrapping_add(y);
if z >= 0x16a6b036d7f2a79_u64 {
z = z.wrapping_sub(0x16a6b036d7f2a79_u64) as uint64_t as uint64_t;
@ -77,7 +77,7 @@ unsafe fn residue_add(x: uint64_t, y: uint64_t) -> uint64_t {
z
}
unsafe fn residue_sub(x: uint64_t, y: uint64_t) -> uint64_t {
fn residue_sub(x: uint64_t, y: uint64_t) -> uint64_t {
let mut z: uint64_t = x.wrapping_sub(y);
if x < y {
z = z.wrapping_add(0x16a6b036d7f2a79_u64) as uint64_t as uint64_t;
@ -112,14 +112,14 @@ fn ui128_quotient_mod(lo: u64, hi: u64) -> u64 {
prod3lo >> 42_i32 | prod3hi << 22_i32
}
unsafe fn residue_mul(x: uint64_t, y: uint64_t) -> uint64_t {
fn residue_mul(x: uint64_t, y: uint64_t) -> uint64_t {
let mut hi: uint64_t = 0;
let lo: uint64_t = umul128(x, y, &mut hi);
let quotient: uint64_t = ui128_quotient_mod(lo, hi);
lo.wrapping_sub(quotient.wrapping_mul(0x16a6b036d7f2a79_u64)) as uint64_t
}
unsafe fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t {
fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t {
if y == 0_i32 as u64 {
return 1_i32 as uint64_t;
}
@ -142,7 +142,7 @@ unsafe fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t {
res
}
unsafe fn inverse(mut u: uint64_t, mut v: uint64_t) -> uint64_t {
fn inverse(mut u: uint64_t, mut v: uint64_t) -> uint64_t {
let mut tmp;
let mut xu: int64_t = 1_i32 as int64_t;
let mut xv: int64_t = 0_i32 as int64_t;
@ -162,11 +162,11 @@ unsafe fn inverse(mut u: uint64_t, mut v: uint64_t) -> uint64_t {
xu as uint64_t
}
unsafe fn residue_inv(x: uint64_t) -> uint64_t {
fn residue_inv(x: uint64_t) -> uint64_t {
inverse(x, 0x16a6b036d7f2a79_u64 as uint64_t)
}
unsafe fn residue_sqrt(what: uint64_t) -> uint64_t {
fn residue_sqrt(what: uint64_t) -> uint64_t {
if what == 0 {
return 0_i32 as uint64_t;
}
@ -794,7 +794,7 @@ unsafe fn divisor_mul128(
}
}
unsafe fn rol(x: u32, shift: i32) -> u32 {
fn rol(x: u32, shift: i32) -> u32 {
x << shift | x >> (32_i32 - shift)
}