From cd26489b335c4153e7384b459d666c88dcb498b4 Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Fri, 16 Oct 2020 13:34:08 -0500
Subject: [PATCH] use new boxtree api

---
 requirements.txt     | 2 +-
 sumpy/fmm.py         | 6 +++---
 test/test_fmm.py     | 6 +++---
 test/test_kernels.py | 3 ++-
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/requirements.txt b/requirements.txt
index 42ee76a7..53206324 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,6 +5,6 @@ git+https://github.com/inducer/pytools#egg=pytools
 git+https://github.com/inducer/pymbolic#egg=pymbolic
 git+https://github.com/inducer/islpy#egg=islpy
 git+https://github.com/inducer/pyopencl#egg=pyopencl
-git+https://github.com/inducer/boxtree#egg=boxtree
+git+https://github.com/isuruf/boxtree@multi_p2e#egg=boxtree
 git+https://github.com/inducer/loopy#egg=loo.py
 git+https://github.com/inducer/pyfmmlib#egg=pyfmmlib
diff --git a/sumpy/fmm.py b/sumpy/fmm.py
index 157bd5f5..cb35fb53 100644
--- a/sumpy/fmm.py
+++ b/sumpy/fmm.py
@@ -372,7 +372,7 @@ class SumpyExpansionWrangler:
                     self.queue,
                     source_boxes=source_boxes[start:stop],
                     centers=self.tree.box_centers,
-                    strengths=(src_weights,),
+                    strengths=src_weights,
                     tgt_expansions=mpoles_view,
                     tgt_base_ibox=level_start_ibox,
 
@@ -457,7 +457,7 @@ class SumpyExpansionWrangler:
                 target_boxes=target_boxes,
                 source_box_starts=source_box_starts,
                 source_box_lists=source_box_lists,
-                strength=(src_weights,),
+                strength=src_weights,
                 result=pot,
 
                 **kwargs)
@@ -588,7 +588,7 @@ class SumpyExpansionWrangler:
                     source_box_starts=starts[start:stop+1],
                     source_box_lists=lists,
                     centers=self.tree.box_centers,
-                    strengths=(src_weights,),
+                    strengths=src_weights,
 
                     tgt_expansions=target_local_exps_view,
                     tgt_base_ibox=target_level_start_ibox,
diff --git a/test/test_fmm.py b/test/test_fmm.py
index 45c17c38..73fd236c 100644
--- a/test/test_fmm.py
+++ b/test/test_fmm.py
@@ -179,7 +179,7 @@ def test_sumpy_fmm(ctx_factory, knl, local_expn_class, mpole_expn_class):
 
         from boxtree.fmm import drive_fmm
 
-        pot, = drive_fmm(trav, wrangler, weights)
+        pot, = drive_fmm(trav, wrangler, (weights,))
 
         from sumpy import P2P
         p2p = P2P(ctx, out_kernels, exclude_self=False)
@@ -249,7 +249,7 @@ def test_sumpy_fmm_timing_data_collection(ctx_factory):
     from boxtree.fmm import drive_fmm
 
     timing_data = {}
-    pot, = drive_fmm(trav, wrangler, weights, timing_data=timing_data)
+    pot, = drive_fmm(trav, wrangler, (weights,), timing_data=timing_data)
     print(timing_data)
     assert timing_data
 
@@ -308,7 +308,7 @@ def test_sumpy_fmm_exclude_self(ctx_factory):
 
     from boxtree.fmm import drive_fmm
 
-    pot, = drive_fmm(trav, wrangler, weights)
+    pot, = drive_fmm(trav, wrangler, (weights,))
 
     from sumpy import P2P
     p2p = P2P(ctx, out_kernels, exclude_self=True)
diff --git a/test/test_kernels.py b/test/test_kernels.py
index 2435cc25..3d0dea7a 100644
--- a/test/test_kernels.py
+++ b/test/test_kernels.py
@@ -210,7 +210,8 @@ def test_p2e_multiple(ctx_factory, base_knl, expn_class):
             out_host=True, **extra_source_kwargs)
         expected_result += mpoles
 
-    assert np.allclose(actual_result, expected_result)
+    norm = la.norm(actual_result - expected_result)/la.norm(expected_result)
+    assert norm < 1e-12
 
 
 @pytest.mark.parametrize("order", [4])
-- 
GitLab