From 437b66d4ee0099e7a4101a9bb6d4011a8d38d7c5 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 16 May 2019 20:56:36 -0700 Subject: [PATCH] Closes #52. Fix test error "attempt to shift right with overflow". Use wrapping function to directly disable integer overflow protection. --- sapling-crypto/src/circuit/uint32.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sapling-crypto/src/circuit/uint32.rs b/sapling-crypto/src/circuit/uint32.rs index 4e66091..6dd4535 100644 --- a/sapling-crypto/src/circuit/uint32.rs +++ b/sapling-crypto/src/circuit/uint32.rs @@ -656,9 +656,9 @@ mod test { for i in 0..60 { let num = rng.gen(); let a = UInt32::constant(num).shr(i); - let b = UInt32::constant(num >> i); + let b = UInt32::constant(num.wrapping_shr(i as u32)); - assert_eq!(a.value.unwrap(), num >> i); + assert_eq!(a.value.unwrap(), num.wrapping_shr(i as u32)); assert_eq!(a.bits.len(), b.bits.len()); for (a, b) in a.bits.iter().zip(b.bits.iter()) {