tract_pulse/ops/slice.rs
1use crate::internal::*;
2use tract_pulse_opl::ops::PulsedAxisSlice;
3
4impl PulsedOp for PulsedAxisSlice {
5 fn pulsed_output_facts(&self, inputs: &[&PulsedFact]) -> TractResult<TVec<PulsedFact>> {
6 let mut fact = inputs[0].clone();
7 let stream = fact.stream.as_mut().unwrap();
8 stream.delay += self.skip;
9 stream.dim = self.take.clone();
10 Ok(tvec!(fact))
11 }
12
13 as_op!();
14 pulsed_op_to_typed_op!();
15}
16