zenu_matrix/constructor/ones.rs
1use crate::{
2 device::DeviceBase,
3 dim::DimTrait,
4 matrix::{Matrix, Owned, Repr},
5 num::Num,
6};
7
8impl<T, S, D> Matrix<Owned<T>, S, D>
9where
10 T: Num,
11 S: DimTrait,
12 D: DeviceBase,
13{
14 pub fn ones<I: Into<S>>(dim: I) -> Self {
15 let dim = dim.into();
16 let data = vec![T::one(); dim.num_elm()];
17 Self::from_vec(data, dim)
18 }
19
20 pub fn ones_like<R: Repr<Item = T>>(m: &Matrix<R, S, D>) -> Self {
21 Self::ones(m.shape())
22 }
23}