1
+ #![ allow( clippy:: float_cmp) ]
2
+
1
3
mod particles;
2
4
use self :: particles:: { Particle , ParticleVec , ParticleRef } ;
3
5
@@ -62,14 +64,14 @@ fn index_vec_with_usize() {
62
64
63
65
#[ test]
64
66
fn index_vec_with_ranges ( ) {
65
- let mut particles = Vec :: new ( ) ;
66
- particles. push ( Particle :: new ( String :: from ( "Cl" ) , 1.0 ) ) ;
67
- particles. push ( Particle :: new ( String :: from ( "Na" ) , 2.0 ) ) ;
68
- particles. push ( Particle :: new ( String :: from ( "Br" ) , 3.0 ) ) ;
69
- particles. push ( Particle :: new ( String :: from ( "Zn" ) , 4.0 ) ) ;
67
+ let particles = vec ! [
68
+ Particle :: new( String :: from( "Cl" ) , 1.0 ) ,
69
+ Particle :: new( String :: from( "Na" ) , 2.0 ) ,
70
+ Particle :: new( String :: from( "Br" ) , 3.0 ) ,
71
+ Particle :: new( String :: from( "Zn" ) , 4.0 ) ,
72
+ ] ;
70
73
71
74
let mut soa = ParticleVec :: new ( ) ;
72
-
73
75
for particle in particles. iter ( ) {
74
76
soa. push ( particle. clone ( ) ) ;
75
77
}
@@ -84,47 +86,47 @@ fn index_vec_with_ranges() {
84
86
eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
85
87
eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
86
88
unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
87
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
89
+ eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
88
90
89
91
let range = ..3 ;
90
- eq_its ( soa. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
91
- unsafe { eq_its ( soa. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
92
- eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
93
- eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
94
- unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
95
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
92
+ eq_its ( soa. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
93
+ unsafe { eq_its ( soa. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
94
+ eq_its ( soa. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
95
+ eq_its ( soa. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
96
+ unsafe { eq_its ( soa. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
97
+ eq_its ( soa. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
96
98
97
99
let range = 1 ..;
98
100
eq_its ( soa. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
99
101
unsafe { eq_its ( soa. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
100
102
eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
101
103
eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
102
104
unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
103
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
105
+ eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
104
106
105
107
let range = ..;
106
- eq_its ( soa. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
107
- unsafe { eq_its ( soa. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
108
- eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
109
- eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
110
- unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
111
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
108
+ eq_its ( soa. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
109
+ unsafe { eq_its ( soa. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
110
+ eq_its ( soa. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
111
+ eq_its ( soa. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
112
+ unsafe { eq_its ( soa. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
113
+ eq_its ( soa. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
112
114
113
115
let range = 0 ..=1 ;
114
116
eq_its ( soa. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
115
117
unsafe { eq_its ( soa. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
116
118
eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
117
119
eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
118
120
unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
119
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
121
+ eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
120
122
121
123
let range = ..=2 ;
122
- eq_its ( soa. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
123
- unsafe { eq_its ( soa. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
124
- eq_its ( soa. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
125
- eq_its ( soa. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
126
- unsafe { eq_its ( soa. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
127
- eq_its ( soa. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
124
+ eq_its ( soa. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
125
+ unsafe { eq_its ( soa. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
126
+ eq_its ( soa. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
127
+ eq_its ( soa. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
128
+ unsafe { eq_its ( soa. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
129
+ eq_its ( soa. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
128
130
}
129
131
130
132
#[ test]
@@ -181,14 +183,14 @@ fn index_slice_with_usize() {
181
183
182
184
#[ test]
183
185
fn index_slice_with_ranges ( ) {
184
- let mut particles = Vec :: new ( ) ;
185
- particles. push ( Particle :: new ( String :: from ( "Cl" ) , 1.0 ) ) ;
186
- particles. push ( Particle :: new ( String :: from ( "Na" ) , 2.0 ) ) ;
187
- particles. push ( Particle :: new ( String :: from ( "Br" ) , 3.0 ) ) ;
188
- particles. push ( Particle :: new ( String :: from ( "Zn" ) , 4.0 ) ) ;
186
+ let particles = vec ! [
187
+ Particle :: new( String :: from( "Cl" ) , 1.0 ) ,
188
+ Particle :: new( String :: from( "Na" ) , 2.0 ) ,
189
+ Particle :: new( String :: from( "Br" ) , 3.0 ) ,
190
+ Particle :: new( String :: from( "Zn" ) , 4.0 ) ,
191
+ ] ;
189
192
190
193
let mut soa = ParticleVec :: new ( ) ;
191
-
192
194
for particle in particles. iter ( ) {
193
195
soa. push ( particle. clone ( ) ) ;
194
196
}
@@ -204,45 +206,45 @@ fn index_slice_with_ranges() {
204
206
eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
205
207
eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
206
208
unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
207
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
209
+ eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
208
210
209
211
let range = ..3 ;
210
- eq_its ( soa_mut_slice. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
211
- unsafe { eq_its ( soa_mut_slice. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
212
- eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
213
- eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
214
- unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
215
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
212
+ eq_its ( soa_mut_slice. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
213
+ unsafe { eq_its ( soa_mut_slice. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
214
+ eq_its ( soa_mut_slice. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
215
+ eq_its ( soa_mut_slice. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
216
+ unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
217
+ eq_its ( soa_mut_slice. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
216
218
217
219
let range = 1 ..;
218
220
eq_its ( soa_mut_slice. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
219
221
unsafe { eq_its ( soa_mut_slice. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
220
222
eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
221
223
eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
222
224
unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
223
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
225
+ eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
224
226
225
227
let range = ..;
226
- eq_its ( soa_mut_slice. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
227
- unsafe { eq_its ( soa_mut_slice. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
228
- eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
229
- eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
230
- unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
231
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
228
+ eq_its ( soa_mut_slice. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
229
+ unsafe { eq_its ( soa_mut_slice. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
230
+ eq_its ( soa_mut_slice. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
231
+ eq_its ( soa_mut_slice. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
232
+ unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
233
+ eq_its ( soa_mut_slice. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
232
234
233
235
let range = 0 ..=1 ;
234
236
eq_its ( soa_mut_slice. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
235
237
unsafe { eq_its ( soa_mut_slice. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
236
238
eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
237
239
eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
238
240
unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
239
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
241
+ eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range] . iter ( ) ) ;
240
242
241
243
let range = ..=2 ;
242
- eq_its ( soa_mut_slice. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
243
- unsafe { eq_its ( soa_mut_slice. get_unchecked ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
244
- eq_its ( soa_mut_slice. index ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
245
- eq_its ( soa_mut_slice. get_mut ( range. clone ( ) ) . unwrap ( ) . iter ( ) , particles. get ( range. clone ( ) ) . unwrap ( ) . iter ( ) ) ;
246
- unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range. clone ( ) ) . iter ( ) , particles. get_unchecked ( range. clone ( ) ) . iter ( ) ) ; }
247
- eq_its ( soa_mut_slice. index_mut ( range. clone ( ) ) . iter ( ) , particles[ range. clone ( ) ] . iter ( ) ) ;
244
+ eq_its ( soa_mut_slice. get ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
245
+ unsafe { eq_its ( soa_mut_slice. get_unchecked ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
246
+ eq_its ( soa_mut_slice. index ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
247
+ eq_its ( soa_mut_slice. get_mut ( range) . unwrap ( ) . iter ( ) , particles. get ( range) . unwrap ( ) . iter ( ) ) ;
248
+ unsafe { eq_its ( soa_mut_slice. get_unchecked_mut ( range) . iter ( ) , particles. get_unchecked ( range) . iter ( ) ) ; }
249
+ eq_its ( soa_mut_slice. index_mut ( range) . iter ( ) , particles[ range] . iter ( ) ) ;
248
250
}
0 commit comments