1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use crate::internal::*; #[derive(Debug, Clone, new, Hash)] pub struct Const(pub Arc<Tensor>); tract_linalg::impl_dyn_hash!(Const); impl Op for Const { fn name(&self) -> Cow<str> { "Const".into() } op_core_mir!(); op_as_typed_op!(); not_a_pulsed_op!(); } impl StatelessOp for Const { fn eval(&self, _inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>> { Ok(tvec![self.0.clone()]) } } impl TypedOp for Const { as_op!(); fn output_facts(&self, _inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>> { Ok(tvec!(self.0.as_ref().into())) } }