code: def assert_equal(
      pdf1, pdf2, acceptable_difference, use_percentage, engine
  ):
      np.warnings.filterwarnings("ignore")
      if pdf1.shape[0] == pdf2.shape[0]:
          if pdf1.shape[1] == pdf2.shape[1]:
              pdf1.reset_index(drop=True, inplace=True)
              pdf2.reset_index(drop=True, inplace=True)
  
              exac_comp = pdf1.select_dtypes(exclude=np.inexact).equals(
                  pdf2.select_dtypes(exclude=np.inexact)
              )
  
              tmp_pdf1 = pdf1.select_dtypes(include=np.inexact)
              tmp_pdf2 = pdf2.select_dtypes(include=np.inexact)
  
              res = np.all(exac_comp) and np.allclose(
                  tmp_pdf1.values,
                  tmp_pdf2.values,
                  acceptable_difference,
                  equal_nan=True,
              )
              if res:
                  return "Success"
              else:
                  return "Fail: Different values"
          else:
              return (
                  "Fail: Different number of columns blzSQLresult: "
                  + str(pdf1.shape[1])
                  + " "
                  + (engine)
                  + " result: "
                  + str(pdf2.shape[1])
              )
      else:
          return (
              "Fail: Different number of rows blzSQLresult: "
              + str(pdf1.shape[0])
              + " "
              + (engine)
              + " result: "
              + str(pdf2.shape[0])
          )
  
imports: from blazingsql import BlazingContext
  from blazingsql import DataType, S3EncryptionType
  import numpy
  import pandas
  import os
  import subprocess
  import sys
  from EndToEndTests import tpchQueries
label_desc: Use image node_id 13 for calling a global function with example usage: assert_equal(pdf1, pdf2, acceptable_difference, use_percentage, engine) and returns: unknown, unknown, str, str