code: def test_scrump_plus_plus_A_B_join(T_A, T_B, percentages):
      m = 3
      zone = int(np.ceil(m / 4))
  
      for s in range(1, zone + 1):
          for percentage in percentages:
              seed = np.random.randint(100000)
  
              np.random.seed(seed)
              ref_P, ref_I = naive.prescrump(T_A, m, T_B, s=s, k=1)
  
              (
                  ref_P_aux,
                  ref_I_aux,
                  ref_left_I_aux,
                  ref_right_I_aux,
              ) = naive.scrump(
                  T_A, m, T_B, percentage, None, False, None, k=1
              )
  
              naive.merge_topk_PI(ref_P, ref_P_aux, ref_I, ref_I_aux)
              ref_left_I = ref_left_I_aux
              ref_right_I = ref_right_I_aux
  
              approx = scrump(
                  T_A,
                  m,
                  T_B,
                  ignore_trivial=False,
                  percentage=percentage,
                  pre_scrump=True,
                  s=s,
              )
              approx.update()
              comp_P = approx.P_
              comp_I = approx.I_
              comp_left_I = approx.left_I_
              comp_right_I = approx.right_I_
  
              naive.replace_inf(ref_P)
              naive.replace_inf(comp_P)
  
              ref_P = ref_P
              ref_I = ref_I
              npt.assert_almost_equal(ref_P, comp_P)
              npt.assert_almost_equal(ref_I, comp_I)
              npt.assert_almost_equal(ref_left_I, comp_left_I)
              npt.assert_almost_equal(ref_right_I, comp_right_I)
  
imports: import functools
  import naive
  import numpy
  import numpy.testing
  import pytest
  from stumpy import config, scrump, stump
  from stumpy.scrump import prescrump
label_desc: Use image node_id 17 for calling a global function with example usage: test_scrump_plus_plus_A_B_join(T_A, T_B, percentages) without return types