Skip to content

Commit 41f6a74

Browse files
committed
Implement convolution
1 parent 54a54fd commit 41f6a74

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/convolution.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,19 @@
1+
use crate::modint::{Modulus, RemEuclidU32, StaticModInt};
12

3+
fn convolution<M: Modulus>(a: &[StaticModInt<M>], b: &[StaticModInt<M>]) -> Vec<StaticModInt<M>> {
4+
todo!();
5+
}
6+
7+
fn convolution_integer<T: RemEuclidU32>(a: &[T], b: &[T], modulus: u32) -> Vec<T> {
8+
todo!();
9+
}
10+
11+
fn convolution_i64(a: &[i64], b: &[i64]) -> Vec<i64> {
12+
todo!();
13+
}
14+
15+
pub trait Convolution: Sized {
16+
type Value;
17+
const MODULUS: u32;
18+
fn convolution(a: &[Self::Value], b: &[Self::Value]) -> Vec<Self::Value>;
19+
}

0 commit comments

Comments
 (0)