acme_tensor/actions/create/
mod.rs1pub use self::{arange::*, linspace::*, stack::*, utils::*};
6
7pub(crate) mod arange;
8pub(crate) mod linspace;
9pub(crate) mod stack;
10
11pub(crate) mod utils {
12 use core::ops::{Div, Sub};
13 use num::traits::{FromPrimitive, ToPrimitive};
14 pub fn step_size<T>(start: T, stop: T, steps: usize) -> T
16 where
17 T: FromPrimitive + Div<Output = T> + Sub<Output = T>,
18 {
19 (stop - start) / T::from_usize(steps).unwrap()
20 }
21
22 pub fn steps<T>(start: T, stop: T, step: T) -> usize
23 where
24 T: ToPrimitive + Div<Output = T> + Sub<Output = T>,
25 {
26 let steps = (stop - start) / step;
27 steps.to_usize().unwrap()
28 }
29}
30
31#[cfg(test)]
32mod tests {}