message: Removed prepare from quantize.cc and registered PrepareQuantizeReference as prepare function
diff: @@ -31,60 +31,12 @@ void* Init(TfLiteContext* context, const char* buffer, size_t length) {
  sizeof(OpDataQuantizeReference));
  }
  -TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) {
  - TFLITE_DCHECK(node->user_data != nullptr);
  - auto* data = static_cast<OpDataQuantizeReference*>(node->user_data);
  -
  - TF_LITE_ENSURE_EQ(context, NumInputs(node), 1);
  - TF_LITE_ENSURE_EQ(context, NumOutputs(node), 1);
  -
  - const TfLiteTensor* input = GetInput(context, node, 0);
  - TF_LITE_ENSURE(context, input != nullptr);
  - TfLiteTensor* output = GetOutput(context, node, 0);
  - TF_LITE_ENSURE(context, output != nullptr);
  -
  - // TODO(b/128934713): Add support for fixed-point per-channel quantization.
  - // Currently this only support affine per-layer quantization.
  - TF_LITE_ENSURE_EQ(context, output->quantization.type,
  - kTfLiteAffineQuantization);
  - const auto* affine_quantization =
  - reinterpret_cast<TfLiteAffineQuantization*>(output->quantization.params);
  - TF_LITE_ENSURE(context, affine_quantization);
  - TF_LITE_ENSURE(context, affine_quantization->scale);
  - TF_LITE_ENSURE(context, affine_quantization->scale->size == 1);
  -
  - TF_LITE_ENSURE(context, input->type == kTfLiteFloat32 ||
  - input->type == kTfLiteInt16 ||
  - input->type == kTfLiteInt8);
  - TF_LITE_ENSURE(context, output->type == kTfLiteInt8 ||
  - output->type == kTfLiteInt16 ||
  - output->type == kTfLiteInt32);
  -
  - if ((input->type == kTfLiteInt16 && output->type == kTfLiteInt8) ||
  - (input->type == kTfLiteInt8 && output->type == kTfLiteInt8) ||
  - (input->type == kTfLiteInt8 && output->type == kTfLiteInt32) ||
  - (input->type == kTfLiteInt16 && output->type == kTfLiteInt16) ||
  - (input->type == kTfLiteInt16 && output->type == kTfLiteInt32)) {
  - double effective_scale = static_cast<double>(input->params.scale) /
  - static_cast<double>(output->params.scale);
  -
  - QuantizeMultiplier(effective_scale, &data->requantize_output_multiplier,
  - &data->requantize_output_shift);
  - }
  -
  - data->quantization_params.zero_point = output->params.zero_point;
  - data->quantization_params.scale = static_cast<double>(output->params.scale);
  -
  - data->input_zero_point = input->params.zero_point;
  - return kTfLiteOk;
  -}
  -
  } // namespace
  TfLiteRegistration Register_QUANTIZE() {
  return {/*init=*/Init,
  /*free=*/nullptr,
  - /*prepare=*/Prepare,
  + /*prepare=*/PrepareQuantizeReference,
  /*invoke=*/EvalQuantizeReference,
  /*profiling_string=*/nullptr,
  /*builtin_code=*/0,
  