poulpy/backend/src/hal/delegates/scalar_znx.rs
backend/src/hal/delegates/scalar_znx.rsRaw
1use crate::hal::{
2 api::{ScalarZnxAlloc, ScalarZnxAllocBytes},
3 layouts::{Backend, Module, ScalarZnxOwned},
4 oep::{ScalarZnxAllocBytesImpl, ScalarZnxAllocImpl},
5};
6
7impl<B> ScalarZnxAllocBytes for Module<B>
8where
9 B: Backend + ScalarZnxAllocBytesImpl<B>,
10{
11 fn scalar_znx_alloc_bytes(&self, cols: usize) -> usize {
12 B::scalar_znx_alloc_bytes_impl(self.n(), cols)
13 }
14}
15
16impl<B> ScalarZnxAlloc for Module<B>
17where
18 B: Backend + ScalarZnxAllocImpl<B>,
19{
20 fn scalar_znx_alloc(&self, cols: usize) -> ScalarZnxOwned {
21 B::scalar_znx_alloc_impl(self.n(), cols)
22 }
23}