fn combined_secret_key(secret_keys: &[SecretKey]) -> SecretKey {
        let coordinates: Vec<(Scalar, SecretKey)> = secret_keys
            .iter()
            .zip(0_u32..)
            .map(|(y, index)| (crypto::x_for_index(index), *y))
            .collect();
        Polynomial::interpolate(&coordinates)
            .coefficients
            .get(0)
            .cloned()
            .unwrap_or_else(SecretKey::zero)
    }
/// Given all the secret keys, get the combined secret key.
/// Useful for testing with the standard dealing API that throws away the
/// original secret polynomial.
Given all the secret keys, get the combined secret key.
Useful for testing with the standard dealing API that throws away the
original secret polynomial.
Given all the secret keys get the combined secret key . Useful for testing with the standard dealing API that throws away the original secret polynomial .
fn combined_secret_key(secret_keys: &[SecretKey]) -> SecretKey {
        let coordinates: Vec<(Scalar, SecretKey)> = secret_keys
            .iter()
            .zip(0_u32..)
            .map(|(y, index)| (crypto::x_for_index(index), *y))
            .collect();
        Polynomial::interpolate(&coordinates)
            .coefficients
            .get(0)
            .cloned()
            .unwrap_or_else(SecretKey::zero)
    }
fn combined_secret_key ( secret_keys : & [ SecretKey ] ) -> SecretKey { let coordinates : Vec < ( Scalar , SecretKey ) > = secret_keys . iter ( ) . zip ( 0_u32 .. ) . map ( | ( y , index ) | ( crypto :: x_for_index ( index ) , * y ) ) . collect ( ) ; Polynomial :: interpolate ( & coordinates ) . coefficients . get ( 0 ) . cloned ( ) . unwrap_or_else ( SecretKey :: zero ) }
Given all the secret keys, get the combined secret key.
Given all the secret keys get the combined secret key .
secret_keys
&[SecretKey]
secret_keys
&[SecretKey]