Probably foolish forcing of inlining.

This commit is contained in:
2018-03-06 18:45:43 -08:00
parent ab32c02bfc
commit 67a3ac61d3

View File

@@ -1,6 +1,6 @@
use std::cmp::Ordering; use std::cmp::Ordering;
#[inline] #[inline(always)]
pub fn generic_cmp(a: &[u64], b: &[u64]) -> Ordering { pub fn generic_cmp(a: &[u64], b: &[u64]) -> Ordering {
let mut i = a.len() - 1; let mut i = a.len() - 1;
@@ -25,7 +25,7 @@ fn ge(a: &[u64], b: &[u64]) -> bool {
generic_cmp(a, b) != Ordering::Less generic_cmp(a, b) != Ordering::Less
} }
#[inline] #[inline(always)]
pub fn generic_bitand(a: &mut [u64], b: &[u64]) { pub fn generic_bitand(a: &mut [u64], b: &[u64]) {
let mut i = 0; let mut i = 0;
@@ -36,7 +36,7 @@ pub fn generic_bitand(a: &mut [u64], b: &[u64]) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_bitor(a: &mut [u64], b: &[u64]) { pub fn generic_bitor(a: &mut [u64], b: &[u64]) {
let mut i = 0; let mut i = 0;
@@ -47,7 +47,7 @@ pub fn generic_bitor(a: &mut [u64], b: &[u64]) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_bitxor(a: &mut [u64], b: &[u64]) { pub fn generic_bitxor(a: &mut [u64], b: &[u64]) {
let mut i = 0; let mut i = 0;
@@ -58,14 +58,14 @@ pub fn generic_bitxor(a: &mut [u64], b: &[u64]) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_not(a: &mut [u64]) { pub fn generic_not(a: &mut [u64]) {
for x in a.iter_mut() { for x in a.iter_mut() {
*x = !*x; *x = !*x;
} }
} }
#[inline] #[inline(always)]
pub fn generic_shl(a: &mut [u64], orig: &[u64], amount: usize) { pub fn generic_shl(a: &mut [u64], orig: &[u64], amount: usize) {
let digits = amount / 64; let digits = amount / 64;
let bits = amount % 64; let bits = amount % 64;
@@ -84,7 +84,7 @@ pub fn generic_shl(a: &mut [u64], orig: &[u64], amount: usize) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_shr(a: &mut [u64], orig: &[u64], amount: usize) { pub fn generic_shr(a: &mut [u64], orig: &[u64], amount: usize) {
let digits = amount / 64; let digits = amount / 64;
let bits = amount % 64; let bits = amount % 64;
@@ -100,7 +100,7 @@ pub fn generic_shr(a: &mut [u64], orig: &[u64], amount: usize) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_add(a: &mut [u64], b: &[u64]) { pub fn generic_add(a: &mut [u64], b: &[u64]) {
let mut carry = 0; let mut carry = 0;
@@ -114,7 +114,7 @@ pub fn generic_add(a: &mut [u64], b: &[u64]) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_sub(a: &mut [u64], b: &[u64]) { pub fn generic_sub(a: &mut [u64], b: &[u64]) {
let mut negated_rhs = b.to_vec(); let mut negated_rhs = b.to_vec();
generic_not(&mut negated_rhs); generic_not(&mut negated_rhs);
@@ -125,7 +125,7 @@ pub fn generic_sub(a: &mut [u64], b: &[u64]) {
generic_add(a, &negated_rhs); generic_add(a, &negated_rhs);
} }
#[inline] #[inline(always)]
pub fn generic_mul(a: &mut [u64], orig: &[u64], b: &[u64]) { pub fn generic_mul(a: &mut [u64], orig: &[u64], b: &[u64]) {
assert!(a.len() == orig.len()); assert!(a.len() == orig.len());
assert!(a.len() == b.len()); assert!(a.len() == b.len());
@@ -183,7 +183,7 @@ pub fn generic_mul(a: &mut [u64], orig: &[u64], b: &[u64]) {
} }
} }
#[inline] #[inline(always)]
pub fn generic_div(inx: &[u64], iny: &[u64], pub fn generic_div(inx: &[u64], iny: &[u64],
outq: &mut [u64], outr: &mut [u64]) outq: &mut [u64], outr: &mut [u64])
{ {