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 31 32 33
use crate::internal::*; #[derive(Debug, Clone, new, Hash)] pub struct Const(pub Arc<Tensor>); impl_dyn_hash!(Const); impl Op for Const { fn name(&self) -> Cow<str> { "Const".into() } op_core_mir!(); op_as_typed_op!(); } impl EvalOp for Const { fn is_stateless(&self) -> bool { true } 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())) } }