Skip to content

Commit

Permalink
chore: address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Al-Kindi-0 committed Oct 23, 2024
1 parent 84b9373 commit 0ac341e
Show file tree
Hide file tree
Showing 21 changed files with 85 additions and 91 deletions.
2 changes: 1 addition & 1 deletion air/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ mod errors;
pub use errors::AssertionError;

mod options;
pub use options::{FieldExtension, PartitionOption, ProofOptions};
pub use options::{FieldExtension, PartitionOptions, ProofOptions};

mod air;
pub use air::{
Expand Down
57 changes: 26 additions & 31 deletions air/src/options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@ pub struct ProofOptions {
field_extension: FieldExtension,
fri_folding_factor: u8,
fri_remainder_max_degree: u8,
num_partitions: u8,
min_partition_size: u8,
partition_options: PartitionOptions,
}

// PROOF OPTIONS IMPLEMENTATION
Expand Down Expand Up @@ -169,8 +168,7 @@ impl ProofOptions {
field_extension,
fri_folding_factor: fri_folding_factor as u8,
fri_remainder_max_degree: fri_remainder_max_degree as u8,
num_partitions: 1,
min_partition_size: 1,
partition_options: PartitionOptions::new(1, 1),
}
}

Expand All @@ -185,20 +183,7 @@ impl ProofOptions {
num_partitions: usize,
min_partition_size: usize,
) -> ProofOptions {
assert!(num_partitions >= 1, "number of partitions must be greater than or eqaul to 1");
assert!(num_partitions <= 16, "number of partitions must be smaller than or equal to 16");

assert!(
min_partition_size >= 1,
"smallest partition size must be greater than or equal to 1"
);
assert!(
min_partition_size <= 256,
"smallest partition size must be smaller than or equal to 256"
);

self.num_partitions = num_partitions as u8;
self.min_partition_size = min_partition_size as u8;
self.partition_options = PartitionOptions::new(num_partitions, min_partition_size);

self
}
Expand Down Expand Up @@ -260,12 +245,9 @@ impl ProofOptions {
FriOptions::new(self.blowup_factor(), folding_factor, remainder_max_degree)
}

/// Returns the `[PartitionOption]` used in this instance of proof options.
pub fn get_partition_option(&self) -> PartitionOption {
PartitionOption {
num_partitions: self.num_partitions,
min_partition_size: self.min_partition_size,
}
/// Returns the `[PartitionOptions]` used in this instance of proof options.
pub fn partition_options(&self) -> PartitionOptions {
self.partition_options
}
}

Expand Down Expand Up @@ -294,8 +276,8 @@ impl Serializable for ProofOptions {
target.write(self.field_extension);
target.write_u8(self.fri_folding_factor);
target.write_u8(self.fri_remainder_max_degree);
target.write_u8(self.num_partitions);
target.write_u8(self.min_partition_size);
target.write_u8(self.partition_options.num_partitions);
target.write_u8(self.partition_options.min_partition_size);
}
}

Expand Down Expand Up @@ -366,14 +348,27 @@ impl Deserializable for FieldExtension {
// ================================================================================================

/// Defines the parameters used when committing to the traces generated during the protocol.
pub struct PartitionOption {
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct PartitionOptions {
num_partitions: u8,
min_partition_size: u8,
}

impl PartitionOption {
/// Returns a new instance of `[PartitionOption]`.
pub fn new(num_partitions: usize, min_partition_size: usize) -> Self {
impl PartitionOptions {
/// Returns a new instance of `[PartitionOptions]`.
pub const fn new(num_partitions: usize, min_partition_size: usize) -> Self {
assert!(num_partitions >= 1, "number of partitions must be greater than or eqaul to 1");
assert!(num_partitions <= 16, "number of partitions must be smaller than or equal to 16");

assert!(
min_partition_size >= 1,
"smallest partition size must be greater than or equal to 1"
);
assert!(
min_partition_size <= 256,
"smallest partition size must be smaller than or equal to 256"
);

Self {
num_partitions: num_partitions as u8,
min_partition_size: min_partition_size as u8,
Expand All @@ -392,7 +387,7 @@ impl PartitionOption {
}
}

impl Default for PartitionOption {
impl Default for PartitionOptions {
fn default() -> Self {
Self { num_partitions: 1, min_partition_size: 1 }
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/fibonacci/fib2/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -77,7 +77,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/fibonacci/fib8/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -92,7 +92,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/fibonacci/fib_small/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// LICENSE file in the root directory of this source tree.
use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -82,7 +82,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/fibonacci/mulfib2/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -73,7 +73,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/fibonacci/mulfib8/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -85,7 +85,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/lamport/aggregate/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use winterfell::iterators::*;
use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -121,7 +121,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/lamport/threshold/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use std::collections::HashMap;
use winterfell::iterators::*;
use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -163,7 +163,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/merkle/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -128,7 +128,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/rescue/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -95,7 +95,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/rescue_raps/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use core_utils::uninit_vector;
use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable,
};

Expand Down Expand Up @@ -127,7 +127,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/vdf/exempt/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -78,7 +78,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions examples/src/vdf/regular/prover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

use winterfell::{
crypto::MerkleTree, matrix::ColMatrix, AuxRandElements, ConstraintCompositionCoefficients,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOption, StarkDomain, Trace, TraceInfo,
DefaultConstraintEvaluator, DefaultTraceLde, PartitionOptions, StarkDomain, Trace, TraceInfo,
TracePolyTable, TraceTable,
};

Expand Down Expand Up @@ -73,7 +73,7 @@ where
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>) {
DefaultTraceLde::new(trace_info, main_trace, domain, partition_option)
}
Expand Down
4 changes: 2 additions & 2 deletions prover/benches/lagrange_kernel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use std::time::Duration;

use air::{
Air, AirContext, Assertion, AuxRandElements, ConstraintCompositionCoefficients,
EvaluationFrame, FieldExtension, GkrRandElements, LagrangeKernelRandElements, PartitionOption,
EvaluationFrame, FieldExtension, GkrRandElements, LagrangeKernelRandElements, PartitionOptions,
ProofOptions, TraceInfo, TransitionConstraintDegree,
};
use criterion::{criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
Expand Down Expand Up @@ -202,7 +202,7 @@ impl Prover for LagrangeProver {
trace_info: &TraceInfo,
main_trace: &ColMatrix<Self::BaseField>,
domain: &StarkDomain<Self::BaseField>,
partition_option: PartitionOption,
partition_option: PartitionOptions,
) -> (Self::TraceLde<E>, TracePolyTable<E>)
where
E: math::FieldElement<BaseField = Self::BaseField>,
Expand Down
Loading

0 comments on commit 0ac341e

Please sign in to comment.