From 6431a6636ed777e190355b36d81d850946b98244 Mon Sep 17 00:00:00 2001 From: 0xalivecow Date: Mon, 11 Nov 2024 10:31:59 +0100 Subject: [PATCH] feat: start working on add for polynomial --- src/utils/field.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/utils/field.rs b/src/utils/field.rs index f0da8f0..63e2230 100644 --- a/src/utils/field.rs +++ b/src/utils/field.rs @@ -1,6 +1,6 @@ use std::{ env::args, - ops::{Add, Mul}, + ops::{Add, BitXor, Mul}, }; use anyhow::{anyhow, Ok, Result}; @@ -73,9 +73,13 @@ impl Mul for Polynomial { impl Add for Polynomial { type Output = Self; fn add(self, rhs: Self) -> Self::Output { - FieldElement::new( - xor_bytes(&self.field_element, rhs.field_element).expect("Error in poly add"), - ) + for i in 0..self.polynomial.len() { + for j in 0..rhs.polynomial.len() { + polynomial[i + j] = &polynomial[i + j] + + &(self.polynomial.get(i).unwrap() * rhs.polynomial.get(j).unwrap()); + } + } + Polynomial::new(polynomial) } } @@ -169,6 +173,14 @@ impl Clone for FieldElement { } } +/* +impl BitXor for FieldElement { + fn bitxor(self, rhs: Self) -> Self::Output { + FieldElement + } +} +*/ + /* impl From> for FieldElement { fn from(item: Vec) -> Self {