@@ -702,10 +702,7 @@ impl<N, I: SpIndex, Iptr: SpIndex>
702
702
if outer_ind >= outer_dims {
703
703
// we need to add a new outer dimension
704
704
let last_nnz = * self . indptr . last ( ) . unwrap ( ) ; // indptr never empty
705
- self . indptr . reserve ( 1 + outer_ind - outer_dims) ;
706
- for _ in outer_dims..outer_ind {
707
- self . indptr . push ( last_nnz) ;
708
- }
705
+ self . indptr . resize ( outer_ind + 1 , last_nnz) ;
709
706
self . set_outer_dims ( outer_ind + 1 ) ;
710
707
self . indptr . push ( last_nnz + Iptr :: one ( ) ) ;
711
708
self . indices . push ( inner_ind_idx) ;
@@ -2996,14 +2993,15 @@ mod approx_impls {
2996
2993
} else {
2997
2994
// Checks if all elements in self has a matching element
2998
2995
// in other
2999
- if ! self . iter ( ) . all ( |( n, ( i, j) ) | {
2996
+ let all_matching = self . iter ( ) . all ( |( n, ( i, j) ) | {
3000
2997
n. abs_diff_eq (
3001
2998
other
3002
2999
. get ( i. to_usize ( ) . unwrap ( ) , j. to_usize ( ) . unwrap ( ) )
3003
3000
. unwrap_or ( & N :: zero ( ) ) ,
3004
3001
epsilon. clone ( ) ,
3005
3002
)
3006
- } ) {
3003
+ } ) ;
3004
+ if !all_matching {
3007
3005
return false ;
3008
3006
}
3009
3007
@@ -3055,15 +3053,16 @@ mod approx_impls {
3055
3053
} else {
3056
3054
// Checks if all elements in self has a matching element
3057
3055
// in other
3058
- if ! self . iter ( ) . all ( |( n, ( i, j) ) | {
3056
+ let all_matches = self . iter ( ) . all ( |( n, ( i, j) ) | {
3059
3057
n. ulps_eq (
3060
3058
other
3061
3059
. get ( i. to_usize ( ) . unwrap ( ) , j. to_usize ( ) . unwrap ( ) )
3062
3060
. unwrap_or ( & N :: zero ( ) ) ,
3063
3061
epsilon. clone ( ) ,
3064
3062
max_ulps,
3065
3063
)
3066
- } ) {
3064
+ } ) ;
3065
+ if !all_matches {
3067
3066
return false ;
3068
3067
}
3069
3068
@@ -3122,15 +3121,16 @@ mod approx_impls {
3122
3121
} else {
3123
3122
// Checks if all elements in self has a matching element
3124
3123
// in other
3125
- if ! self . iter ( ) . all ( |( n, ( i, j) ) | {
3124
+ let all_matches = self . iter ( ) . all ( |( n, ( i, j) ) | {
3126
3125
n. relative_eq (
3127
3126
other
3128
3127
. get ( i. to_usize ( ) . unwrap ( ) , j. to_usize ( ) . unwrap ( ) )
3129
3128
. unwrap_or ( & N :: zero ( ) ) ,
3130
3129
epsilon. clone ( ) ,
3131
3130
max_relative. clone ( ) ,
3132
3131
)
3133
- } ) {
3132
+ } ) ;
3133
+ if !all_matches {
3134
3134
return false ;
3135
3135
}
3136
3136
0 commit comments