@@ -116,55 +116,26 @@ fn memset_nonzero() {
116
116
117
117
#[ test]
118
118
fn memcmp_eq ( ) {
119
- let arr1: [ u8 ; 32 ] = [
120
- 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 ,
121
- 25 , 26 , 27 , 28 , 29 , 30 , 31 ,
122
- ] ;
123
- let arr2: [ u8 ; 32 ] = [
124
- 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 ,
125
- 25 , 26 , 27 , 28 , 29 , 30 , 31 ,
126
- ] ;
127
- for i in 0 ..32 {
119
+ let arr1 @ arr2 = gen_arr :: < 256 > ( ) ;
120
+ for i in 0 ..256 {
128
121
unsafe {
129
- assert_eq ! ( memcmp( arr1. as_ptr( ) , arr2. as_ptr( ) , i) , 0 ) ;
130
- assert_eq ! ( memcmp( arr2. as_ptr( ) , arr1. as_ptr( ) , i) , 0 ) ;
122
+ assert_eq ! ( memcmp( arr1. 0 . as_ptr( ) , arr2. 0 . as_ptr( ) , i) , 0 ) ;
123
+ assert_eq ! ( memcmp( arr2. 0 . as_ptr( ) , arr1. 0 . as_ptr( ) , i) , 0 ) ;
131
124
}
132
125
}
133
126
}
134
127
135
128
#[ test]
136
129
fn memcmp_ne ( ) {
137
- let arr1: [ u8 ; 8 ] = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ;
138
- let arr2: [ u8 ; 8 ] = [ 0 , 1 , 2 , 3 , 4 , 5 , 7 , 7 ] ;
139
- unsafe {
140
- assert ! ( memcmp( arr1. as_ptr( ) , arr2. as_ptr( ) , 8 ) < 0 ) ;
141
- assert ! ( memcmp( arr2. as_ptr( ) , arr1. as_ptr( ) , 8 ) > 0 ) ;
142
- }
143
- }
144
-
145
- #[ test]
146
- fn memcmp_ne_16 ( ) {
147
- let arr1: [ u8 ; 16 ] = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ] ;
148
- let arr2: [ u8 ; 16 ] = [ 0 , 1 , 2 , 3 , 4 , 5 , 7 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ] ;
149
- unsafe {
150
- assert ! ( memcmp( arr1. as_ptr( ) , arr2. as_ptr( ) , 16 ) < 0 ) ;
151
- assert ! ( memcmp( arr2. as_ptr( ) , arr1. as_ptr( ) , 16 ) > 0 ) ;
152
- }
153
- }
154
-
155
- #[ test]
156
- fn memcmp_ne_32 ( ) {
157
- let arr1: [ u8 ; 32 ] = [
158
- 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
159
- 0 , 0 , 0 , 0 ,
160
- ] ;
161
- let arr2: [ u8 ; 32 ] = [
162
- 0 , 1 , 2 , 3 , 4 , 5 , 7 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
163
- 0 , 0 , 0 , 0 ,
164
- ] ;
165
- unsafe {
166
- assert ! ( memcmp( arr1. as_ptr( ) , arr2. as_ptr( ) , 32 ) < 0 ) ;
167
- assert ! ( memcmp( arr2. as_ptr( ) , arr1. as_ptr( ) , 32 ) > 0 ) ;
130
+ let arr1 @ arr2 = gen_arr :: < 256 > ( ) ;
131
+ for i in 0 ..256 {
132
+ let mut diff_arr = arr1;
133
+ diff_arr. 0 [ i] = 127 ;
134
+ let expect = diff_arr. 0 [ i] . cmp ( & arr2. 0 [ i] ) ;
135
+ for k in i + 1 ..256 {
136
+ let result = unsafe { memcmp ( diff_arr. 0 . as_ptr ( ) , arr2. 0 . as_ptr ( ) , k) } ;
137
+ assert_eq ! ( expect, result. cmp( & 0 ) ) ;
138
+ }
168
139
}
169
140
}
170
141
0 commit comments