use super::*;
impl<E: Environment> Zero for Group<E> {
fn zero() -> Self {
Self::from_projective(E::Projective::zero())
}
fn is_zero(&self) -> bool {
self.group.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 = Group::<CurrentEnvironment>::zero();
for bit in zero.to_bits_le().iter() {
assert!(!bit)
}
}
#[test]
fn test_is_zero() {
assert!(Group::<CurrentEnvironment>::zero().is_zero());
let mut rng = TestRng::default();
for _ in 0..ITERATIONS {
let group: Group<CurrentEnvironment> = Uniform::rand(&mut rng);
assert!(!group.is_zero());
}
}
}