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