Remove unnecessary unsafes
This commit is contained in:
parent
43caccc8b7
commit
063b4b5dc7
1 changed files with 8 additions and 8 deletions
|
@ -69,7 +69,7 @@ static mut f: [uint64_t; 6] = [
|
||||||
1_i32 as uint64_t,
|
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);
|
let mut z: uint64_t = x.wrapping_add(y);
|
||||||
if z >= 0x16a6b036d7f2a79_u64 {
|
if z >= 0x16a6b036d7f2a79_u64 {
|
||||||
z = z.wrapping_sub(0x16a6b036d7f2a79_u64) as uint64_t as uint64_t;
|
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
|
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);
|
let mut z: uint64_t = x.wrapping_sub(y);
|
||||||
if x < y {
|
if x < y {
|
||||||
z = z.wrapping_add(0x16a6b036d7f2a79_u64) as uint64_t as uint64_t;
|
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
|
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 mut hi: uint64_t = 0;
|
||||||
let lo: uint64_t = umul128(x, y, &mut hi);
|
let lo: uint64_t = umul128(x, y, &mut hi);
|
||||||
let quotient: uint64_t = ui128_quotient_mod(lo, hi);
|
let quotient: uint64_t = ui128_quotient_mod(lo, hi);
|
||||||
lo.wrapping_sub(quotient.wrapping_mul(0x16a6b036d7f2a79_u64)) as uint64_t
|
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 {
|
if y == 0_i32 as u64 {
|
||||||
return 1_i32 as uint64_t;
|
return 1_i32 as uint64_t;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ unsafe fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t {
|
||||||
res
|
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 tmp;
|
||||||
let mut xu: int64_t = 1_i32 as int64_t;
|
let mut xu: int64_t = 1_i32 as int64_t;
|
||||||
let mut xv: int64_t = 0_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
|
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)
|
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 {
|
if what == 0 {
|
||||||
return 0_i32 as uint64_t;
|
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)
|
x << shift | x >> (32_i32 - shift)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue