@@ -22,10 +22,10 @@ macro_rules! _create_pyfunc_without_x {
22
22
py: Python <' py>,
23
23
y: PyReadonlyArray1 <$type>,
24
24
n_out: usize ,
25
- ) -> & ' py PyArray1 <usize > {
25
+ ) -> Bound < ' py, PyArray1 <usize > > {
26
26
let y = y. as_slice( ) . unwrap( ) ;
27
27
let sampled_indices = $resample_mod:: $resample_fn( y, n_out) ;
28
- sampled_indices. into_pyarray ( py)
28
+ sampled_indices. into_pyarray_bound ( py)
29
29
}
30
30
// Add the function to the module
31
31
$mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -41,10 +41,10 @@ macro_rules! _create_pyfunc_without_x_with_ratio {
41
41
y: PyReadonlyArray1 <$type>,
42
42
n_out: usize ,
43
43
ratio: usize ,
44
- ) -> & ' py PyArray1 <usize > {
44
+ ) -> Bound < ' py, PyArray1 <usize > > {
45
45
let y = y. as_slice( ) . unwrap( ) ;
46
46
let sampled_indices = $resample_mod:: $resample_fn( y, n_out, ratio) ;
47
- sampled_indices. into_pyarray ( py)
47
+ sampled_indices. into_pyarray_bound ( py)
48
48
}
49
49
// Add the function to the module
50
50
$mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -80,11 +80,11 @@ macro_rules! _create_pyfunc_with_x {
80
80
x: PyReadonlyArray1 <$type_x>,
81
81
y: PyReadonlyArray1 <$type_y>,
82
82
n_out: usize ,
83
- ) -> & ' py PyArray1 <usize > {
83
+ ) -> Bound < ' py, PyArray1 <usize > > {
84
84
let x = x. as_slice( ) . unwrap( ) ;
85
85
let y = y. as_slice( ) . unwrap( ) ;
86
86
let sampled_indices = $resample_mod:: $resample_fn( x, y, n_out) ;
87
- sampled_indices. into_pyarray ( py)
87
+ sampled_indices. into_pyarray_bound ( py)
88
88
}
89
89
// Add the function to the module
90
90
$mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -101,11 +101,11 @@ macro_rules! _create_pyfunc_with_x_with_ratio {
101
101
y: PyReadonlyArray1 <$type_y>,
102
102
n_out: usize ,
103
103
ratio: usize ,
104
- ) -> & ' py PyArray1 <usize > {
104
+ ) -> Bound < ' py, PyArray1 <usize > > {
105
105
let x = x. as_slice( ) . unwrap( ) ;
106
106
let y = y. as_slice( ) . unwrap( ) ;
107
107
let sampled_indices = $resample_mod:: $resample_fn( x, y, n_out, ratio) ;
108
- sampled_indices. into_pyarray ( py)
108
+ sampled_indices. into_pyarray_bound ( py)
109
109
}
110
110
// Add the function to the module
111
111
$mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -255,10 +255,10 @@ use downsample_rs::minmax as minmax_mod;
255
255
256
256
// Create a sub module for the minmax algorithm
257
257
#[ pymodule]
258
- fn minmax ( _py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
258
+ fn minmax ( _py : Python < ' _ > , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
259
259
// ----------------- SEQUENTIAL
260
260
261
- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
261
+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
262
262
263
263
// ----- WITHOUT X
264
264
{
@@ -274,7 +274,7 @@ fn minmax(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
274
274
275
275
// ----------------- PARALLEL
276
276
277
- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
277
+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
278
278
279
279
// ----- WITHOUT X
280
280
{
@@ -289,8 +289,8 @@ fn minmax(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
289
289
}
290
290
291
291
// Add the sub modules to the module
292
- m. add_submodule ( sequential_mod) ?;
293
- m. add_submodule ( parallel_mod) ?;
292
+ m. add_submodule ( & sequential_mod) ?;
293
+ m. add_submodule ( & parallel_mod) ?;
294
294
295
295
Ok ( ( ) )
296
296
}
@@ -301,10 +301,10 @@ use downsample_rs::m4 as m4_mod;
301
301
302
302
// Create a sub module for the M4 algorithm
303
303
#[ pymodule]
304
- fn m4 ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
304
+ fn m4 ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
305
305
// ----------------- SEQUENTIAL
306
306
307
- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
307
+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
308
308
309
309
// ----- WITHOUT X
310
310
{
@@ -320,7 +320,7 @@ fn m4(_py: Python, m: &PyModule) -> PyResult<()> {
320
320
321
321
// ----------------- PARALLEL
322
322
323
- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
323
+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
324
324
325
325
// ----- WITHOUT X
326
326
{
@@ -335,8 +335,8 @@ fn m4(_py: Python, m: &PyModule) -> PyResult<()> {
335
335
}
336
336
337
337
// Add the sub modules to the module
338
- m. add_submodule ( sequential_mod) ?;
339
- m. add_submodule ( parallel_mod) ?;
338
+ m. add_submodule ( & sequential_mod) ?;
339
+ m. add_submodule ( & parallel_mod) ?;
340
340
341
341
Ok ( ( ) )
342
342
}
@@ -347,10 +347,10 @@ use downsample_rs::lttb as lttb_mod;
347
347
348
348
// Create a sub module for the LTTB algorithm
349
349
#[ pymodule]
350
- fn lttb ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
350
+ fn lttb ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
351
351
// ----------------- SEQUENTIAL
352
352
353
- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
353
+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
354
354
355
355
// Create the Python functions for the module
356
356
// ----- WITHOUT X
@@ -364,7 +364,7 @@ fn lttb(_py: Python, m: &PyModule) -> PyResult<()> {
364
364
}
365
365
366
366
// Add the sub modules to the module
367
- m. add_submodule ( sequential_mod) ?;
367
+ m. add_submodule ( & sequential_mod) ?;
368
368
369
369
Ok ( ( ) )
370
370
}
@@ -375,10 +375,10 @@ use downsample_rs::minmaxlttb as minmaxlttb_mod;
375
375
376
376
// Create a sub module for the MINMAXLTTB algorithm
377
377
#[ pymodule]
378
- fn minmaxlttb ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
378
+ fn minmaxlttb ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
379
379
// ----------------- SEQUENTIAL
380
380
381
- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
381
+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
382
382
383
383
// ----- WITHOUT X
384
384
{
@@ -394,7 +394,7 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
394
394
395
395
// ----------------- PARALLEL
396
396
397
- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
397
+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
398
398
399
399
// ----- WITHOUT X
400
400
{
@@ -417,8 +417,8 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
417
417
}
418
418
419
419
// Add the submodules to the module
420
- m. add_submodule ( sequential_mod) ?;
421
- m. add_submodule ( parallel_mod) ?;
420
+ m. add_submodule ( & sequential_mod) ?;
421
+ m. add_submodule ( & parallel_mod) ?;
422
422
423
423
Ok ( ( ) )
424
424
}
@@ -427,7 +427,7 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
427
427
428
428
#[ pymodule] // The super module
429
429
#[ pyo3( name = "_tsdownsample_rs" ) ] // How the module is imported in Python: https://github.com/PyO3/maturin/issues/256#issuecomment-1038576218
430
- fn tsdownsample ( _py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
430
+ fn tsdownsample ( _py : Python < ' _ > , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
431
431
m. add_wrapped ( wrap_pymodule ! ( minmax) ) ?;
432
432
m. add_wrapped ( wrap_pymodule ! ( m4) ) ?;
433
433
m. add_wrapped ( wrap_pymodule ! ( lttb) ) ?;
0 commit comments