use super::*;
impl<E: Environment> Zero for Field<E> {
fn zero() -> Self {
Self::new(E::Field::zero())
}
fn is_zero(&self) -> bool {
self.field.is_zero()
}
}
#[cfg(test)]
mod tests {
use super::*;
use snarkvm_console_network_environment::Console;
type CurrentEnvironment = Console;
const ITERATIONS: u64 = 100;
#[test]
fn test_zero() {
let zero = Field::<CurrentEnvironment>::zero();
for bit in zero.to_bits_le().iter() {
assert!(!bit)
}
}
#[test]
fn test_is_zero() {
assert!(Field::<CurrentEnvironment>::zero().is_zero());
let mut rng = TestRng::default();
for _ in 0..ITERATIONS {
let field: Field<CurrentEnvironment> = Uniform::rand(&mut rng);
assert!(!field.is_zero());
}
}
}