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>(
272272 sparse : & SparseBitSet < T > ,
273273) -> ( SparseBitSet < T > , bool ) {
274274 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) ) ;
276276 let n = sparse_copy. len ( ) ;
277277 ( sparse_copy, n != dense. count ( ) )
278278}
Original file line number Diff line number Diff line change @@ -108,14 +108,25 @@ fn hybrid_bitset() {
108108 assert ! ( !sparse01358. union ( & hybrid) ) ; // no change
109109 assert ! ( hybrid. union ( & sparse01358) ) ;
110110 assert ! ( hybrid. superset( & sparse01358) && sparse01358. superset( & hybrid) ) ;
111- assert ! ( !dense10. union ( & sparse01358) ) ;
112111 assert ! ( !dense256. union ( & dense10) ) ;
113112
113+ // dense / sparse where dense superset sparse
114+ assert ! ( !dense10. clone( ) . union ( & sparse01358) ) ;
115+ assert ! ( sparse01358. clone( ) . union ( & dense10) ) ;
114116 assert ! ( dense10. clone( ) . intersect( & sparse01358) ) ;
115117 assert ! ( !sparse01358. clone( ) . intersect( & dense10) ) ;
116118 assert ! ( dense10. clone( ) . subtract( & sparse01358) ) ;
117119 assert ! ( sparse01358. clone( ) . subtract( & dense10) ) ;
118120
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+
119130 let mut dense = dense10. clone ( ) ;
120131 assert ! ( dense. union ( & dense256) ) ;
121132 assert ! ( dense. superset( & dense256) && dense256. superset( & dense) ) ;
You can’t perform that action at this time.
0 commit comments