@@ -299,7 +299,7 @@ impl<T: Debug + PrimInt> Vob<T> {
299299 /// ```
300300 pub fn push ( & mut self , value : bool ) {
301301 debug_assert_eq ! ( self . vec. len( ) , blocks_required:: <T >( self . len) ) ;
302- if self . len % bits_per_block :: < T > ( ) == 0 {
302+ if self . len . is_multiple_of ( bits_per_block :: < T > ( ) ) {
303303 self . vec . push ( T :: zero ( ) ) ;
304304 }
305305 let i = self . len ;
@@ -1395,7 +1395,7 @@ const fn block_offset<T>(off: usize) -> usize {
13951395/// Takes as input a number of bits requiring storage; returns an aligned number of blocks needed
13961396/// to store those bits.
13971397fn blocks_required < T > ( num_bits : usize ) -> usize {
1398- num_bits / bits_per_block :: < T > ( ) + usize:: from ( num_bits % bits_per_block :: < T > ( ) != 0 )
1398+ num_bits / bits_per_block :: < T > ( ) + usize:: from ( ! num_bits. is_multiple_of ( bits_per_block :: < T > ( ) ) )
13991399}
14001400
14011401#[ macro_export]
@@ -1669,65 +1669,65 @@ mod tests {
16691669 assert_eq ! ( block_offset:: <usize >( 0 ) , 0 ) ;
16701670 assert_eq ! ( block_offset:: <usize >( 1 ) , 0 ) ;
16711671 assert_eq ! ( block_offset:: <usize >( 2 ) , 0 ) ;
1672- assert_eq ! ( block_offset:: <usize >( size_of :: < usize > ( ) * 8 - 1 ) , 0 ) ;
1673- assert_eq ! ( block_offset:: <usize >( size_of :: < usize > ( ) * 8 ) , 1 ) ;
1672+ assert_eq ! ( block_offset:: <usize >( usize :: BITS as usize - 1 ) , 0 ) ;
1673+ assert_eq ! ( block_offset:: <usize >( usize :: BITS as usize ) , 1 ) ;
16741674 }
16751675
16761676 #[ test]
16771677 fn test_blocks_required ( ) {
16781678 assert_eq ! ( blocks_required:: <usize >( 0 ) , 0 ) ;
16791679 assert_eq ! ( blocks_required:: <usize >( 1 ) , 1 ) ;
16801680 assert_eq ! ( blocks_required:: <usize >( 2 ) , 1 ) ;
1681- assert_eq ! ( blocks_required:: <usize >( size_of :: < usize > ( ) * 8 ) , 1 ) ;
1682- assert_eq ! ( blocks_required:: <usize >( size_of :: < usize > ( ) * 8 + 1 ) , 2 ) ;
1681+ assert_eq ! ( blocks_required:: <usize >( usize :: BITS as usize ) , 1 ) ;
1682+ assert_eq ! ( blocks_required:: <usize >( usize :: BITS as usize + 1 ) , 2 ) ;
16831683 }
16841684
16851685 #[ test]
16861686 fn test_non_usize_storage ( ) {
16871687 let mut v = Vob :: < u8 > :: new_with_storage_type ( 0 ) ;
1688- for _ in 0 ..size_of :: < u8 > ( ) * 8 {
1688+ for _ in 0 ..u8 :: BITS as usize {
16891689 v. push ( true ) ;
16901690 }
16911691 assert_eq ! ( v. get( 0 ) , Some ( true ) ) ;
1692- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 - 1 ) , Some ( true ) ) ;
1693- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 ) , None ) ;
1692+ assert_eq ! ( v. get( u8 :: BITS as usize - 1 ) , Some ( true ) ) ;
1693+ assert_eq ! ( v. get( u8 :: BITS as usize ) , None ) ;
16941694 v. push ( true ) ;
1695- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 ) , Some ( true ) ) ;
1696- v. set ( size_of :: < u8 > ( ) * 8 , false ) ;
1697- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 ) , Some ( false ) ) ;
1695+ assert_eq ! ( v. get( u8 :: BITS as usize ) , Some ( true ) ) ;
1696+ v. set ( u8 :: BITS as usize , false ) ;
1697+ assert_eq ! ( v. get( u8 :: BITS as usize ) , Some ( false ) ) ;
16981698 unsafe {
1699- assert_eq ! ( v. get_unchecked( size_of :: < u8 > ( ) * 8 ) , false ) ;
1699+ assert ! ( ! v. get_unchecked( u8 :: BITS as usize ) ) ;
17001700 }
1701- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 + 1 ) , None ) ;
1702- assert_eq ! ( v. set( size_of :: < u8 > ( ) * 8 , true ) , true ) ;
1703- assert_eq ! ( v. set( size_of :: < u8 > ( ) * 8 , true ) , false ) ;
1704- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 - 1 ) , Some ( true ) ) ;
1705- assert_eq ! ( v. get( size_of :: < u8 > ( ) * 8 - 2 ) , Some ( true ) ) ;
1701+ assert_eq ! ( v. get( u8 :: BITS as usize + 1 ) , None ) ;
1702+ assert ! ( v. set( u8 :: BITS as usize , true ) ) ;
1703+ assert ! ( ! v. set( u8 :: BITS as usize , true ) ) ;
1704+ assert_eq ! ( v. get( u8 :: BITS as usize - 1 ) , Some ( true ) ) ;
1705+ assert_eq ! ( v. get( u8 :: BITS as usize - 2 ) , Some ( true ) ) ;
17061706 unsafe {
1707- assert_eq ! ( v. get_unchecked( size_of :: < u8 > ( ) * 8 - 2 ) , true ) ;
1708- assert_eq ! ( v. set_unchecked( size_of :: < u8 > ( ) * 8 - 2 , true ) , false ) ;
1707+ assert ! ( v. get_unchecked( u8 :: BITS as usize - 2 ) ) ;
1708+ assert ! ( ! v. set_unchecked( u8 :: BITS as usize - 2 , true ) ) ;
17091709 }
17101710 }
17111711
17121712 #[ test]
17131713 fn test_capacity ( ) {
17141714 assert_eq ! ( Vob :: new( ) . capacity( ) , 0 ) ;
17151715 assert_eq ! (
1716- Vob :: with_capacity( size_of :: < usize > ( ) * 8 + 1 ) . capacity( ) ,
1717- size_of :: < usize > ( ) * 8 * 2
1716+ Vob :: with_capacity( usize :: BITS as usize + 1 ) . capacity( ) ,
1717+ usize :: BITS as usize * 2
17181718 ) ;
17191719 }
17201720
17211721 #[ test]
17221722 fn test_reserve ( ) {
17231723 let mut v = Vob :: new ( ) ;
17241724 v. reserve ( 10 ) ;
1725- assert ! ( v. capacity( ) >= size_of :: < usize > ( ) * 8 ) ;
1725+ assert ! ( v. capacity( ) >= usize :: BITS as usize ) ;
17261726 v. reserve ( 10 ) ;
1727- assert ! ( v. capacity( ) >= size_of :: < usize > ( ) * 8 , "over-reserved" ) ;
1727+ assert ! ( v. capacity( ) >= usize :: BITS as usize , "over-reserved" ) ;
17281728 v. push ( true ) ; // make sure there's less space than 64 still available
1729- v. reserve ( size_of :: < usize > ( ) * 8 ) ;
1730- assert ! ( v. capacity( ) >= size_of :: < usize > ( ) * 8 * 2 ) ;
1729+ v. reserve ( usize :: BITS as usize ) ;
1730+ assert ! ( v. capacity( ) >= usize :: BITS as usize * 2 ) ;
17311731 }
17321732
17331733 #[ test]
@@ -1742,32 +1742,32 @@ mod tests {
17421742 #[ test]
17431743 fn test_beyond_a_word ( ) {
17441744 let mut v = Vob :: new ( ) ;
1745- for _ in 0 ..size_of :: < usize > ( ) * 8 {
1745+ for _ in 0 ..usize :: BITS as usize {
17461746 v. push ( true ) ;
17471747 }
17481748 assert_eq ! ( v. get( 0 ) , Some ( true ) ) ;
1749- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 - 1 ) , Some ( true ) ) ;
1750- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 ) , None ) ;
1749+ assert_eq ! ( v. get( usize :: BITS as usize - 1 ) , Some ( true ) ) ;
1750+ assert_eq ! ( v. get( usize :: BITS as usize ) , None ) ;
17511751 v. push ( true ) ;
1752- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 ) , Some ( true ) ) ;
1753- v. set ( size_of :: < usize > ( ) * 8 , false ) ;
1754- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 ) , Some ( false ) ) ;
1755- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 + 1 ) , None ) ;
1756- assert_eq ! ( v. set( size_of :: < usize > ( ) * 8 , true ) , true ) ;
1757- assert_eq ! ( v. set( size_of :: < usize > ( ) * 8 , true ) , false ) ;
1758- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 - 1 ) , Some ( true ) ) ;
1759- assert_eq ! ( v. get( size_of :: < usize > ( ) * 8 - 2 ) , Some ( true ) ) ;
1752+ assert_eq ! ( v. get( usize :: BITS as usize ) , Some ( true ) ) ;
1753+ v. set ( usize :: BITS as usize , false ) ;
1754+ assert_eq ! ( v. get( usize :: BITS as usize ) , Some ( false ) ) ;
1755+ assert_eq ! ( v. get( usize :: BITS as usize + 1 ) , None ) ;
1756+ assert ! ( v. set( usize :: BITS as usize , true ) ) ;
1757+ assert ! ( ! v. set( usize :: BITS as usize , true ) ) ;
1758+ assert_eq ! ( v. get( usize :: BITS as usize - 1 ) , Some ( true ) ) ;
1759+ assert_eq ! ( v. get( usize :: BITS as usize - 2 ) , Some ( true ) ) ;
17601760 unsafe {
1761- assert_eq ! ( v. get_unchecked( size_of :: < usize > ( ) * 8 - 2 ) , true ) ;
1762- assert_eq ! ( v. set_unchecked( size_of :: < usize > ( ) * 8 - 2 , true ) , false ) ;
1761+ assert ! ( v. get_unchecked( usize :: BITS as usize - 2 ) ) ;
1762+ assert ! ( ! v. set_unchecked( usize :: BITS as usize - 2 , true ) ) ;
17631763 }
17641764 }
17651765
17661766 #[ test]
17671767 #[ should_panic( expected = "Index out of bounds" ) ]
17681768 fn test_set_beyond_a_word ( ) {
17691769 let mut v = vob ! [ true ] ;
1770- assert_eq ! ( v. set( 0 , false ) , true ) ;
1770+ assert ! ( v. set( 0 , false ) ) ;
17711771 v. set ( 1 , true ) ;
17721772 }
17731773
@@ -1839,15 +1839,15 @@ mod tests {
18391839
18401840 #[ test]
18411841 fn test_is_empty ( ) {
1842- assert_eq ! ( vob![ ] . is_empty( ) , true ) ;
1843- assert_eq ! ( vob![ true ] . is_empty( ) , false ) ;
1842+ assert ! ( vob![ ] . is_empty( ) ) ;
1843+ assert ! ( ! vob![ true ] . is_empty( ) ) ;
18441844 }
18451845
18461846 #[ test]
18471847 fn test_resize ( ) {
18481848 let mut v = Vob :: new ( ) ;
18491849 v. resize ( 1 , true ) ;
1850- assert_eq ! ( v[ 0 ] , true ) ;
1850+ assert ! ( v[ 0 ] ) ;
18511851
18521852 let mut v = Vob :: new ( ) ;
18531853 v. push ( false ) ;
@@ -1905,8 +1905,8 @@ mod tests {
19051905 #[ test]
19061906 fn test_index ( ) {
19071907 let v1 = vob ! [ false , true ] ;
1908- assert_eq ! ( v1[ 0 ] , false ) ;
1909- assert_eq ! ( v1[ 1 ] , true ) ;
1908+ assert ! ( ! v1[ 0 ] ) ;
1909+ assert ! ( v1[ 1 ] ) ;
19101910 }
19111911
19121912 #[ test]
@@ -2101,12 +2101,12 @@ mod tests {
21012101 fn test_split_off ( ) {
21022102 for len_a in 0 ..128 {
21032103 for len_b in 0 ..128 {
2104- let a = random_vob ( len_a as usize ) ;
2105- let b = random_vob ( len_b as usize ) ;
2104+ let a = random_vob ( len_a) ;
2105+ let b = random_vob ( len_b) ;
21062106 let mut joined = a. clone ( ) ;
21072107 joined. extend_from_vob ( & b) ;
21082108 assert_eq ! ( joined. len( ) , len_a + len_b) ;
2109- let b_ = joined. split_off ( len_a as usize ) ;
2109+ let b_ = joined. split_off ( len_a) ;
21102110 assert_eq ! ( a, joined, "lower part for {}, {}" , len_a, len_b) ;
21112111 assert_eq ! ( b, b_, "upper part for {}, {}" , len_a, len_b) ;
21122112 }
0 commit comments