mirror of
https://github.com/zkonduit/ezkl.git
synced 2026-01-13 08:17:57 -05:00
Compare commits
1 Commits
ac/panic-o
...
v20.1.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a456e0041 |
@@ -1,7 +1,7 @@
|
||||
import ezkl
|
||||
|
||||
project = 'ezkl'
|
||||
release = '0.0.0'
|
||||
release = '20.1.1'
|
||||
version = release
|
||||
|
||||
|
||||
|
||||
@@ -19,11 +19,6 @@ pub fn integer_rep_to_felt<F: PrimeField>(x: IntegerRep) -> F {
|
||||
/// Converts a PrimeField element to an f64.
|
||||
pub fn felt_to_f64<F: PrimeField + PartialOrd + Field>(x: F) -> f64 {
|
||||
if x > F::from_u128(IntegerRep::MAX as u128) {
|
||||
if x == -F::from_u128(IntegerRep::MAX as u128) - F::ONE {
|
||||
return IntegerRep::MIN as f64;
|
||||
} else if x < -F::from_u128(IntegerRep::MAX as u128) - F::ONE {
|
||||
panic!("Felt value out of range for conversion to integer rep");
|
||||
}
|
||||
let rep = (-x).to_repr();
|
||||
let negtmp: &[u8] = rep.as_ref();
|
||||
let lower_128: u128 = u128::from_le_bytes(negtmp[..16].try_into().unwrap());
|
||||
@@ -36,13 +31,11 @@ pub fn felt_to_f64<F: PrimeField + PartialOrd + Field>(x: F) -> f64 {
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a PrimeField element to an integer rep.
|
||||
/// Converts a PrimeField element to an i64.
|
||||
pub fn felt_to_integer_rep<F: PrimeField + PartialOrd + Field>(x: F) -> IntegerRep {
|
||||
if x > F::from_u128(IntegerRep::MAX as u128) {
|
||||
if x == -F::from_u128(IntegerRep::MAX as u128) - F::ONE {
|
||||
return IntegerRep::MIN;
|
||||
} else if x < -F::from_u128(IntegerRep::MAX as u128) - F::ONE {
|
||||
panic!("Felt value out of range for conversion to integer rep");
|
||||
}
|
||||
let rep = (-x).to_repr();
|
||||
let negtmp: &[u8] = rep.as_ref();
|
||||
@@ -77,13 +70,6 @@ mod test {
|
||||
assert_eq!(res, F::from(131072));
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
fn felttointegerrep_overflow() {
|
||||
let fieldx: F = integer_rep_to_felt::<F>(IntegerRep::MIN) - F::ONE;
|
||||
let _xf: IntegerRep = felt_to_integer_rep::<F>(fieldx);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn felttointegerrep() {
|
||||
for x in -(2_i128.pow(16))..(2_i128.pow(16)) {
|
||||
|
||||
Reference in New Issue
Block a user