[][src]Function bellperson::multiexp::multiexp

pub fn multiexp<Q, D, G, S>(
    pool: &Worker,
    bases: S,
    density_map: D,
    exponents: Arc<Vec<<<G::Engine as ScalarEngine>::Fr as PrimeField>::Repr>>,
    kern: &mut Option<LockedMultiexpKernel<G::Engine>>
) -> Box<dyn Future<Item = <G as CurveAffine>::Projective, Error = SynthesisError>> where
    &'a Q: QueryDensity,
    D: Send + Sync + 'static + Clone + AsRef<Q>,
    G: CurveAffine,
    G::Engine: Engine,
    S: SourceBuilder<G>, 

Perform multi-exponentiation. The caller is responsible for ensuring the query size is the same as the number of exponents.