@@ -12,7 +12,7 @@ use std::{fmt::Debug, ops::Sub};
1212
1313use ndarray:: {
1414 s, Array , ArrayBase , ArrayView , Axis , AxisDescription , Data , DimAdd , Dimension , IntoDimension ,
15- Ix1 , NdIndex , OwnedRepr , RemoveAxis , Slice ,
15+ Ix1 , OwnedRepr , RemoveAxis , Slice ,
1616} ;
1717use num_traits:: { cast, Num , NumCast } ;
1818
@@ -183,25 +183,20 @@ where
183183 /// let result = interpolator.interp_array(&query).unwrap();
184184 /// # assert_abs_diff_eq!(result, expected, epsilon=f64::EPSILON);
185185 /// ```
186- pub fn interp_array < Dq > (
186+ pub fn interp_array < Sq , Dq > (
187187 & self ,
188- xs : & ArrayBase < Sx , Dq > ,
188+ xs : & ArrayBase < Sq , Dq > ,
189189 ) -> Result < Array < Sd :: Elem , <Dq as DimAdd < D :: Smaller > >:: Output > , InterpolateError >
190190 where
191- D : RemoveAxis ,
191+ Sq : Data < Elem = Sd :: Elem > ,
192192 Dq : Dimension + DimAdd < D :: Smaller > ,
193- Dq :: Pattern : NdIndex < Dq > ,
194193 {
195194 let mut dim = <Dq as DimAdd < D :: Smaller > >:: Output :: default ( ) ;
196195 dim. as_array_view_mut ( )
197196 . into_iter ( )
198- . zip (
199- xs. shape ( )
200- . iter ( )
201- . chain ( self . data . raw_dim ( ) . as_array_view ( ) . slice ( s ! [ 1 ..] ) ) ,
202- )
203- . for_each ( |( new_axis, len) | {
204- * new_axis = * len;
197+ . zip ( xs. shape ( ) . iter ( ) . chain ( self . data . shape ( ) [ 1 ..] . iter ( ) ) )
198+ . for_each ( |( new_axis, & len) | {
199+ * new_axis = len;
205200 } ) ;
206201 let mut ys = Array :: zeros ( dim) ;
207202
0 commit comments