diff --git a/crates/core/src/protocols/sumcheck/v3/bivariate_mlecheck.rs b/crates/core/src/protocols/sumcheck/v3/bivariate_mlecheck.rs index b8c78fc36..45b903523 100644 --- a/crates/core/src/protocols/sumcheck/v3/bivariate_mlecheck.rs +++ b/crates/core/src/protocols/sumcheck/v3/bivariate_mlecheck.rs @@ -517,45 +517,3 @@ fn calculate_round_evals<'a, F: TowerField, Hal: ComputeLayer>( let evals = TryInto::<[F; 2]>::try_into(evals).expect("kernel returns two values"); Ok(evals) } - -#[cfg(test)] -mod tests { - use binius_compute::cpu::layer::CpuLayerHolder; - use binius_core_test_utils::bivariate_sumcheck::generic_test_bivariate_mlecheck_prove_verify; - use binius_fast_compute::layer::FastCpuLayerHolder; - use binius_field::{ - arch::OptimalUnderlier, as_packed_field::PackedType, tower::CanonicalTowerFamily, - }; - use binius_math::B128; - - #[test] - fn test_bivariate_mlecheck_prove_verify() { - let compute_holder = CpuLayerHolder::::new(1 << 13, 1 << 12); - let n_vars = 8; - let n_multilins = 8; - let n_compositions = 8; - generic_test_bivariate_mlecheck_prove_verify( - compute_holder, - n_vars, - n_multilins, - n_compositions, - ); - } - - #[test] - fn test_bivariate_mlecheck_prove_verify_fast() { - type F = B128; - type P = PackedType; - - let compute_holder = FastCpuLayerHolder::::new(1 << 13, 1 << 12); - let n_vars = 8; - let n_multilins = 8; - let n_compositions = 8; - generic_test_bivariate_mlecheck_prove_verify( - compute_holder, - n_vars, - n_multilins, - n_compositions, - ); - } -} diff --git a/crates/core/src/protocols/sumcheck/v3/bivariate_product.rs b/crates/core/src/protocols/sumcheck/v3/bivariate_product.rs index 950fb3101..a63c755bf 100644 --- a/crates/core/src/protocols/sumcheck/v3/bivariate_product.rs +++ b/crates/core/src/protocols/sumcheck/v3/bivariate_product.rs @@ -429,69 +429,3 @@ pub enum PhaseState { InitialSums(Vec), BatchedSum(F), } - -#[cfg(test)] -mod tests { - use binius_compute::cpu::layer::CpuLayerHolder; - use binius_core_test_utils::bivariate_sumcheck::{ - generic_test_bivariate_sumcheck_prove_verify, generic_test_calculate_round_evals, - }; - use binius_fast_compute::layer::FastCpuLayerHolder; - use binius_field::{ - BinaryField128b, arch::OptimalUnderlier, as_packed_field::PackedType, - tower::CanonicalTowerFamily, - }; - use binius_math::B128; - - #[test] - fn test_calculate_round_evals() { - let compute_holder = CpuLayerHolder::new(1 << 11, 1 << 10); - let n_vars = 8; - generic_test_calculate_round_evals(compute_holder, n_vars) - } - - #[test] - fn test_calculate_round_evals_fast_cpu() { - type F = BinaryField128b; - type Packed = PackedType; - - let compute_holder = - FastCpuLayerHolder::::new(1 << 11, 1 << 10); - let n_vars = 8; - generic_test_calculate_round_evals(compute_holder, n_vars) - } - - #[test] - fn test_bivariate_sumcheck_prove_verify() { - let n_vars = 8; - let n_multilins = 8; - let n_compositions = 8; - - let compute_holder = CpuLayerHolder::::new(1 << 13, 1 << 12); - generic_test_bivariate_sumcheck_prove_verify( - compute_holder, - n_vars, - n_multilins, - n_compositions, - ) - } - - #[test] - fn test_bivariate_sumcheck_prove_verify_fast() { - type F = BinaryField128b; - type Packed = PackedType; - - let n_vars = 8; - let n_multilins = 8; - let n_compositions = 8; - let compute_holder = - FastCpuLayerHolder::::new(1 << 13, 1 << 12); - - generic_test_bivariate_sumcheck_prove_verify( - compute_holder, - n_vars, - n_multilins, - n_compositions, - ) - } -} diff --git a/crates/core/test_utils/src/bivariate_sumcheck.rs b/crates/core/test_utils/src/bivariate_sumcheck.rs index a32acf3aa..04feccfa8 100644 --- a/crates/core/test_utils/src/bivariate_sumcheck.rs +++ b/crates/core/test_utils/src/bivariate_sumcheck.rs @@ -456,3 +456,44 @@ pub fn generic_test_bivariate_mlecheck_prove_verify< assert_eq!(multilin_i.evaluate(query.to_ref()).unwrap(), eval); } } + +#[macro_export] +macro_rules! instantiate_bivariate_sumcheck_tests { + ($compute_holder:ty) => { + #[test] + fn test_calculate_round_evals() { + let compute_holder = <$compute_holder>::new(1 << 11, 1 << 10); + let n_vars = 8; + $crate::bivariate_sumcheck::generic_test_calculate_round_evals(compute_holder, n_vars) + } + + #[test] + fn test_bivariate_sumcheck_prove_verify() { + let n_vars = 8; + let n_multilins = 8; + let n_compositions = 8; + + let compute_holder = <$compute_holder>::new(1 << 13, 1 << 12); + $crate::bivariate_sumcheck::generic_test_bivariate_sumcheck_prove_verify( + compute_holder, + n_vars, + n_multilins, + n_compositions, + ) + } + + #[test] + fn test_bivariate_mlecheck_prove_verify() { + let compute_holder = <$compute_holder>::new(1 << 13, 1 << 12); + let n_vars = 8; + let n_multilins = 8; + let n_compositions = 8; + $crate::bivariate_sumcheck::generic_test_bivariate_mlecheck_prove_verify( + compute_holder, + n_vars, + n_multilins, + n_compositions, + ); + } + }; +} diff --git a/crates/core/tests/bivariate_sumcheck.rs b/crates/core/tests/bivariate_sumcheck.rs new file mode 100644 index 000000000..9b867b103 --- /dev/null +++ b/crates/core/tests/bivariate_sumcheck.rs @@ -0,0 +1,23 @@ +// Copyright 2025 Irreducible Inc. + +use binius_compute::cpu::layer::CpuLayerHolder; +use binius_core_test_utils::instantiate_bivariate_sumcheck_tests; +use binius_fast_compute::layer::FastCpuLayerHolder; +use binius_field::{ + arch::OptimalUnderlier, as_packed_field::PackedType, tower::CanonicalTowerFamily, +}; +use binius_math::B128; + +mod cpu_layer { + use super::*; + + instantiate_bivariate_sumcheck_tests!(CpuLayerHolder); +} + +mod fast_cpu_layer { + use super::*; + + instantiate_bivariate_sumcheck_tests!( + FastCpuLayerHolder::> + ); +}