void ComparisonString(bool (*opname)(const StringRef&, const StringRef&),
                      const TfLiteTensor* input1, const TfLiteTensor* input2,
                      TfLiteTensor* output, bool requires_broadcast) {
  bool* output_data = GetTensorData<bool>(output);
  if (requires_broadcast) {
    reference_ops::BroadcastComparison4DSlowStringImpl(
        opname, GetTensorShape(input1), input1, GetTensorShape(input2), input2,
        GetTensorShape(output), output_data);
  } else {
    reference_ops::ComparisonStringImpl(opname, GetTensorShape(input1), input1,
                                        GetTensorShape(input2), input2,
                                        GetTensorShape(output), output_data);
  }
}
void ComparisonString(bool (*opname)(const StringRef&, const StringRef&),
                      const TfLiteTensor* input1, const TfLiteTensor* input2,
                      TfLiteTensor* output, bool requires_broadcast) {
  bool* output_data = GetTensorData<bool>(output);
  if (requires_broadcast) {
    reference_ops::BroadcastComparison4DSlowStringImpl(
        opname, GetTensorShape(input1), input1, GetTensorShape(input2), input2,
        GetTensorShape(output), output_data);
  } else {
    reference_ops::ComparisonStringImpl(opname, GetTensorShape(input1), input1,
                                        GetTensorShape(input2), input2,
                                        GetTensorShape(output), output_data);
  }
}