This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -272,7 +272,7 @@ fn dense_sparse_intersect<T: Idx>(
272
272
sparse : & SparseBitSet < T > ,
273
273
) -> ( SparseBitSet < T > , bool ) {
274
274
let mut sparse_copy = sparse. clone ( ) ;
275
- sparse_intersect ( & mut sparse_copy, |el| ! dense. contains ( * el) ) ;
275
+ sparse_intersect ( & mut sparse_copy, |el| dense. contains ( * el) ) ;
276
276
let n = sparse_copy. len ( ) ;
277
277
( sparse_copy, n != dense. count ( ) )
278
278
}
Original file line number Diff line number Diff line change @@ -108,14 +108,25 @@ fn hybrid_bitset() {
108
108
assert ! ( !sparse01358. union ( & hybrid) ) ; // no change
109
109
assert ! ( hybrid. union ( & sparse01358) ) ;
110
110
assert ! ( hybrid. superset( & sparse01358) && sparse01358. superset( & hybrid) ) ;
111
- assert ! ( !dense10. union ( & sparse01358) ) ;
112
111
assert ! ( !dense256. union ( & dense10) ) ;
113
112
113
+ // dense / sparse where dense superset sparse
114
+ assert ! ( !dense10. clone( ) . union ( & sparse01358) ) ;
115
+ assert ! ( sparse01358. clone( ) . union ( & dense10) ) ;
114
116
assert ! ( dense10. clone( ) . intersect( & sparse01358) ) ;
115
117
assert ! ( !sparse01358. clone( ) . intersect( & dense10) ) ;
116
118
assert ! ( dense10. clone( ) . subtract( & sparse01358) ) ;
117
119
assert ! ( sparse01358. clone( ) . subtract( & dense10) ) ;
118
120
121
+ // dense / sparse where sparse superset dense
122
+ let dense038 = sparse038. to_dense ( ) ;
123
+ assert ! ( !sparse0381. clone( ) . union ( & dense038) ) ;
124
+ assert ! ( dense038. clone( ) . union ( & sparse0381) ) ;
125
+ assert ! ( sparse0381. clone( ) . intersect( & dense038) ) ;
126
+ assert ! ( !dense038. clone( ) . intersect( & sparse0381) ) ;
127
+ assert ! ( sparse0381. clone( ) . subtract( & dense038) ) ;
128
+ assert ! ( dense038. clone( ) . subtract( & sparse0381) ) ;
129
+
119
130
let mut dense = dense10. clone ( ) ;
120
131
assert ! ( dense. union ( & dense256) ) ;
121
132
assert ! ( dense. superset( & dense256) && dense256. superset( & dense) ) ;
You can’t perform that action at this time.
0 commit comments