@@ -19,6 +19,7 @@ use pyo3::{
19
19
Python , ToPyObject ,
20
20
} ;
21
21
22
+ use crate :: cold;
22
23
use crate :: convert:: { ArrayExt , IntoPyArray , NpyIndex , ToNpyDims , ToPyArray } ;
23
24
use crate :: dtype:: { Element , PyArrayDescr } ;
24
25
use crate :: error:: { DimensionalityError , FromVecError , NotContiguousError , TypeError } ;
@@ -972,6 +973,7 @@ impl<T: Element> PyArray<T, Ix1> {
972
973
/// assert_eq!(pyarray.readonly().as_slice().unwrap(), &[1, 2, 3, 4, 5]);
973
974
/// });
974
975
/// ```
976
+ #[ inline( always) ]
975
977
pub fn from_vec < ' py > ( py : Python < ' py > , vec : Vec < T > ) -> & ' py Self {
976
978
vec. into_pyarray ( py)
977
979
}
@@ -1097,6 +1099,7 @@ impl<T: Element> PyArray<T, Ix2> {
1097
1099
let mut data_ptr = array. data ( ) ;
1098
1100
for v in v {
1099
1101
if v. len ( ) != len2 {
1102
+ cold ( ) ;
1100
1103
return Err ( FromVecError :: new ( v. len ( ) , len2) ) ;
1101
1104
}
1102
1105
clone_elements ( v, & mut data_ptr) ;
@@ -1136,10 +1139,12 @@ impl<T: Element> PyArray<T, Ix3> {
1136
1139
let mut data_ptr = array. data ( ) ;
1137
1140
for v in v {
1138
1141
if v. len ( ) != len2 {
1142
+ cold ( ) ;
1139
1143
return Err ( FromVecError :: new ( v. len ( ) , len2) ) ;
1140
1144
}
1141
1145
for v in v {
1142
1146
if v. len ( ) != len3 {
1147
+ cold ( ) ;
1143
1148
return Err ( FromVecError :: new ( v. len ( ) , len3) ) ;
1144
1149
}
1145
1150
clone_elements ( v, & mut data_ptr) ;
0 commit comments