Remove unnecessary function decorators

(and an unused function)
This commit is contained in:
Alex Page 2023-06-21 21:10:41 -04:00
parent cac0235f2c
commit a0657d2652

View file

@ -1,4 +1,9 @@
#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals)] #![allow(
non_camel_case_types,
non_snake_case,
non_upper_case_globals,
clippy::too_many_arguments
)]
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};
@ -63,24 +68,24 @@ static mut f: [uint64_t; 6] = [
0x1400606322b3b04_u64 as uint64_t, 0x1400606322b3b04_u64 as uint64_t,
1_i32 as uint64_t, 1_i32 as uint64_t,
]; ];
#[no_mangle]
unsafe extern "C" fn residue_add(x: uint64_t, y: uint64_t) -> uint64_t { unsafe 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;
} }
z z
} }
#[no_mangle]
unsafe extern "C" fn residue_sub(x: uint64_t, y: uint64_t) -> uint64_t { unsafe 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;
} }
z z
} }
#[no_mangle]
unsafe extern "C" fn __umul128( unsafe fn __umul128(
multiplier: uint64_t, multiplier: uint64_t,
multiplicand: uint64_t, multiplicand: uint64_t,
product_hi: *mut uint64_t, product_hi: *mut uint64_t,
@ -102,8 +107,8 @@ unsafe extern "C" fn __umul128(
.wrapping_add(product_lo_carry); .wrapping_add(product_lo_carry);
product_lo product_lo
} }
#[no_mangle]
unsafe extern "C" fn ui128_quotient_mod(lo: uint64_t, hi: uint64_t) -> uint64_t { unsafe fn ui128_quotient_mod(lo: uint64_t, hi: uint64_t) -> uint64_t {
let mut prod1: uint64_t = 0; let mut prod1: uint64_t = 0;
__umul128(lo, 0x604fa6a1c6346a87_i64 as uint64_t, &mut prod1); __umul128(lo, 0x604fa6a1c6346a87_i64 as uint64_t, &mut prod1);
let mut part1hi: uint64_t = 0; let mut part1hi: uint64_t = 0;
@ -121,15 +126,15 @@ unsafe extern "C" fn ui128_quotient_mod(lo: uint64_t, hi: uint64_t) -> uint64_t
prod3hi = prod3hi.wrapping_add((prod3lo < prod2) as i32 as u64) as uint64_t as uint64_t; prod3hi = prod3hi.wrapping_add((prod3lo < prod2) as i32 as u64) as uint64_t as uint64_t;
prod3lo >> 42_i32 | prod3hi << 22_i32 prod3lo >> 42_i32 | prod3hi << 22_i32
} }
#[no_mangle]
unsafe extern "C" fn residue_mul(x: uint64_t, y: uint64_t) -> uint64_t { unsafe 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
} }
#[no_mangle]
unsafe extern "C" fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t { unsafe 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;
} }
@ -151,8 +156,8 @@ unsafe extern "C" fn residue_pow(x: uint64_t, mut y: uint64_t) -> uint64_t {
} }
res res
} }
#[no_mangle]
unsafe extern "C" fn inverse(mut u: uint64_t, mut v: uint64_t) -> uint64_t { unsafe 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;
@ -171,12 +176,12 @@ unsafe extern "C" fn inverse(mut u: uint64_t, mut v: uint64_t) -> uint64_t {
as int64_t; as int64_t;
xu as uint64_t xu as uint64_t
} }
#[no_mangle]
unsafe extern "C" fn residue_inv(x: uint64_t) -> uint64_t { unsafe fn residue_inv(x: uint64_t) -> uint64_t {
inverse(x, 0x16a6b036d7f2a79_u64 as uint64_t) inverse(x, 0x16a6b036d7f2a79_u64 as uint64_t)
} }
#[no_mangle]
unsafe extern "C" fn residue_sqrt(what: uint64_t) -> uint64_t { unsafe 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;
} }
@ -223,8 +228,8 @@ unsafe extern "C" fn residue_sqrt(what: uint64_t) -> uint64_t {
} }
x x
} }
#[no_mangle]
unsafe extern "C" fn find_divisor_v(mut d: *mut TDivisor) -> i32 { unsafe fn find_divisor_v(mut d: *mut TDivisor) -> i32 {
let mut v1; let mut v1;
let mut f2: [uint64_t; 6] = [0; 6]; let mut f2: [uint64_t; 6] = [0; 6];
let mut i: i32 = 0_i32; let mut i: i32 = 0_i32;
@ -298,8 +303,8 @@ unsafe extern "C" fn find_divisor_v(mut d: *mut TDivisor) -> i32 {
(*d).v[1_i32 as usize] = v1 as uint16_t; (*d).v[1_i32 as usize] = v1 as uint16_t;
1_i32 1_i32
} }
#[no_mangle]
unsafe extern "C" fn polynomial_mul( unsafe fn polynomial_mul(
adeg: i32, adeg: i32,
a: *const uint64_t, a: *const uint64_t,
bdeg: i32, bdeg: i32,
@ -333,8 +338,8 @@ unsafe extern "C" fn polynomial_mul(
} }
resultprevdeg resultprevdeg
} }
#[no_mangle]
unsafe extern "C" fn polynomial_div_monic( unsafe fn polynomial_div_monic(
adeg: i32, adeg: i32,
a: *mut uint64_t, a: *mut uint64_t,
bdeg: i32, bdeg: i32,
@ -364,8 +369,8 @@ unsafe extern "C" fn polynomial_div_monic(
} }
i i
} }
#[no_mangle]
unsafe extern "C" fn polynomial_xgcd( unsafe fn polynomial_xgcd(
adeg: i32, adeg: i32,
a: *const uint64_t, a: *const uint64_t,
bdeg: i32, bdeg: i32,
@ -482,12 +487,8 @@ unsafe extern "C" fn polynomial_xgcd(
*pmult1deg = mult1deg; *pmult1deg = mult1deg;
*pmult2deg = mult2deg; *pmult2deg = mult2deg;
} }
#[no_mangle]
unsafe extern "C" fn u2poly( unsafe fn u2poly(src: *const TDivisor, polyu: *mut uint64_t, polyv: *mut uint64_t) -> i32 {
src: *const TDivisor,
polyu: *mut uint64_t,
polyv: *mut uint64_t,
) -> i32 {
if (*src).u[1_i32 as usize] as u64 != 0xffffffffffffffff_u64 { if (*src).u[1_i32 as usize] as u64 != 0xffffffffffffffff_u64 {
*polyu.offset(0_i32 as isize) = (*src).u[0_i32 as usize] as uint64_t; *polyu.offset(0_i32 as isize) = (*src).u[0_i32 as usize] as uint64_t;
*polyu.offset(1_i32 as isize) = (*src).u[1_i32 as usize] as uint64_t; *polyu.offset(1_i32 as isize) = (*src).u[1_i32 as usize] as uint64_t;
@ -508,12 +509,8 @@ unsafe extern "C" fn u2poly(
*polyv.offset(1_i32 as isize) = 0_i32 as uint64_t; *polyv.offset(1_i32 as isize) = 0_i32 as uint64_t;
0_i32 0_i32
} }
#[no_mangle]
unsafe extern "C" fn divisor_add( unsafe fn divisor_add(src1: *const TDivisor, src2: *const TDivisor, mut dst: *mut TDivisor) {
src1: *const TDivisor,
src2: *const TDivisor,
mut dst: *mut TDivisor,
) {
let mut u1: [uint64_t; 3] = [0; 3]; let mut u1: [uint64_t; 3] = [0; 3];
let mut u2: [uint64_t; 3] = [0; 3]; let mut u2: [uint64_t; 3] = [0; 3];
let mut v1: [uint64_t; 2] = [0; 2]; let mut v1: [uint64_t; 2] = [0; 2];
@ -773,34 +770,8 @@ unsafe extern "C" fn divisor_add(
(*dst).v[1_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t; (*dst).v[1_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t;
}; };
} }
#[no_mangle]
unsafe extern "C" fn divisor_mul(src: *const TDivisor, mut mult: uint64_t, mut dst: *mut TDivisor) { unsafe fn divisor_mul128(
if mult == 0_i32 as u64 {
(*dst).u[0_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t;
(*dst).u[1_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t;
(*dst).v[0_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t;
(*dst).v[1_i32 as usize] = 0xffffffffffffffff_u64 as uint16_t;
return;
}
let mut cur: TDivisor = *src;
while mult & 1_i32 as u64 == 0 {
divisor_add(&cur, &cur, &mut cur);
mult >>= 1_i32;
}
*dst = cur;
loop {
mult >>= 1_i32;
if mult == 0_i32 as u64 {
break;
}
divisor_add(&cur, &cur, &mut cur);
if mult & 1_i32 as u64 != 0 {
divisor_add(dst, &cur, dst);
}
}
}
#[no_mangle]
unsafe extern "C" fn divisor_mul128(
src: *const TDivisor, src: *const TDivisor,
mut mult_lo: uint64_t, mut mult_lo: uint64_t,
mut mult_hi: uint64_t, mut mult_hi: uint64_t,
@ -838,12 +809,12 @@ unsafe extern "C" fn divisor_mul128(
} }
} }
} }
#[no_mangle]
unsafe extern "C" fn rol(x: u32, shift: i32) -> u32 { unsafe fn rol(x: u32, shift: i32) -> u32 {
x << shift | x >> (32_i32 - shift) x << shift | x >> (32_i32 - shift)
} }
#[no_mangle]
unsafe extern "C" fn sha1_single_block(input: *mut libc::c_uchar, output: *mut libc::c_uchar) { unsafe fn sha1_single_block(input: *mut libc::c_uchar, output: *mut libc::c_uchar) {
let mut a = 0x67452301_i32 as u32; let mut a = 0x67452301_i32 as u32;
let mut b = 0xefcdab89_u32; let mut b = 0xefcdab89_u32;
let mut c = 0x98badcfe_u32; let mut c = 0x98badcfe_u32;
@ -956,8 +927,8 @@ unsafe extern "C" fn sha1_single_block(input: *mut libc::c_uchar, output: *mut l
*output.offset(18_i32 as isize) = (e >> 8_i32) as libc::c_uchar; *output.offset(18_i32 as isize) = (e >> 8_i32) as libc::c_uchar;
*output.offset(19_i32 as isize) = e as libc::c_uchar; *output.offset(19_i32 as isize) = e as libc::c_uchar;
} }
#[no_mangle]
unsafe extern "C" fn Mix( unsafe fn Mix(
buffer: *mut libc::c_uchar, buffer: *mut libc::c_uchar,
bufSize: size_t, bufSize: size_t,
key: *const libc::c_uchar, key: *const libc::c_uchar,
@ -1012,8 +983,8 @@ unsafe extern "C" fn Mix(
external_counter += 1; external_counter += 1;
} }
} }
#[no_mangle]
unsafe extern "C" fn Unmix( unsafe fn Unmix(
buffer: *mut libc::c_uchar, buffer: *mut libc::c_uchar,
bufSize: size_t, bufSize: size_t,
key: *const libc::c_uchar, key: *const libc::c_uchar,
@ -1068,8 +1039,8 @@ unsafe extern "C" fn Unmix(
external_counter += 1; external_counter += 1;
} }
} }
#[no_mangle]
unsafe extern "C" fn Generate( unsafe fn Generate(
installation_id_str: *const libc::c_char, installation_id_str: *const libc::c_char,
confirmation_id: *mut libc::c_char, confirmation_id: *mut libc::c_char,
) -> i32 { ) -> i32 {