1313#![ warn( missing_docs) ]
1414
1515use numpy:: { IntoPyArray , PyArray1 , PyArray2 , PyReadonlyArray1 , PyReadonlyArray2 } ;
16- use pyo3:: prelude:: { pymodule, PyModule , PyResult , Python } ;
16+ use pyo3:: prelude:: { pymodule, Bound , PyModule , PyResult , Python } ;
1717
1818use field:: { summator, summator_fourier, summator_incompr} ;
1919use krige:: { calculator_field_krige, calculator_field_krige_and_variance} ;
@@ -27,7 +27,7 @@ mod short_vec;
2727pub mod variogram;
2828
2929#[ pymodule]
30- fn gstools_core ( _py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
30+ fn gstools_core ( _py : Python < ' _ > , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
3131 m. add ( "__version__" , env ! ( "CARGO_PKG_VERSION" ) ) ?;
3232
3333 #[ pyfn( m) ]
@@ -39,12 +39,12 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
3939 z2 : PyReadonlyArray1 < f64 > ,
4040 pos : PyReadonlyArray2 < f64 > ,
4141 num_threads : Option < usize > ,
42- ) -> & ' py PyArray1 < f64 > {
42+ ) -> Bound < ' py , PyArray1 < f64 > > {
4343 let cov_samples = cov_samples. as_array ( ) ;
4444 let z1 = z1. as_array ( ) ;
4545 let z2 = z2. as_array ( ) ;
4646 let pos = pos. as_array ( ) ;
47- summator ( cov_samples, z1, z2, pos, num_threads) . into_pyarray ( py)
47+ summator ( cov_samples, z1, z2, pos, num_threads) . into_pyarray_bound ( py)
4848 }
4949
5050 #[ pyfn( m) ]
@@ -56,12 +56,12 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
5656 z2 : PyReadonlyArray1 < f64 > ,
5757 pos : PyReadonlyArray2 < f64 > ,
5858 num_threads : Option < usize > ,
59- ) -> & ' py PyArray2 < f64 > {
59+ ) -> Bound < ' py , PyArray2 < f64 > > {
6060 let cov_samples = cov_samples. as_array ( ) ;
6161 let z1 = z1. as_array ( ) ;
6262 let z2 = z2. as_array ( ) ;
6363 let pos = pos. as_array ( ) ;
64- summator_incompr ( cov_samples, z1, z2, pos, num_threads) . into_pyarray ( py)
64+ summator_incompr ( cov_samples, z1, z2, pos, num_threads) . into_pyarray_bound ( py)
6565 }
6666
6767 #[ pyfn( m) ]
@@ -74,13 +74,13 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
7474 z2 : PyReadonlyArray1 < f64 > ,
7575 pos : PyReadonlyArray2 < f64 > ,
7676 num_threads : Option < usize > ,
77- ) -> & ' py PyArray1 < f64 > {
77+ ) -> Bound < ' py , PyArray1 < f64 > > {
7878 let spectrum_factor = spectrum_factor. as_array ( ) ;
7979 let modes = modes. as_array ( ) ;
8080 let z1 = z1. as_array ( ) ;
8181 let z2 = z2. as_array ( ) ;
8282 let pos = pos. as_array ( ) ;
83- summator_fourier ( spectrum_factor, modes, z1, z2, pos, num_threads) . into_pyarray ( py)
83+ summator_fourier ( spectrum_factor, modes, z1, z2, pos, num_threads) . into_pyarray_bound ( py)
8484 }
8585
8686 #[ pyfn( m) ]
@@ -91,14 +91,14 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
9191 krig_vecs : PyReadonlyArray2 < f64 > ,
9292 cond : PyReadonlyArray1 < f64 > ,
9393 num_threads : Option < usize > ,
94- ) -> ( & ' py PyArray1 < f64 > , & ' py PyArray1 < f64 > ) {
94+ ) -> ( Bound < ' py , PyArray1 < f64 > > , Bound < ' py , PyArray1 < f64 > > ) {
9595 let krige_mat = krige_mat. as_array ( ) ;
9696 let krig_vecs = krig_vecs. as_array ( ) ;
9797 let cond = cond. as_array ( ) ;
9898 let ( field, error) =
9999 calculator_field_krige_and_variance ( krige_mat, krig_vecs, cond, num_threads) ;
100- let field = field. into_pyarray ( py) ;
101- let error = error. into_pyarray ( py) ;
100+ let field = field. into_pyarray_bound ( py) ;
101+ let error = error. into_pyarray_bound ( py) ;
102102 ( field, error)
103103 }
104104
@@ -110,11 +110,11 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
110110 krig_vecs : PyReadonlyArray2 < f64 > ,
111111 cond : PyReadonlyArray1 < f64 > ,
112112 num_threads : Option < usize > ,
113- ) -> & ' py PyArray1 < f64 > {
113+ ) -> Bound < ' py , PyArray1 < f64 > > {
114114 let krige_mat = krige_mat. as_array ( ) ;
115115 let krig_vecs = krig_vecs. as_array ( ) ;
116116 let cond = cond. as_array ( ) ;
117- calculator_field_krige ( krige_mat, krig_vecs, cond, num_threads) . into_pyarray ( py)
117+ calculator_field_krige ( krige_mat, krig_vecs, cond, num_threads) . into_pyarray_bound ( py)
118118 }
119119
120120 #[ pyfn( m) ]
@@ -124,10 +124,10 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
124124 f : PyReadonlyArray2 < f64 > ,
125125 estimator_type : Option < char > ,
126126 num_threads : Option < usize > ,
127- ) -> & ' py PyArray1 < f64 > {
127+ ) -> Bound < ' py , PyArray1 < f64 > > {
128128 let f = f. as_array ( ) ;
129129 let estimator_type = estimator_type. unwrap_or ( 'm' ) ;
130- variogram_structured ( f, estimator_type, num_threads) . into_pyarray ( py)
130+ variogram_structured ( f, estimator_type, num_threads) . into_pyarray_bound ( py)
131131 }
132132
133133 #[ pyfn( m) ]
@@ -138,11 +138,11 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
138138 mask : PyReadonlyArray2 < bool > ,
139139 estimator_type : Option < char > ,
140140 num_threads : Option < usize > ,
141- ) -> & ' py PyArray1 < f64 > {
141+ ) -> Bound < ' py , PyArray1 < f64 > > {
142142 let f = f. as_array ( ) ;
143143 let mask = mask. as_array ( ) ;
144144 let estimator_type = estimator_type. unwrap_or ( 'm' ) ;
145- variogram_ma_structured ( f, mask, estimator_type, num_threads) . into_pyarray ( py)
145+ variogram_ma_structured ( f, mask, estimator_type, num_threads) . into_pyarray_bound ( py)
146146 }
147147
148148 #[ pyfn( m) ]
@@ -159,7 +159,7 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
159159 separate_dirs : Option < bool > ,
160160 estimator_type : Option < char > ,
161161 num_threads : Option < usize > ,
162- ) -> ( & ' py PyArray2 < f64 > , & ' py PyArray2 < u64 > ) {
162+ ) -> ( Bound < ' py , PyArray2 < f64 > > , Bound < ' py , PyArray2 < u64 > > ) {
163163 let f = f. as_array ( ) ;
164164 let bin_edges = bin_edges. as_array ( ) ;
165165 let pos = pos. as_array ( ) ;
@@ -179,8 +179,8 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
179179 estimator_type,
180180 num_threads,
181181 ) ;
182- let variogram = variogram. into_pyarray ( py) ;
183- let counts = counts. into_pyarray ( py) ;
182+ let variogram = variogram. into_pyarray_bound ( py) ;
183+ let counts = counts. into_pyarray_bound ( py) ;
184184
185185 ( variogram, counts)
186186 }
@@ -195,7 +195,7 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
195195 estimator_type : Option < char > ,
196196 distance_type : Option < char > ,
197197 num_threads : Option < usize > ,
198- ) -> ( & ' py PyArray1 < f64 > , & ' py PyArray1 < u64 > ) {
198+ ) -> ( Bound < ' py , PyArray1 < f64 > > , Bound < ' py , PyArray1 < u64 > > ) {
199199 let f = f. as_array ( ) ;
200200 let bin_edges = bin_edges. as_array ( ) ;
201201 let pos = pos. as_array ( ) ;
@@ -209,8 +209,8 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
209209 distance_type,
210210 num_threads,
211211 ) ;
212- let variogram = variogram. into_pyarray ( py) ;
213- let counts = counts. into_pyarray ( py) ;
212+ let variogram = variogram. into_pyarray_bound ( py) ;
213+ let counts = counts. into_pyarray_bound ( py) ;
214214
215215 ( variogram, counts)
216216 }
0 commit comments