multipers 2.3.4__cp311-cp311-win_amd64.whl → 2.3.5b2__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of multipers might be problematic. Click here for more details.

Files changed (32) hide show
  1. multipers/_signed_measure_meta.py +50 -84
  2. multipers/array_api/numpy.py +7 -0
  3. multipers/array_api/torch.py +7 -2
  4. multipers/filtrations/filtrations.py +2 -0
  5. multipers/function_rips.cp311-win_amd64.pyd +0 -0
  6. multipers/grids.cp311-win_amd64.pyd +0 -0
  7. multipers/grids.pyx +57 -19
  8. multipers/io.cp311-win_amd64.pyd +0 -0
  9. multipers/mma_structures.cp311-win_amd64.pyd +0 -0
  10. multipers/multi_parameter_rank_invariant/function_rips.h +1 -1
  11. multipers/multiparameter_module_approximation/approximation.h +8 -2
  12. multipers/multiparameter_module_approximation.cp311-win_amd64.pyd +0 -0
  13. multipers/plots.py +3 -2
  14. multipers/point_measure.cp311-win_amd64.pyd +0 -0
  15. multipers/point_measure.pyx +1 -1
  16. multipers/simplex_tree_multi.cp311-win_amd64.pyd +0 -0
  17. multipers/simplex_tree_multi.pyx +88 -56
  18. multipers/simplex_tree_multi.pyx.tp +23 -7
  19. multipers/slicer.cp311-win_amd64.pyd +0 -0
  20. multipers/slicer.pxd +60 -60
  21. multipers/slicer.pxd.tp +1 -1
  22. multipers/slicer.pyx +2052 -1137
  23. multipers/slicer.pyx.tp +100 -43
  24. multipers/tbb12.dll +0 -0
  25. multipers/tbbbind_2_5.dll +0 -0
  26. multipers/tbbmalloc.dll +0 -0
  27. multipers/tbbmalloc_proxy.dll +0 -0
  28. {multipers-2.3.4.dist-info → multipers-2.3.5b2.dist-info}/METADATA +1 -1
  29. {multipers-2.3.4.dist-info → multipers-2.3.5b2.dist-info}/RECORD +32 -32
  30. {multipers-2.3.4.dist-info → multipers-2.3.5b2.dist-info}/WHEEL +0 -0
  31. {multipers-2.3.4.dist-info → multipers-2.3.5b2.dist-info}/licenses/LICENSE +0 -0
  32. {multipers-2.3.4.dist-info → multipers-2.3.5b2.dist-info}/top_level.txt +0 -0
multipers/slicer.pxd CHANGED
@@ -57,7 +57,7 @@ cdef extern from "Persistence_slices_interface.h":
57
57
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
58
58
  vector[int] get_dimensions() nogil
59
59
  int get_dimension(int i) nogil
60
- vector[vector[uint]] get_boundaries() nogil
60
+ const vector[vector[uint]]& get_boundaries() nogil
61
61
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
62
62
  vector[Multi_critical_filtration[int32_t]]& get_filtrations() nogil
63
63
  C_KSlicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -108,7 +108,7 @@ cdef extern from "Persistence_slices_interface.h":
108
108
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
109
109
  vector[int] get_dimensions() nogil
110
110
  int get_dimension(int i) nogil
111
- vector[vector[uint]] get_boundaries() nogil
111
+ const vector[vector[uint]]& get_boundaries() nogil
112
112
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
113
113
  vector[Multi_critical_filtration[int32_t]]& get_filtrations() nogil
114
114
  C_KSlicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -159,7 +159,7 @@ cdef extern from "Persistence_slices_interface.h":
159
159
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
160
160
  vector[int] get_dimensions() nogil
161
161
  int get_dimension(int i) nogil
162
- vector[vector[uint]] get_boundaries() nogil
162
+ const vector[vector[uint]]& get_boundaries() nogil
163
163
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
164
164
  vector[Multi_critical_filtration[int64_t]]& get_filtrations() nogil
165
165
  C_KSlicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -210,7 +210,7 @@ cdef extern from "Persistence_slices_interface.h":
210
210
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
211
211
  vector[int] get_dimensions() nogil
212
212
  int get_dimension(int i) nogil
213
- vector[vector[uint]] get_boundaries() nogil
213
+ const vector[vector[uint]]& get_boundaries() nogil
214
214
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
215
215
  vector[Multi_critical_filtration[int64_t]]& get_filtrations() nogil
216
216
  C_KSlicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -261,7 +261,7 @@ cdef extern from "Persistence_slices_interface.h":
261
261
  vector[One_critical_filtration[float]] get_filtration_values() nogil
262
262
  vector[int] get_dimensions() nogil
263
263
  int get_dimension(int i) nogil
264
- vector[vector[uint]] get_boundaries() nogil
264
+ const vector[vector[uint]]& get_boundaries() nogil
265
265
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
266
266
  vector[Multi_critical_filtration[float]]& get_filtrations() nogil
267
267
  C_KSlicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -312,7 +312,7 @@ cdef extern from "Persistence_slices_interface.h":
312
312
  vector[One_critical_filtration[float]] get_filtration_values() nogil
313
313
  vector[int] get_dimensions() nogil
314
314
  int get_dimension(int i) nogil
315
- vector[vector[uint]] get_boundaries() nogil
315
+ const vector[vector[uint]]& get_boundaries() nogil
316
316
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
317
317
  vector[Multi_critical_filtration[float]]& get_filtrations() nogil
318
318
  C_KSlicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -363,7 +363,7 @@ cdef extern from "Persistence_slices_interface.h":
363
363
  vector[One_critical_filtration[double]] get_filtration_values() nogil
364
364
  vector[int] get_dimensions() nogil
365
365
  int get_dimension(int i) nogil
366
- vector[vector[uint]] get_boundaries() nogil
366
+ const vector[vector[uint]]& get_boundaries() nogil
367
367
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
368
368
  vector[Multi_critical_filtration[double]]& get_filtrations() nogil
369
369
  C_KSlicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -414,7 +414,7 @@ cdef extern from "Persistence_slices_interface.h":
414
414
  vector[One_critical_filtration[double]] get_filtration_values() nogil
415
415
  vector[int] get_dimensions() nogil
416
416
  int get_dimension(int i) nogil
417
- vector[vector[uint]] get_boundaries() nogil
417
+ const vector[vector[uint]]& get_boundaries() nogil
418
418
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
419
419
  vector[Multi_critical_filtration[double]]& get_filtrations() nogil
420
420
  C_KSlicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -465,7 +465,7 @@ cdef extern from "Persistence_slices_interface.h":
465
465
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
466
466
  vector[int] get_dimensions() nogil
467
467
  int get_dimension(int i) nogil
468
- vector[vector[uint]] get_boundaries() nogil
468
+ const vector[vector[uint]]& get_boundaries() nogil
469
469
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
470
470
  vector[One_critical_filtration[int32_t]]& get_filtrations() nogil
471
471
  C_Slicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -516,7 +516,7 @@ cdef extern from "Persistence_slices_interface.h":
516
516
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
517
517
  vector[int] get_dimensions() nogil
518
518
  int get_dimension(int i) nogil
519
- vector[vector[uint]] get_boundaries() nogil
519
+ const vector[vector[uint]]& get_boundaries() nogil
520
520
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
521
521
  vector[One_critical_filtration[int32_t]]& get_filtrations() nogil
522
522
  C_Slicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -567,7 +567,7 @@ cdef extern from "Persistence_slices_interface.h":
567
567
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
568
568
  vector[int] get_dimensions() nogil
569
569
  int get_dimension(int i) nogil
570
- vector[vector[uint]] get_boundaries() nogil
570
+ const vector[vector[uint]]& get_boundaries() nogil
571
571
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
572
572
  vector[One_critical_filtration[int64_t]]& get_filtrations() nogil
573
573
  C_Slicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -618,7 +618,7 @@ cdef extern from "Persistence_slices_interface.h":
618
618
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
619
619
  vector[int] get_dimensions() nogil
620
620
  int get_dimension(int i) nogil
621
- vector[vector[uint]] get_boundaries() nogil
621
+ const vector[vector[uint]]& get_boundaries() nogil
622
622
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
623
623
  vector[One_critical_filtration[int64_t]]& get_filtrations() nogil
624
624
  C_Slicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -669,7 +669,7 @@ cdef extern from "Persistence_slices_interface.h":
669
669
  vector[One_critical_filtration[float]] get_filtration_values() nogil
670
670
  vector[int] get_dimensions() nogil
671
671
  int get_dimension(int i) nogil
672
- vector[vector[uint]] get_boundaries() nogil
672
+ const vector[vector[uint]]& get_boundaries() nogil
673
673
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
674
674
  vector[One_critical_filtration[float]]& get_filtrations() nogil
675
675
  C_Slicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -720,7 +720,7 @@ cdef extern from "Persistence_slices_interface.h":
720
720
  vector[One_critical_filtration[float]] get_filtration_values() nogil
721
721
  vector[int] get_dimensions() nogil
722
722
  int get_dimension(int i) nogil
723
- vector[vector[uint]] get_boundaries() nogil
723
+ const vector[vector[uint]]& get_boundaries() nogil
724
724
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
725
725
  vector[One_critical_filtration[float]]& get_filtrations() nogil
726
726
  C_Slicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -771,7 +771,7 @@ cdef extern from "Persistence_slices_interface.h":
771
771
  vector[One_critical_filtration[double]] get_filtration_values() nogil
772
772
  vector[int] get_dimensions() nogil
773
773
  int get_dimension(int i) nogil
774
- vector[vector[uint]] get_boundaries() nogil
774
+ const vector[vector[uint]]& get_boundaries() nogil
775
775
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
776
776
  vector[One_critical_filtration[double]]& get_filtrations() nogil
777
777
  C_Slicer_Matrix0_vine_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -822,7 +822,7 @@ cdef extern from "Persistence_slices_interface.h":
822
822
  vector[One_critical_filtration[double]] get_filtration_values() nogil
823
823
  vector[int] get_dimensions() nogil
824
824
  int get_dimension(int i) nogil
825
- vector[vector[uint]] get_boundaries() nogil
825
+ const vector[vector[uint]]& get_boundaries() nogil
826
826
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
827
827
  vector[One_critical_filtration[double]]& get_filtrations() nogil
828
828
  C_Slicer_Matrix1_vine_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -873,7 +873,7 @@ cdef extern from "Persistence_slices_interface.h":
873
873
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
874
874
  vector[int] get_dimensions() nogil
875
875
  int get_dimension(int i) nogil
876
- vector[vector[uint]] get_boundaries() nogil
876
+ const vector[vector[uint]]& get_boundaries() nogil
877
877
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
878
878
  vector[Multi_critical_filtration[int32_t]]& get_filtrations() nogil
879
879
  C_KSlicer_Matrix0_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -921,7 +921,7 @@ cdef extern from "Persistence_slices_interface.h":
921
921
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
922
922
  vector[int] get_dimensions() nogil
923
923
  int get_dimension(int i) nogil
924
- vector[vector[uint]] get_boundaries() nogil
924
+ const vector[vector[uint]]& get_boundaries() nogil
925
925
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
926
926
  vector[Multi_critical_filtration[int32_t]]& get_filtrations() nogil
927
927
  C_KSlicer_Matrix1_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -969,7 +969,7 @@ cdef extern from "Persistence_slices_interface.h":
969
969
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
970
970
  vector[int] get_dimensions() nogil
971
971
  int get_dimension(int i) nogil
972
- vector[vector[uint]] get_boundaries() nogil
972
+ const vector[vector[uint]]& get_boundaries() nogil
973
973
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
974
974
  vector[Multi_critical_filtration[int64_t]]& get_filtrations() nogil
975
975
  C_KSlicer_Matrix0_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1017,7 +1017,7 @@ cdef extern from "Persistence_slices_interface.h":
1017
1017
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
1018
1018
  vector[int] get_dimensions() nogil
1019
1019
  int get_dimension(int i) nogil
1020
- vector[vector[uint]] get_boundaries() nogil
1020
+ const vector[vector[uint]]& get_boundaries() nogil
1021
1021
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
1022
1022
  vector[Multi_critical_filtration[int64_t]]& get_filtrations() nogil
1023
1023
  C_KSlicer_Matrix1_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1065,7 +1065,7 @@ cdef extern from "Persistence_slices_interface.h":
1065
1065
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1066
1066
  vector[int] get_dimensions() nogil
1067
1067
  int get_dimension(int i) nogil
1068
- vector[vector[uint]] get_boundaries() nogil
1068
+ const vector[vector[uint]]& get_boundaries() nogil
1069
1069
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1070
1070
  vector[Multi_critical_filtration[float]]& get_filtrations() nogil
1071
1071
  C_KSlicer_Matrix0_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1113,7 +1113,7 @@ cdef extern from "Persistence_slices_interface.h":
1113
1113
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1114
1114
  vector[int] get_dimensions() nogil
1115
1115
  int get_dimension(int i) nogil
1116
- vector[vector[uint]] get_boundaries() nogil
1116
+ const vector[vector[uint]]& get_boundaries() nogil
1117
1117
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1118
1118
  vector[Multi_critical_filtration[float]]& get_filtrations() nogil
1119
1119
  C_KSlicer_Matrix1_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1161,7 +1161,7 @@ cdef extern from "Persistence_slices_interface.h":
1161
1161
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1162
1162
  vector[int] get_dimensions() nogil
1163
1163
  int get_dimension(int i) nogil
1164
- vector[vector[uint]] get_boundaries() nogil
1164
+ const vector[vector[uint]]& get_boundaries() nogil
1165
1165
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1166
1166
  vector[Multi_critical_filtration[double]]& get_filtrations() nogil
1167
1167
  C_KSlicer_Matrix0_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -1209,7 +1209,7 @@ cdef extern from "Persistence_slices_interface.h":
1209
1209
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1210
1210
  vector[int] get_dimensions() nogil
1211
1211
  int get_dimension(int i) nogil
1212
- vector[vector[uint]] get_boundaries() nogil
1212
+ const vector[vector[uint]]& get_boundaries() nogil
1213
1213
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1214
1214
  vector[Multi_critical_filtration[double]]& get_filtrations() nogil
1215
1215
  C_KSlicer_Matrix1_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -1257,7 +1257,7 @@ cdef extern from "Persistence_slices_interface.h":
1257
1257
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
1258
1258
  vector[int] get_dimensions() nogil
1259
1259
  int get_dimension(int i) nogil
1260
- vector[vector[uint]] get_boundaries() nogil
1260
+ const vector[vector[uint]]& get_boundaries() nogil
1261
1261
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
1262
1262
  vector[One_critical_filtration[int32_t]]& get_filtrations() nogil
1263
1263
  C_Slicer_Matrix0_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -1305,7 +1305,7 @@ cdef extern from "Persistence_slices_interface.h":
1305
1305
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
1306
1306
  vector[int] get_dimensions() nogil
1307
1307
  int get_dimension(int i) nogil
1308
- vector[vector[uint]] get_boundaries() nogil
1308
+ const vector[vector[uint]]& get_boundaries() nogil
1309
1309
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
1310
1310
  vector[One_critical_filtration[int32_t]]& get_filtrations() nogil
1311
1311
  C_Slicer_Matrix1_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -1353,7 +1353,7 @@ cdef extern from "Persistence_slices_interface.h":
1353
1353
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
1354
1354
  vector[int] get_dimensions() nogil
1355
1355
  int get_dimension(int i) nogil
1356
- vector[vector[uint]] get_boundaries() nogil
1356
+ const vector[vector[uint]]& get_boundaries() nogil
1357
1357
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
1358
1358
  vector[One_critical_filtration[int64_t]]& get_filtrations() nogil
1359
1359
  C_Slicer_Matrix0_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1401,7 +1401,7 @@ cdef extern from "Persistence_slices_interface.h":
1401
1401
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
1402
1402
  vector[int] get_dimensions() nogil
1403
1403
  int get_dimension(int i) nogil
1404
- vector[vector[uint]] get_boundaries() nogil
1404
+ const vector[vector[uint]]& get_boundaries() nogil
1405
1405
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
1406
1406
  vector[One_critical_filtration[int64_t]]& get_filtrations() nogil
1407
1407
  C_Slicer_Matrix1_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1449,7 +1449,7 @@ cdef extern from "Persistence_slices_interface.h":
1449
1449
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1450
1450
  vector[int] get_dimensions() nogil
1451
1451
  int get_dimension(int i) nogil
1452
- vector[vector[uint]] get_boundaries() nogil
1452
+ const vector[vector[uint]]& get_boundaries() nogil
1453
1453
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1454
1454
  vector[One_critical_filtration[float]]& get_filtrations() nogil
1455
1455
  C_Slicer_Matrix0_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1497,7 +1497,7 @@ cdef extern from "Persistence_slices_interface.h":
1497
1497
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1498
1498
  vector[int] get_dimensions() nogil
1499
1499
  int get_dimension(int i) nogil
1500
- vector[vector[uint]] get_boundaries() nogil
1500
+ const vector[vector[uint]]& get_boundaries() nogil
1501
1501
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1502
1502
  vector[One_critical_filtration[float]]& get_filtrations() nogil
1503
1503
  C_Slicer_Matrix1_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1545,7 +1545,7 @@ cdef extern from "Persistence_slices_interface.h":
1545
1545
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1546
1546
  vector[int] get_dimensions() nogil
1547
1547
  int get_dimension(int i) nogil
1548
- vector[vector[uint]] get_boundaries() nogil
1548
+ const vector[vector[uint]]& get_boundaries() nogil
1549
1549
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1550
1550
  vector[One_critical_filtration[double]]& get_filtrations() nogil
1551
1551
  C_Slicer_Matrix0_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -1593,7 +1593,7 @@ cdef extern from "Persistence_slices_interface.h":
1593
1593
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1594
1594
  vector[int] get_dimensions() nogil
1595
1595
  int get_dimension(int i) nogil
1596
- vector[vector[uint]] get_boundaries() nogil
1596
+ const vector[vector[uint]]& get_boundaries() nogil
1597
1597
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1598
1598
  vector[One_critical_filtration[double]]& get_filtrations() nogil
1599
1599
  C_Slicer_Matrix1_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -1641,7 +1641,7 @@ cdef extern from "Persistence_slices_interface.h":
1641
1641
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
1642
1642
  vector[int] get_dimensions() nogil
1643
1643
  int get_dimension(int i) nogil
1644
- vector[vector[uint]] get_boundaries() nogil
1644
+ const vector[vector[uint]]& get_boundaries() nogil
1645
1645
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
1646
1646
  vector[Multi_critical_filtration[int32_t]]& get_filtrations() nogil
1647
1647
  C_KSlicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -1689,7 +1689,7 @@ cdef extern from "Persistence_slices_interface.h":
1689
1689
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
1690
1690
  vector[int] get_dimensions() nogil
1691
1691
  int get_dimension(int i) nogil
1692
- vector[vector[uint]] get_boundaries() nogil
1692
+ const vector[vector[uint]]& get_boundaries() nogil
1693
1693
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
1694
1694
  vector[Multi_critical_filtration[int64_t]]& get_filtrations() nogil
1695
1695
  C_KSlicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1737,7 +1737,7 @@ cdef extern from "Persistence_slices_interface.h":
1737
1737
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1738
1738
  vector[int] get_dimensions() nogil
1739
1739
  int get_dimension(int i) nogil
1740
- vector[vector[uint]] get_boundaries() nogil
1740
+ const vector[vector[uint]]& get_boundaries() nogil
1741
1741
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1742
1742
  vector[Multi_critical_filtration[float]]& get_filtrations() nogil
1743
1743
  C_KSlicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1785,7 +1785,7 @@ cdef extern from "Persistence_slices_interface.h":
1785
1785
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1786
1786
  vector[int] get_dimensions() nogil
1787
1787
  int get_dimension(int i) nogil
1788
- vector[vector[uint]] get_boundaries() nogil
1788
+ const vector[vector[uint]]& get_boundaries() nogil
1789
1789
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1790
1790
  vector[Multi_critical_filtration[double]]& get_filtrations() nogil
1791
1791
  C_KSlicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -1833,7 +1833,7 @@ cdef extern from "Persistence_slices_interface.h":
1833
1833
  vector[One_critical_filtration[int32_t]] get_filtration_values() nogil
1834
1834
  vector[int] get_dimensions() nogil
1835
1835
  int get_dimension(int i) nogil
1836
- vector[vector[uint]] get_boundaries() nogil
1836
+ const vector[vector[uint]]& get_boundaries() nogil
1837
1837
  void coarsen_on_grid_inplace(vector[vector[int32_t]], bool) nogil
1838
1838
  vector[One_critical_filtration[int32_t]]& get_filtrations() nogil
1839
1839
  C_Slicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[int32_t]]) nogil
@@ -1881,7 +1881,7 @@ cdef extern from "Persistence_slices_interface.h":
1881
1881
  vector[One_critical_filtration[int64_t]] get_filtration_values() nogil
1882
1882
  vector[int] get_dimensions() nogil
1883
1883
  int get_dimension(int i) nogil
1884
- vector[vector[uint]] get_boundaries() nogil
1884
+ const vector[vector[uint]]& get_boundaries() nogil
1885
1885
  void coarsen_on_grid_inplace(vector[vector[int64_t]], bool) nogil
1886
1886
  vector[One_critical_filtration[int64_t]]& get_filtrations() nogil
1887
1887
  C_Slicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[int64_t]]) nogil
@@ -1929,7 +1929,7 @@ cdef extern from "Persistence_slices_interface.h":
1929
1929
  vector[One_critical_filtration[float]] get_filtration_values() nogil
1930
1930
  vector[int] get_dimensions() nogil
1931
1931
  int get_dimension(int i) nogil
1932
- vector[vector[uint]] get_boundaries() nogil
1932
+ const vector[vector[uint]]& get_boundaries() nogil
1933
1933
  void coarsen_on_grid_inplace(vector[vector[float]], bool) nogil
1934
1934
  vector[One_critical_filtration[float]]& get_filtrations() nogil
1935
1935
  C_Slicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[float]]) nogil
@@ -1977,7 +1977,7 @@ cdef extern from "Persistence_slices_interface.h":
1977
1977
  vector[One_critical_filtration[double]] get_filtration_values() nogil
1978
1978
  vector[int] get_dimensions() nogil
1979
1979
  int get_dimension(int i) nogil
1980
- vector[vector[uint]] get_boundaries() nogil
1980
+ const vector[vector[uint]]& get_boundaries() nogil
1981
1981
  void coarsen_on_grid_inplace(vector[vector[double]], bool) nogil
1982
1982
  vector[One_critical_filtration[double]]& get_filtrations() nogil
1983
1983
  C_Slicer_GudhiCohomology0_i32 coarsen_on_grid(vector[vector[double]]) nogil
@@ -2013,51 +2013,51 @@ cdef extern from "multiparameter_module_approximation/approximation.h" namespace
2013
2013
 
2014
2014
  import multipers.slicer as mps
2015
2015
  from cython.operator cimport dereference
2016
- cdef inline Module[float] _multiparameter_module_approximation_f32(object slicer, One_critical_filtration[float] direction, float max_error, Box[float] box, bool threshold, bool complete, bool verbose):
2016
+ cdef inline Module[double] _multiparameter_module_approximation_f64(object slicer, One_critical_filtration[double] direction, double max_error, Box[double] box, bool threshold, bool complete, bool verbose):
2017
2017
  import multipers.slicer as mps
2018
2018
  cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
2019
- cdef Module[float] mod
2019
+ cdef Module[double] mod
2020
2020
  if False:
2021
2021
  pass
2022
- elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f32):
2022
+ elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f64):
2023
2023
  with nogil:
2024
- mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2024
+ mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2025
2025
  return mod
2026
- elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f32):
2026
+ elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f64):
2027
2027
  with nogil:
2028
- mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2028
+ mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2029
2029
  return mod
2030
- elif isinstance(slicer, mps._Slicer_Matrix0_vine_f32):
2030
+ elif isinstance(slicer, mps._Slicer_Matrix0_vine_f64):
2031
2031
  with nogil:
2032
- mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2032
+ mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2033
2033
  return mod
2034
- elif isinstance(slicer, mps._Slicer_Matrix1_vine_f32):
2034
+ elif isinstance(slicer, mps._Slicer_Matrix1_vine_f64):
2035
2035
  with nogil:
2036
- mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2036
+ mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2037
2037
  return mod
2038
2038
  else:
2039
2039
  raise ValueError(f"Unsupported slicer type {type(slicer)}")
2040
- cdef inline Module[double] _multiparameter_module_approximation_f64(object slicer, One_critical_filtration[double] direction, double max_error, Box[double] box, bool threshold, bool complete, bool verbose):
2040
+ cdef inline Module[float] _multiparameter_module_approximation_f32(object slicer, One_critical_filtration[float] direction, float max_error, Box[float] box, bool threshold, bool complete, bool verbose):
2041
2041
  import multipers.slicer as mps
2042
2042
  cdef intptr_t slicer_ptr = <intptr_t>(slicer.get_ptr())
2043
- cdef Module[double] mod
2043
+ cdef Module[float] mod
2044
2044
  if False:
2045
2045
  pass
2046
- elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f64):
2046
+ elif isinstance(slicer, mps._KSlicer_Matrix0_vine_f32):
2047
2047
  with nogil:
2048
- mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2048
+ mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2049
2049
  return mod
2050
- elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f64):
2050
+ elif isinstance(slicer, mps._KSlicer_Matrix1_vine_f32):
2051
2051
  with nogil:
2052
- mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2052
+ mod = multiparameter_module_approximation(dereference(<C_KSlicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2053
2053
  return mod
2054
- elif isinstance(slicer, mps._Slicer_Matrix0_vine_f64):
2054
+ elif isinstance(slicer, mps._Slicer_Matrix0_vine_f32):
2055
2055
  with nogil:
2056
- mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2056
+ mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix0_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2057
2057
  return mod
2058
- elif isinstance(slicer, mps._Slicer_Matrix1_vine_f64):
2058
+ elif isinstance(slicer, mps._Slicer_Matrix1_vine_f32):
2059
2059
  with nogil:
2060
- mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f64*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2060
+ mod = multiparameter_module_approximation(dereference(<C_Slicer_Matrix1_vine_f32*>(slicer_ptr)), direction, max_error, box, threshold, complete, verbose)
2061
2061
  return mod
2062
2062
  else:
2063
2063
  raise ValueError(f"Unsupported slicer type {type(slicer)}")
multipers/slicer.pxd.tp CHANGED
@@ -81,7 +81,7 @@ cdef extern from "Persistence_slices_interface.h":
81
81
  vector[One_critical_filtration[{{D['C_VALUE_TYPE']}}]] get_filtration_values() nogil
82
82
  vector[int] get_dimensions() nogil
83
83
  int get_dimension(int i) nogil
84
- vector[vector[uint]] get_boundaries() nogil
84
+ const vector[vector[uint]]& get_boundaries() nogil
85
85
  void coarsen_on_grid_inplace(vector[vector[{{D['C_VALUE_TYPE']}}]], bool) nogil
86
86
  vector[{{D['FILTRATION_TYPE']}}]& get_filtrations() nogil
87
87
  {{if D['COLUMN_TYPE'] is not None}}