Lines Matching refs:InputType
42 template <typename OutputStage, typename InputType>
44 static constexpr int kRows = InputType::kRows;
45 static constexpr int kCols = InputType::kCols;
46 using InputBufferType = typename InputType::BufferType;
55 OutputType Eval(InputType input, int, int) const {
67 using InputType = RegisterBuffer<std::int32_t, Size>;
74 OutputType Eval(InputType input) const {
77 using RegisterType = typename InputType::RegisterType;
81 for (int i = 0; i < InputType::kRegisterCount; i++) {
94 typedef RegisterBlock<std::int32_t, Rows, Cols> InputType;
100 OutputType Eval(InputType input, int row, int col) const {
105 LoadForBroadcasting<InputType>(output_stage.result_mult_int, pos);
107 LoadForBroadcasting<InputType>(output_stage.result_offset, pos);
108 const auto dividend = BroadcastMul<InputType>(
109 BroadcastAdd<InputType>(input, result_offset), result_mult_int);
110 for (int i = 0; i < InputType::kRegisterCount; i++) {
124 typedef RegisterBuffer<std::int32_t, Size> InputType;
131 OutputType Eval(InputType input) const {
133 using RegisterType = typename InputType::RegisterType;
136 for (int i = 0; i < InputType::kRegisterCount; i++) {
153 typedef RegisterBuffer<std::int32_t, Size> InputType;
155 static_assert(InputType::kRegisterLanes == 1,
162 OutputType Eval(InputType input) const {
164 for (int i = 0; i < InputType::kRegisterCount; i++) {
175 typedef RegisterBlock<std::int32_t, Rows, Cols> InputType;
181 OutputType Eval(InputType input, int row, int col) const {
183 return BroadcastAdd<InputType>(
184 input, LoadForBroadcasting<InputType>(output_stage.bias_vector, pos));
193 typedef RegisterBuffer<std::int32_t, Size> InputType;
200 OutputType Eval(InputType input) const {
201 using RegisterType = typename InputType::RegisterType;
205 for (int i = 0; i < InputType::kRegisterCount; i++) {
217 typedef RegisterBuffer<std::int32_t, Size> InputType;
219 using RegisterType = typename InputType::RegisterType;
252 OutputType Eval(InputType input) const {
302 template <typename OutputPipelineType, int FirstStage, typename InputType,
308 typedef typename OutputStageEvalImpl<FirstStageType, InputType>::OutputType
314 template <typename OutputPipelineType, int FirstStage, typename InputType>
315 struct OutputPipelineOutputType<OutputPipelineType, FirstStage, InputType,
317 typedef InputType Type;
327 template <typename OutputPipelineType, int FirstStage, typename InputType,
333 typedef typename OutputStageEvalImpl<FirstStageType, InputType>::OutputType
336 InputType>::Type OutputType;
342 OutputType Eval(InputType input, int row, int col) const {
349 const OutputStageEvalImpl<FirstStageType, InputType> head_impl;
356 template <typename OutputPipelineType, int FirstStage, typename InputType>
357 struct OutputPipelineEvalImpl<OutputPipelineType, FirstStage, InputType, true> {
360 InputType Eval(InputType input, int, int) const {
394 template <typename OutputPipelineType, typename InputType>
404 void Execute(InputType input, DstType* dst, int src_global_row,
409 OutputPipelineType, 0, InputType
423 const OutputPipelineEvalImpl<OutputPipelineType, 0, InputType>