@@ -56,7 +56,7 @@ def scipy_delaunay(points_np, query_points_np, max_simplices):
5656 # ---------- find_simplex for split cross points ----------
5757 split_points_idx = tri .find_simplex (split_points )
5858
59- ( splitted_mappings ,) = pix_indexes_for_sub_slim_index_delaunay_from (
59+ splitted_mappings = pix_indexes_for_sub_slim_index_delaunay_from (
6060 source_plane_data_grid = split_points ,
6161 simplex_index_for_sub_slim_index = split_points_idx ,
6262 pix_indexes_for_simplex_index = simplices ,
@@ -248,21 +248,23 @@ def pix_indexes_for_sub_slim_index_delaunay_from(
248248
249249class DelaunayInterface :
250250
251- def __init__ (self , points , simplices , mappings , split_points , splitted_mappings ):
251+ def __init__ (self , points , simplices , mappings , split_points , splitted_mappings , xp = np ):
252252
253253 self .points = points
254254 self .simplices = simplices
255255 self .mappings = mappings
256256 self .split_points = split_points
257257 self .splitted_mappings = splitted_mappings
258258
259+ self .xp = xp
260+
259261 @cached_property
260262 def sizes (self ):
261- return np .sum (self .mappings >= 0 , axis = 1 ).astype (np .int32 )
263+ return self . xp .sum (self .mappings >= 0 , axis = 1 ).astype (np .int32 )
262264
263265 @cached_property
264266 def splitted_sizes (self ):
265- return np .sum (self .splitted_mappings >= 0 , axis = 1 ).astype (np .int32 )
267+ return self . xp .sum (self .splitted_mappings >= 0 , axis = 1 ).astype (np .int32 )
266268
267269
268270class Mesh2DDelaunay (Abstract2DMesh ):
@@ -370,11 +372,12 @@ def delaunay(self) -> "scipy.spatial.Delaunay":
370372 )
371373
372374 return DelaunayInterface (
373- points ,
374- simplices ,
375- split_points ,
376- mappings ,
377- splitted_mappings ,
375+ points = points ,
376+ simplices = simplices ,
377+ mappings = mappings ,
378+ split_points = split_points ,
379+ splitted_mappings = splitted_mappings ,
380+ xp = self ._xp ,
378381 )
379382
380383 @property
0 commit comments