Add basic pfmath functionality #13

Merged
0xalivecow merged 7 commits from dev into main 2024-11-14 22:12:02 +00:00
Showing only changes of commit 6431a6636e - Show all commits

View file

@ -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<Vec<u8>> for FieldElement {
fn from(item: Vec<u8>) -> Self {