void* Init(TfLiteContext* context, const char* buffer, size_t length) {
  auto* op_data = new OpData();
  // If the RHS is constant, we only transpose once.
  op_data->rhs_transposed = false;
  // Creates the temp tensors to store the transposed LHS and/or RHS, and
  // extra buffers for the quantized case.
  context->AddTensors(context,
                      kNumTempTensorsForAdjoints + kNumTempTensorsForHybrid,
                      &op_data->scratch_tensor_index);
  return op_data;
}
void* Init(TfLiteContext* context, const char* buffer, size_t length) {
  auto* op_data = new OpData();
   
  op_data->rhs_transposed = false;
   
   
  context->AddTensors(context,
                      kNumTempTensorsForAdjoints + kNumTempTensorsForHybrid,
                      &op_data->scratch_tensor_index);
  return op_data;
}