use crate::data_manager::DataManager;
use crate::types::CodeParams;
pub trait HDPC {
fn mul_data(&self, _manager: &mut DataManager, _params: &CodeParams, _x_ids: &[usize], _y_ids: &[usize]) {
}
fn mul_binary(&self, params: &CodeParams, n: usize, v: &dyn Fn(usize) -> Vec<u8>) -> Vec<Vec<u8>> {
let s = |i: usize| v(i)
.iter()
.enumerate()
.filter(|&(_, &v)| v == 1)
.map(|(j, _)| j).collect::<Vec<_>>();
self.mul_sparse(params, n, &s)
}
fn mul_sparse(&self, _params: &CodeParams, _n: usize, _s: &dyn Fn(usize) -> Vec<usize>) -> Vec<Vec<u8>> {
vec![]
}
fn mul_sparse_sh(&self, _params: &CodeParams, _s: &dyn Fn(usize) -> Vec<usize>) -> Vec<Vec<u8>> {
vec![]
}
}