feat: Adding gcd implementation
This commit is contained in:
parent
8be8dc7a54
commit
0b18ba1bff
4 changed files with 102 additions and 9 deletions
|
|
@ -2,7 +2,10 @@ use anyhow::Result;
|
|||
use base64::{prelude::BASE64_STANDARD, Engine};
|
||||
use serde_json::Value;
|
||||
|
||||
use crate::utils::{field::FieldElement, poly::Polynomial};
|
||||
use crate::utils::{
|
||||
field::FieldElement,
|
||||
poly::{gcd, Polynomial},
|
||||
};
|
||||
|
||||
pub fn gfpoly_add(args: &Value) -> Result<Polynomial> {
|
||||
let poly_a = Polynomial::from_c_array(&args["A"].clone());
|
||||
|
|
@ -105,6 +108,15 @@ pub fn gfpoly_diff(args: &Value) -> Result<Polynomial> {
|
|||
Ok(result)
|
||||
}
|
||||
|
||||
pub fn gfpoly_gcd(args: &Value) -> Result<Polynomial> {
|
||||
let poly_a = Polynomial::from_c_array(&args["A"].clone());
|
||||
let poly_b = Polynomial::from_c_array(&args["B"].clone());
|
||||
|
||||
let result = gcd(poly_a, poly_b);
|
||||
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue