From 7dac787220dba75914b2c979217f27af39c6bc85 Mon Sep 17 00:00:00 2001 From: USHINDI Date: Thu, 21 Mar 2024 00:57:20 -0700 Subject: [PATCH 1/2] implement test colinearity function --- baby-stark/src/polynomial.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/baby-stark/src/polynomial.rs b/baby-stark/src/polynomial.rs index b9e5042..a06c67b 100644 --- a/baby-stark/src/polynomial.rs +++ b/baby-stark/src/polynomial.rs @@ -174,9 +174,14 @@ impl Polynomial { None => Err("COULD_NOT_GET_MODULO".to_string()) } } + - pub fn __xor__(self, exponent : i128) -> Polynomial { - // TBD - Polynomial::from(vec![FieldElement::new()]) + fn test_colinearity(points: &[(i128, i128)]) -> bool { + let domain = points.iter().map(|&(x, _)| x).collect::>(); + let values = points.iter().map(|&(_, y)| y).collect::>(); + let polynomial = Polynomial::interpolate_domain(&domain, &values);// it depends on the interpolate_domain function done by Justin Fimbo + polynomial.degree() <= 1 } + + } From 22f526145c68cc4d70ed3f4296f3f7e55366fed3 Mon Sep 17 00:00:00 2001 From: USHINDI Date: Thu, 21 Mar 2024 03:04:35 -0700 Subject: [PATCH 2/2] Fix the test colinearity for review --- baby-stark/src/polynomial.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/baby-stark/src/polynomial.rs b/baby-stark/src/polynomial.rs index a06c67b..815db0e 100644 --- a/baby-stark/src/polynomial.rs +++ b/baby-stark/src/polynomial.rs @@ -176,12 +176,15 @@ impl Polynomial { } - fn test_colinearity(points: &[(i128, i128)]) -> bool { - let domain = points.iter().map(|&(x, _)| x).collect::>(); - let values = points.iter().map(|&(_, y)| y).collect::>(); - let polynomial = Polynomial::interpolate_domain(&domain, &values);// it depends on the interpolate_domain function done by Justin Fimbo + + pub fn test_colinearity(points: [FieldElement]) -> bool { + let domain: Vec<_> = points.iter().map(|point| point.clone()).collect(); + let values: Vec<_> = points.iter().map(|point| point.clone()).collect(); + let polynomial = Polynomial::interpolate_domain(domain, values); polynomial.degree() <= 1 } + + }