mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-05 23:33:07 +00:00
Make generators public
This commit is contained in:
parent
5de5bfb5e4
commit
bf02a3e87d
@ -372,7 +372,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct EqualityGenerator {
|
||||
pub struct EqualityGenerator {
|
||||
x: Target,
|
||||
y: Target,
|
||||
equal: BoolTarget,
|
||||
|
||||
@ -495,7 +495,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct QuotientGeneratorExtension<const D: usize> {
|
||||
pub struct QuotientGeneratorExtension<const D: usize> {
|
||||
numerator: ExtensionTarget<D>,
|
||||
denominator: ExtensionTarget<D>,
|
||||
quotient: ExtensionTarget<D>,
|
||||
|
||||
@ -7,4 +7,4 @@ pub mod random_access;
|
||||
pub mod range_check;
|
||||
pub mod select;
|
||||
pub mod split_base;
|
||||
pub(crate) mod split_join;
|
||||
pub mod split_join;
|
||||
|
||||
@ -53,7 +53,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct LowHighGenerator {
|
||||
pub struct LowHighGenerator {
|
||||
integer: Target,
|
||||
n_log: usize,
|
||||
low: Target,
|
||||
|
||||
@ -81,7 +81,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct BaseSumGenerator<const B: usize> {
|
||||
pub struct BaseSumGenerator<const B: usize> {
|
||||
row: usize,
|
||||
limbs: Vec<BoolTarget>,
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct SplitGenerator {
|
||||
pub struct SplitGenerator {
|
||||
integer: Target,
|
||||
bits: Vec<Target>,
|
||||
}
|
||||
@ -99,7 +99,7 @@ impl<F: RichField> SimpleGenerator<F> for SplitGenerator {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct WireSplitGenerator {
|
||||
pub struct WireSplitGenerator {
|
||||
integer: Target,
|
||||
gates: Vec<usize>,
|
||||
num_limbs: usize,
|
||||
|
||||
@ -181,7 +181,7 @@ impl<F: RichField + Extendable<D>, const D: usize> PackedEvaluableBase<F, D> for
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub(crate) struct ArithmeticBaseGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct ArithmeticBaseGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
const_0: F,
|
||||
const_1: F,
|
||||
|
||||
@ -165,7 +165,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for ArithmeticExte
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub(crate) struct ArithmeticExtensionGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct ArithmeticExtensionGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
const_0: F,
|
||||
const_1: F,
|
||||
|
||||
@ -387,7 +387,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for CosetInterpola
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct InterpolationGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct InterpolationGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
gate: CosetInterpolationGate<F, D>,
|
||||
interpolation_domain: Vec<F>,
|
||||
|
||||
@ -238,7 +238,7 @@ impl<F: RichField + Extendable<D>, const D: usize> PackedEvaluableBase<F, D>
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct ExponentiationGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct ExponentiationGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
gate: ExponentiationGate<F, D>,
|
||||
}
|
||||
|
||||
@ -152,7 +152,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for MulExtensionGa
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub(crate) struct MulExtensionGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct MulExtensionGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
const_0: F,
|
||||
i: usize,
|
||||
|
||||
@ -410,7 +410,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for PoseidonGate<F
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct PoseidonGenerator<F: RichField + Extendable<D> + Poseidon, const D: usize> {
|
||||
pub struct PoseidonGenerator<F: RichField + Extendable<D> + Poseidon, const D: usize> {
|
||||
row: usize,
|
||||
_phantom: PhantomData<F>,
|
||||
}
|
||||
|
||||
@ -210,7 +210,7 @@ impl<F: RichField + Extendable<D> + Poseidon, const D: usize> Gate<F, D> for Pos
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
pub(crate) struct PoseidonMdsGenerator<const D: usize> {
|
||||
pub struct PoseidonMdsGenerator<const D: usize> {
|
||||
row: usize,
|
||||
}
|
||||
|
||||
|
||||
@ -339,7 +339,7 @@ impl<F: RichField + Extendable<D>, const D: usize> PackedEvaluableBase<F, D>
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct RandomAccessGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
pub struct RandomAccessGenerator<F: RichField + Extendable<D>, const D: usize> {
|
||||
row: usize,
|
||||
gate: RandomAccessGate<F, D>,
|
||||
copy: usize,
|
||||
|
||||
@ -178,7 +178,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for ReducingGate<D
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct ReducingGenerator<const D: usize> {
|
||||
pub struct ReducingGenerator<const D: usize> {
|
||||
row: usize,
|
||||
gate: ReducingGate<D>,
|
||||
}
|
||||
|
||||
@ -178,7 +178,7 @@ impl<F: RichField + Extendable<D>, const D: usize> Gate<F, D> for ReducingExtens
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct ReducingGenerator<const D: usize> {
|
||||
pub struct ReducingGenerator<const D: usize> {
|
||||
row: usize,
|
||||
gate: ReducingExtensionGate<D>,
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ impl<T: WitnessGenerator<F>, F: Field> AnyWitnessGenerator<F> for T {
|
||||
}
|
||||
|
||||
/// A wrapper around an `Box<AnyWitnessGenerator>`.
|
||||
pub struct WitnessGeneratorRef<F: Field>(pub(crate) Box<dyn AnyWitnessGenerator<F>>);
|
||||
pub struct WitnessGeneratorRef<F: Field>(pub Box<dyn AnyWitnessGenerator<F>>);
|
||||
|
||||
impl<F: Field> WitnessGeneratorRef<F> {
|
||||
pub fn new<G: AnyWitnessGenerator<F>>(generator: G) -> WitnessGeneratorRef<F> {
|
||||
@ -269,7 +269,7 @@ impl<F: Field, SG: SimpleGenerator<F>> WitnessGenerator<F> for SimpleGeneratorAd
|
||||
|
||||
/// A generator which copies one wire to another.
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct CopyGenerator {
|
||||
pub struct CopyGenerator {
|
||||
pub(crate) src: Target,
|
||||
pub(crate) dst: Target,
|
||||
}
|
||||
@ -302,7 +302,7 @@ impl<F: Field> SimpleGenerator<F> for CopyGenerator {
|
||||
|
||||
/// A generator for including a random value
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct RandomValueGenerator {
|
||||
pub struct RandomValueGenerator {
|
||||
pub(crate) target: Target,
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@ impl<F: Field> SimpleGenerator<F> for RandomValueGenerator {
|
||||
|
||||
/// A generator for testing if a value equals zero
|
||||
#[derive(Debug, Default)]
|
||||
pub(crate) struct NonzeroTestGenerator {
|
||||
pub struct NonzeroTestGenerator {
|
||||
pub(crate) to_test: Target,
|
||||
pub(crate) dummy: Target,
|
||||
}
|
||||
@ -372,7 +372,7 @@ impl<F: Field> SimpleGenerator<F> for NonzeroTestGenerator {
|
||||
|
||||
/// Generator used to fill an extra constant.
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub(crate) struct ConstantGenerator<F: Field> {
|
||||
pub struct ConstantGenerator<F: Field> {
|
||||
pub row: usize,
|
||||
pub constant_index: usize,
|
||||
pub wire_index: usize,
|
||||
|
||||
@ -154,7 +154,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct DummyProofGenerator<F, C, const D: usize>
|
||||
pub struct DummyProofGenerator<F, C, const D: usize>
|
||||
where
|
||||
F: RichField + Extendable<D>,
|
||||
C: GenericConfig<D, F = F>,
|
||||
|
||||
@ -63,6 +63,14 @@ macro_rules! get_generator_tag_impl {
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
/// Macro implementing the `WitnessGeneratorSerializer` trait.
|
||||
/// To serialize a list of generators used for a circuit,
|
||||
/// this macro should be called with a struct on which to implement
|
||||
/// this as first argument, followed by all the targeted generators.
|
||||
///
|
||||
/// ***NOTE:*** If you need to include `DummyProofGenerator`, you **MUST**
|
||||
/// place it at the *beginning* of the generators list, right after
|
||||
/// the serializer struct.
|
||||
macro_rules! impl_generator_serializer {
|
||||
($target:ty, $($generator_types:ty),+) => {
|
||||
fn read_generator(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user