feat: start working on add for polynomial
This commit is contained in:
parent
6e33e2e44c
commit
6431a6636e
1 changed files with 16 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
use std::{
|
use std::{
|
||||||
env::args,
|
env::args,
|
||||||
ops::{Add, Mul},
|
ops::{Add, BitXor, Mul},
|
||||||
};
|
};
|
||||||
|
|
||||||
use anyhow::{anyhow, Ok, Result};
|
use anyhow::{anyhow, Ok, Result};
|
||||||
|
|
@ -73,9 +73,13 @@ impl Mul for Polynomial {
|
||||||
impl Add for Polynomial {
|
impl Add for Polynomial {
|
||||||
type Output = Self;
|
type Output = Self;
|
||||||
fn add(self, rhs: Self) -> Self::Output {
|
fn add(self, rhs: Self) -> Self::Output {
|
||||||
FieldElement::new(
|
for i in 0..self.polynomial.len() {
|
||||||
xor_bytes(&self.field_element, rhs.field_element).expect("Error in poly add"),
|
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 {
|
impl From<Vec<u8>> for FieldElement {
|
||||||
fn from(item: Vec<u8>) -> Self {
|
fn from(item: Vec<u8>) -> Self {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue