arnaucube
arnaucube/poulpyPublic Self-hosted repository
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}