@@ -27,7 +27,9 @@ impl BitVector {
2727 #[ inline]
2828 pub fn new ( num_bits : usize ) -> BitVector {
2929 let num_words = words ( num_bits) ;
30- BitVector { data : vec ! [ 0 ; num_words] }
30+ BitVector {
31+ data : vec ! [ 0 ; num_words] ,
32+ }
3133 }
3234
3335 #[ inline]
@@ -133,7 +135,10 @@ impl<'a> Iterator for BitVectorIter<'a> {
133135}
134136
135137impl FromIterator < bool > for BitVector {
136- fn from_iter < I > ( iter : I ) -> BitVector where I : IntoIterator < Item =bool > {
138+ fn from_iter < I > ( iter : I ) -> BitVector
139+ where
140+ I : IntoIterator < Item = bool > ,
141+ {
137142 let iter = iter. into_iter ( ) ;
138143 let ( len, _) = iter. size_hint ( ) ;
139144 // Make the minimum length for the bitvector WORD_BITS bits since that's
@@ -262,7 +267,11 @@ impl BitMatrix {
262267}
263268
264269#[ derive( Clone , Debug ) ]
265- pub struct SparseBitMatrix < R , C > where R : Idx , C : Idx {
270+ pub struct SparseBitMatrix < R , C >
271+ where
272+ R : Idx ,
273+ C : Idx ,
274+ {
266275 vector : IndexVec < R , SparseBitSet < C > > ,
267276}
268277
@@ -340,7 +349,7 @@ impl<I: Idx> SparseChunk<I> {
340349 SparseChunk {
341350 key,
342351 bits : 1 << ( index % 128 ) ,
343- _marker : PhantomData
352+ _marker : PhantomData ,
344353 }
345354 }
346355
@@ -351,26 +360,28 @@ impl<I: Idx> SparseChunk<I> {
351360 pub fn iter ( & self ) -> impl Iterator < Item = I > {
352361 let base = self . key as usize * 128 ;
353362 let mut bits = self . bits ;
354- ( 0 ..128 ) . map ( move |i| {
355- let current_bits = bits;
356- bits >>= 1 ;
357- ( i, current_bits)
358- } ) . take_while ( |& ( _, bits) | bits != 0 )
359- . filter_map ( move |( i, bits) | {
360- if ( bits & 1 ) != 0 {
361- Some ( I :: new ( base + i) )
362- } else {
363- None
364- }
365- } )
363+ ( 0 ..128 )
364+ . map ( move |i| {
365+ let current_bits = bits;
366+ bits >>= 1 ;
367+ ( i, current_bits)
368+ } )
369+ . take_while ( |& ( _, bits) | bits != 0 )
370+ . filter_map ( move |( i, bits) | {
371+ if ( bits & 1 ) != 0 {
372+ Some ( I :: new ( base + i) )
373+ } else {
374+ None
375+ }
376+ } )
366377 }
367378}
368379
369380impl < I : Idx > SparseBitSet < I > {
370381 pub fn new ( ) -> Self {
371382 SparseBitSet {
372383 chunk_bits : BTreeMap :: new ( ) ,
373- _marker : PhantomData
384+ _marker : PhantomData ,
374385 }
375386 }
376387
@@ -380,7 +391,9 @@ impl<I: Idx> SparseBitSet<I> {
380391
381392 pub fn contains_chunk ( & self , chunk : SparseChunk < I > ) -> SparseChunk < I > {
382393 SparseChunk {
383- bits : self . chunk_bits . get ( & chunk. key ) . map_or ( 0 , |bits| bits & chunk. bits ) ,
394+ bits : self . chunk_bits
395+ . get ( & chunk. key )
396+ . map_or ( 0 , |bits| bits & chunk. bits ) ,
384397 ..chunk
385398 }
386399 }
@@ -415,7 +428,7 @@ impl<I: Idx> SparseBitSet<I> {
415428 }
416429 new_bits ^ old_bits
417430 }
418- Entry :: Vacant ( _) => 0
431+ Entry :: Vacant ( _) => 0 ,
419432 } ;
420433 SparseChunk {
421434 bits : changed,
@@ -428,12 +441,10 @@ impl<I: Idx> SparseBitSet<I> {
428441 }
429442
430443 pub fn chunks < ' a > ( & ' a self ) -> impl Iterator < Item = SparseChunk < I > > + ' a {
431- self . chunk_bits . iter ( ) . map ( |( & key, & bits) | {
432- SparseChunk {
433- key,
434- bits,
435- _marker : PhantomData
436- }
444+ self . chunk_bits . iter ( ) . map ( |( & key, & bits) | SparseChunk {
445+ key,
446+ bits,
447+ _marker : PhantomData ,
437448 } )
438449 }
439450
@@ -478,11 +489,12 @@ fn bitvec_iter_works() {
478489 bitvec. insert ( 65 ) ;
479490 bitvec. insert ( 66 ) ;
480491 bitvec. insert ( 99 ) ;
481- assert_eq ! ( bitvec. iter( ) . collect:: <Vec <_>>( ) ,
482- [ 1 , 10 , 19 , 62 , 63 , 64 , 65 , 66 , 99 ] ) ;
492+ assert_eq ! (
493+ bitvec. iter( ) . collect:: <Vec <_>>( ) ,
494+ [ 1 , 10 , 19 , 62 , 63 , 64 , 65 , 66 , 99 ]
495+ ) ;
483496}
484497
485-
486498#[ test]
487499fn bitvec_iter_works_2 ( ) {
488500 let mut bitvec = BitVector :: new ( 319 ) ;
@@ -514,24 +526,24 @@ fn union_two_vecs() {
514526#[ test]
515527fn grow ( ) {
516528 let mut vec1 = BitVector :: new ( 65 ) ;
517- for index in 0 .. 65 {
529+ for index in 0 .. 65 {
518530 assert ! ( vec1. insert( index) ) ;
519531 assert ! ( !vec1. insert( index) ) ;
520532 }
521533 vec1. grow ( 128 ) ;
522534
523535 // Check if the bits set before growing are still set
524- for index in 0 .. 65 {
536+ for index in 0 .. 65 {
525537 assert ! ( vec1. contains( index) ) ;
526538 }
527539
528540 // Check if the new bits are all un-set
529- for index in 65 .. 128 {
541+ for index in 65 .. 128 {
530542 assert ! ( !vec1. contains( index) ) ;
531543 }
532544
533545 // Check that we can set all new bits without running out of bounds
534- for index in 65 .. 128 {
546+ for index in 65 .. 128 {
535547 assert ! ( vec1. insert( index) ) ;
536548 assert ! ( !vec1. insert( index) ) ;
537549 }
0 commit comments