@@ -98,7 +98,7 @@ enum BitvVariant { Big(BigBitv), Small(SmallBitv) }
9898/// # Example
9999///
100100/// ```rust
101- /// use collections::bitv:: Bitv;
101+ /// use collections::Bitv;
102102///
103103/// let mut bv = Bitv::with_capacity(10, false);
104104///
@@ -249,9 +249,9 @@ impl Bitv {
249249 /// # Example
250250 ///
251251 /// ```
252- /// use std::collections::Bitv ;
252+ /// use std::collections::bitv ;
253253 ///
254- /// let bv: Bitv = [false, true].iter().map(|n| *n).collect( );
254+ /// let bv = bitv::from_bytes([0b01100000] );
255255 /// assert_eq!(bv.get(0), false);
256256 /// assert_eq!(bv.get(1), true);
257257 ///
@@ -297,11 +297,15 @@ impl Bitv {
297297 /// # Example
298298 ///
299299 /// ```
300- /// use std::collections::Bitv ;
300+ /// use std::collections::bitv ;
301301 ///
302- /// let mut bv: Bitv = [false, true, false].iter().map(|n| *n).collect();
302+ /// let before = 0b01100000;
303+ /// let after = 0b11111111;
304+ ///
305+ /// let mut bv = bitv::from_bytes([before]);
303306 /// bv.set_all();
304- /// assert!(bv.eq_vec([true, true, true]));
307+ /// assert_eq!(bv, bitv::from_bytes([after]));
308+ /// ```
305309 #[ inline]
306310 pub fn set_all ( & mut self ) {
307311 for w in self . storage . mut_iter ( ) { * w = !0 u; }
@@ -312,11 +316,15 @@ impl Bitv {
312316 /// # Example
313317 ///
314318 /// ```
315- /// use std::collections::Bitv;
319+ /// use std::collections::bitv;
320+ ///
321+ /// let before = 0b01100000;
322+ /// let after = 0b10011111;
316323 ///
317- /// let mut bv: Bitv = [false, true, false].iter().map(|n| *n).collect( );
324+ /// let mut bv = bitv::from_bytes([before] );
318325 /// bv.negate();
319- /// assert!(bv.eq_vec([true, false, true]));
326+ /// assert_eq!(bv, bitv::from_bytes([after]));
327+ /// ```
320328 #[ inline]
321329 pub fn negate ( & mut self ) {
322330 for w in self . storage . mut_iter ( ) { * w = !* w; }
@@ -334,14 +342,17 @@ impl Bitv {
334342 /// # Example
335343 ///
336344 /// ```
337- /// use std::collections::Bitv;
345+ /// use std::collections::bitv;
346+ ///
347+ /// let a = 0b01100100;
348+ /// let b = 0b01011010;
349+ /// let res = 0b01111110;
338350 ///
339- /// let mut bv1: Bitv = [false, true, true, false].iter().map(|n| *n).collect();
340- /// let bv2: Bitv = [false, true, false, true].iter().map(|n| *n).collect();
341- /// let res: Bitv = [false, true, true, true].iter().map(|n| *n).collect();
351+ /// let mut a = bitv::from_bytes([a]);
352+ /// let b = bitv::from_bytes([b]);
342353 ///
343- /// assert!(bv1 .union(&bv2 ));
344- /// assert_eq!(bv1, res);
354+ /// assert!(a .union(&b ));
355+ /// assert_eq!(a, bitv::from_bytes([ res]) );
345356 /// ```
346357 #[ inline]
347358 pub fn union ( & mut self , other : & Bitv ) -> bool {
@@ -360,14 +371,17 @@ impl Bitv {
360371 /// # Example
361372 ///
362373 /// ```
363- /// use std::collections::Bitv ;
374+ /// use std::collections::bitv ;
364375 ///
365- /// let mut bv1: Bitv = [false, true, true, false].iter().map(|n| *n).collect() ;
366- /// let bv2: Bitv = [false, true, false, true].iter().map(|n| *n).collect() ;
367- /// let res: Bitv = [false, true, false, false].iter().map(|n| *n).collect() ;
376+ /// let a = 0b01100100 ;
377+ /// let b = 0b01011010 ;
378+ /// let res = 0b01000000 ;
368379 ///
369- /// assert!(bv1.intersect(&bv2));
370- /// assert_eq!(bv1, res);
380+ /// let mut a = bitv::from_bytes([a]);
381+ /// let b = bitv::from_bytes([b]);
382+ ///
383+ /// assert!(a.intersect(&b));
384+ /// assert_eq!(a, bitv::from_bytes([res]));
371385 /// ```
372386 #[ inline]
373387 pub fn intersect ( & mut self , other : & Bitv ) -> bool {
@@ -387,14 +401,24 @@ impl Bitv {
387401 /// # Example
388402 ///
389403 /// ```
390- /// use std::collections::Bitv;
404+ /// use std::collections::bitv;
405+ ///
406+ /// let a = 0b01100100;
407+ /// let b = 0b01011010;
408+ /// let a_b = 0b00100100; // a - b
409+ /// let b_a = 0b00011010; // b - a
410+ ///
411+ /// let mut bva = bitv::from_bytes([a]);
412+ /// let bvb = bitv::from_bytes([b]);
391413 ///
392- /// let mut bv1: Bitv = [false, true, true, false].iter().map(|n| *n).collect();
393- /// let bv2: Bitv = [false, true, false, true].iter().map(|n| *n).collect();
394- /// let res: Bitv = [false, false, true, false].iter().map(|n| *n).collect();
414+ /// assert!(bva.difference(&bvb));
415+ /// assert_eq!(bva, bitv::from_bytes([a_b]));
395416 ///
396- /// assert!(bv1.difference(&bv2));
397- /// assert_eq!(bv1, res);
417+ /// let bva = bitv::from_bytes([a]);
418+ /// let mut bvb = bitv::from_bytes([b]);
419+ ///
420+ /// assert!(bvb.difference(&bva));
421+ /// assert_eq!(bvb, bitv::from_bytes([b_a]));
398422 /// ```
399423 #[ inline]
400424 pub fn difference ( & mut self , other : & Bitv ) -> bool {
@@ -406,7 +430,7 @@ impl Bitv {
406430 /// # Example
407431 ///
408432 /// ```
409- /// use std::collections::bitv:: Bitv;
433+ /// use std::collections::Bitv;
410434 ///
411435 /// let mut bv = Bitv::with_capacity(5, true);
412436 /// assert_eq!(bv.all(), true);
@@ -429,16 +453,10 @@ impl Bitv {
429453 /// # Example
430454 ///
431455 /// ```
432- /// use std::collections::bitv::Bitv;
433- ///
434- /// let mut bv = Bitv::with_capacity(10, false);
435- /// bv.set(1, true);
436- /// bv.set(2, true);
437- /// bv.set(3, true);
438- /// bv.set(5, true);
439- /// bv.set(8, true);
456+ /// use std::collections::bitv;
440457 ///
441- /// assert_eq!(bv.iter().filter(|x| *x).count(), 5);
458+ /// let bv = bitv::from_bytes([0b01110100, 0b10010010]);
459+ /// assert_eq!(bv.iter().filter(|x| *x).count(), 7);
442460 /// ```
443461 #[ inline]
444462 pub fn iter < ' a > ( & ' a self ) -> Bits < ' a > {
@@ -450,7 +468,7 @@ impl Bitv {
450468 /// # Example
451469 ///
452470 /// ```
453- /// use std::collections::bitv:: Bitv;
471+ /// use std::collections::Bitv;
454472 ///
455473 /// let mut bv = Bitv::with_capacity(10, false);
456474 /// assert_eq!(bv.none(), true);
@@ -467,7 +485,7 @@ impl Bitv {
467485 /// # Example
468486 ///
469487 /// ```
470- /// use std::collections::bitv:: Bitv;
488+ /// use std::collections::Bitv;
471489 ///
472490 /// let mut bv = Bitv::with_capacity(10, false);
473491 /// assert_eq!(bv.any(), false);
@@ -488,7 +506,7 @@ impl Bitv {
488506 /// # Example
489507 ///
490508 /// ```
491- /// use std::collections::bitv:: Bitv;
509+ /// use std::collections::Bitv;
492510 ///
493511 /// let mut bv = Bitv::with_capacity(3, true);
494512 /// bv.set(1, false);
@@ -530,10 +548,11 @@ impl Bitv {
530548 /// # Example
531549 ///
532550 /// ```
533- /// use std::collections::bitv::Bitv ;
551+ /// use std::collections::bitv;
534552 ///
535- /// let bv: Bitv = [true, false, true].iter().map(|n| *n).collect();
536- /// assert_eq!(bv.to_bools(), vec!(true, false, true));
553+ /// let bv = bitv::from_bytes([0b10100000]);
554+ /// assert_eq!(bv.to_bools(), vec!(true, false, true, false,
555+ /// false, false, false, false));
537556 /// ```
538557 pub fn to_bools ( & self ) -> Vec < bool > {
539558 Vec :: from_fn ( self . nbits , |i| self . get ( i) )
@@ -548,11 +567,12 @@ impl Bitv {
548567 /// # Example
549568 ///
550569 /// ```
551- /// use std::collections::Bitv ;
570+ /// use std::collections::bitv ;
552571 ///
553- /// let bv: Bitv = [false, true, true].iter().map(|n| *n).collect( );
572+ /// let bv = bitv::from_bytes([0b10100000] );
554573 ///
555- /// assert!(bv.eq_vec([false, true, true]));
574+ /// assert!(bv.eq_vec([true, false, true, false,
575+ /// false, false, false, false]));
556576 /// ```
557577 pub fn eq_vec ( & self , v : & [ bool ] ) -> bool {
558578 assert_eq ! ( self . nbits, v. len( ) ) ;
@@ -572,9 +592,9 @@ impl Bitv {
572592 /// # Example
573593 ///
574594 /// ```
575- /// use std::collections::bitv::Bitv ;
595+ /// use std::collections::bitv;
576596 ///
577- /// let mut bv: Bitv = [false, true, true, false].iter().map(|n| *n).collect( );
597+ /// let mut bv = bitv::from_bytes([0b01001011] );
578598 /// bv.truncate(2);
579599 /// assert!(bv.eq_vec([false, true]));
580600 /// ```
@@ -595,7 +615,7 @@ impl Bitv {
595615 /// # Example
596616 ///
597617 /// ```
598- /// use std::collections::bitv:: Bitv;
618+ /// use std::collections::Bitv;
599619 ///
600620 /// let mut bv = Bitv::with_capacity(3, false);
601621 /// bv.reserve(10);
@@ -616,7 +636,7 @@ impl Bitv {
616636 /// # Example
617637 ///
618638 /// ```
619- /// use std::collections::bitv:: Bitv;
639+ /// use std::collections::Bitv;
620640 ///
621641 /// let mut bv = Bitv::new();
622642 /// bv.reserve(10);
@@ -632,11 +652,12 @@ impl Bitv {
632652 /// # Example
633653 ///
634654 /// ```
635- /// use std::collections::bitv::Bitv ;
655+ /// use std::collections::bitv;
636656 ///
637- /// let mut bv: Bitv = [false, true, true, false].iter().map(|n| *n).collect( );
657+ /// let mut bv = bitv::from_bytes([0b01001011] );
638658 /// bv.grow(2, true);
639- /// assert!(bv.eq_vec([false, true, true, false, true, true]));
659+ /// assert_eq!(bv.len(), 10);
660+ /// assert_eq!(bv.to_bytes(), vec!(0b01001011, 0b11000000));
640661 /// ```
641662 pub fn grow ( & mut self , n : uint , value : bool ) {
642663 let new_nbits = self . nbits + n;
@@ -676,11 +697,13 @@ impl Bitv {
676697 /// # Example
677698 ///
678699 /// ```
679- /// use std::collections::bitv::Bitv ;
700+ /// use std::collections::bitv;
680701 ///
681- /// let mut bv: Bitv = [false, true, true, false].iter().map(|n| *n).collect();
702+ /// let mut bv = bitv::from_bytes([0b01001001]);
703+ /// assert_eq!(bv.pop(), true);
682704 /// assert_eq!(bv.pop(), false);
683- /// assert!(bv.eq_vec([false, true, true]));
705+ /// assert_eq!(bv.len(), 6);
706+ /// assert_eq!(bv.to_bytes(), vec!(0b01001000));
684707 /// ```
685708 pub fn pop ( & mut self ) -> bool {
686709 let ret = self . get ( self . nbits - 1 ) ;
@@ -697,12 +720,12 @@ impl Bitv {
697720 /// # Example
698721 ///
699722 /// ```
700- /// use std::collections::bitv:: Bitv;
723+ /// use std::collections::Bitv;
701724 ///
702- /// let mut bv: Bitv = [false, true].iter().map(|n| *n).collect ();
725+ /// let mut bv = Bitv::new ();
703726 /// bv.push(true);
704727 /// bv.push(false);
705- /// assert!(bv.eq_vec([false, true, true, false]));
728+ /// assert!(bv.eq_vec([true, false]));
706729 /// ```
707730 pub fn push ( & mut self , elem : bool ) {
708731 let insert_pos = self . nbits ;
@@ -974,9 +997,9 @@ impl BitvSet {
974997 /// # Example
975998 ///
976999 /// ```
977- /// use std::collections::{Bitv , BitvSet};
1000+ /// use std::collections::{bitv , BitvSet};
9781001 ///
979- /// let bv: Bitv = [false, true, true, false].iter().map(|n| *n).collect( );
1002+ /// let bv = bitv::from_bytes([0b01100000] );
9801003 /// let s = BitvSet::from_bitv(bv);
9811004 ///
9821005 /// // Print 1, 2 in arbitrary order
@@ -1279,11 +1302,15 @@ impl BitvSet {
12791302 /// use std::collections::BitvSet;
12801303 /// use std::collections::bitv;
12811304 ///
1282- /// let mut a = BitvSet::from_bitv(bitv::from_bytes([0b01101000]));
1283- /// let b = BitvSet::from_bitv(bitv::from_bytes([0b10100000]));
1305+ /// let a = 0b01101000;
1306+ /// let b = 0b10100000;
1307+ /// let res = 0b11101000;
1308+ ///
1309+ /// let mut a = BitvSet::from_bitv(bitv::from_bytes([a]));
1310+ /// let b = BitvSet::from_bitv(bitv::from_bytes([b]));
12841311 ///
12851312 /// a.union_with(&b);
1286- /// assert_eq!(a.unwrap(), bitv::from_bytes([0b11101000 ]));
1313+ /// assert_eq!(a.unwrap(), bitv::from_bytes([res ]));
12871314 /// ```
12881315 #[ inline]
12891316 pub fn union_with ( & mut self , other : & BitvSet ) {
@@ -1298,11 +1325,15 @@ impl BitvSet {
12981325 /// use std::collections::BitvSet;
12991326 /// use std::collections::bitv;
13001327 ///
1301- /// let mut a = BitvSet::from_bitv(bitv::from_bytes([0b01101000]));
1302- /// let b = BitvSet::from_bitv(bitv::from_bytes([0b10100000]));
1328+ /// let a = 0b01101000;
1329+ /// let b = 0b10100000;
1330+ /// let res = 0b00100000;
1331+ ///
1332+ /// let mut a = BitvSet::from_bitv(bitv::from_bytes([a]));
1333+ /// let b = BitvSet::from_bitv(bitv::from_bytes([b]));
13031334 ///
13041335 /// a.intersect_with(&b);
1305- /// assert_eq!(a.unwrap(), bitv::from_bytes([0b00100000 ]));
1336+ /// assert_eq!(a.unwrap(), bitv::from_bytes([res ]));
13061337 /// ```
13071338 #[ inline]
13081339 pub fn intersect_with ( & mut self , other : & BitvSet ) {
@@ -1317,11 +1348,22 @@ impl BitvSet {
13171348 /// use std::collections::BitvSet;
13181349 /// use std::collections::bitv;
13191350 ///
1320- /// let mut a = BitvSet::from_bitv(bitv::from_bytes([0b01101000]));
1321- /// let b = BitvSet::from_bitv(bitv::from_bytes([0b10100000]));
1351+ /// let a = 0b01101000;
1352+ /// let b = 0b10100000;
1353+ /// let a_b = 0b01001000; // a - b
1354+ /// let b_a = 0b10000000; // b - a
1355+ ///
1356+ /// let mut bva = BitvSet::from_bitv(bitv::from_bytes([a]));
1357+ /// let bvb = BitvSet::from_bitv(bitv::from_bytes([b]));
1358+ ///
1359+ /// bva.difference_with(&bvb);
1360+ /// assert_eq!(bva.unwrap(), bitv::from_bytes([a_b]));
13221361 ///
1323- /// a.difference_with(&b);
1324- /// assert_eq!(a.unwrap(), bitv::from_bytes([0b01001000]));
1362+ /// let bva = BitvSet::from_bitv(bitv::from_bytes([a]));
1363+ /// let mut bvb = BitvSet::from_bitv(bitv::from_bytes([b]));
1364+ ///
1365+ /// bvb.difference_with(&bva);
1366+ /// assert_eq!(bvb.unwrap(), bitv::from_bytes([b_a]));
13251367 /// ```
13261368 #[ inline]
13271369 pub fn difference_with ( & mut self , other : & BitvSet ) {
@@ -1336,11 +1378,15 @@ impl BitvSet {
13361378 /// use std::collections::BitvSet;
13371379 /// use std::collections::bitv;
13381380 ///
1339- /// let mut a = BitvSet::from_bitv(bitv::from_bytes([0b01101000]));
1340- /// let b = BitvSet::from_bitv(bitv::from_bytes([0b10100000]));
1381+ /// let a = 0b01101000;
1382+ /// let b = 0b10100000;
1383+ /// let res = 0b11001000;
1384+ ///
1385+ /// let mut a = BitvSet::from_bitv(bitv::from_bytes([a]));
1386+ /// let b = BitvSet::from_bitv(bitv::from_bytes([b]));
13411387 ///
13421388 /// a.symmetric_difference_with(&b);
1343- /// assert_eq!(a.unwrap(), bitv::from_bytes([0b11001000 ]));
1389+ /// assert_eq!(a.unwrap(), bitv::from_bytes([res ]));
13441390 /// ```
13451391 #[ inline]
13461392 pub fn symmetric_difference_with ( & mut self , other : & BitvSet ) {
0 commit comments