33#include "DGtal/base/Common.h"
56 static std::string
bitString(T value,
unsigned nbBits = 0)
61 if(nbBits == 0) nbBits =
sizeof(T)*8;
56 static std::string
bitString(T value,
unsigned nbBits = 0) {
…}
87 static inline T
mask(
unsigned nthBit)
89 return static_cast<T
>(
static_cast<T
>(1) << nthBit);
87 static inline T
mask(
unsigned nthBit) {
…}
96 static inline bool getBit(T key,
unsigned nthBit)
98 return ( key &
mask<T>(nthBit) );
96 static inline bool getBit(T key,
unsigned nthBit) {
…}
106 template <
typename T>
109 return ( (val & -val) | (val & (~val + 1)) );
117 template <
typename T>
120 return ~val & (val + 1);
127 template <
typename T>
131 std::cerr <<
"unsigned int nbSetBits(T val)" << std::endl;
134 for ( ; val; ++i) {val ^= val & -val; }
146 std::cerr <<
"unsigned int nbSetBits( DGtal::uint8_t val )" << std::endl;
159 std::cerr <<
"unsigned int nbSetBits( DGtal::uint16_t val )" << std::endl;
173 std::cerr <<
"unsigned int nbSetBits( DGtal::uint32_t val )" << std::endl;
187 std::cerr <<
"unsigned int nbSetBits( DGtal::uint64_t val )" << std::endl;
319 return ( n & 0xffff )
331 return ( n & 0xffffffffLL )
353 return ( n & 0xff00 )
365 return ( n & 0xffff0000 )
377 return ( n & 0xffffffff00000000LL )
617 { 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
618 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
619 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
620 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
621 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
622 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
623 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
624 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
625 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
626 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
627 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
628 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
629 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
630 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
631 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
632 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
633 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
634 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
635 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
636 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
637 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
638 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
639 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
640 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
641 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
642 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
643 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
644 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
645 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
646 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
647 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 ,
648 0 , 1 , 0 , 1 , 0 , 1 , 0 , 1 },
650 { 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
651 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
652 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
653 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
654 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
655 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
656 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
657 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
658 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
659 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
660 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
661 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
662 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
663 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
664 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
665 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
666 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
667 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
668 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
669 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
670 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
671 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
672 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
673 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
674 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
675 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
676 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
677 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
678 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
679 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
680 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 ,
681 0 , 0 , 1 , 2 , 0 , 0 , 1 , 2 },
683 { 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
684 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
685 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
686 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
687 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
688 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
689 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
690 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
691 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
692 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
693 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
694 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
695 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
696 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
697 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
698 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
699 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
700 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
701 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
702 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
703 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
704 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
705 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
706 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
707 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
708 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
709 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
710 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
711 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
712 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
713 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 ,
714 0 , 0 , 0 , 0 , 1 , 2 , 2 , 3 },
716 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
717 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
718 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
719 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
720 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
721 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
722 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
723 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
724 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
725 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
726 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
727 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
728 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
729 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
730 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
731 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
732 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
733 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
734 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
735 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
736 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
737 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
738 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
739 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
740 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
741 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
742 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
743 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
744 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
745 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
746 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
747 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 },
749 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
750 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
751 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
752 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
753 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
754 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
755 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
756 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
757 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
758 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
759 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
760 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
761 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
762 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
763 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
764 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
765 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
766 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
767 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
768 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
769 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
770 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
771 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
772 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
773 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
774 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
775 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
776 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
777 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
778 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
779 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
780 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 },
782 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
783 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
784 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
785 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
786 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
787 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
788 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
789 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
790 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
791 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
792 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
793 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
794 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
795 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
796 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
797 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
798 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
799 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
800 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
801 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
802 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
803 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
804 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
805 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
806 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
807 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
808 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
809 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
810 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
811 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
812 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
813 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 },
815 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
816 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
817 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
818 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
819 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
820 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
821 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
822 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
823 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
824 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
825 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
826 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
827 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
828 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
829 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
830 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 ,
831 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
832 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
833 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
834 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
835 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
836 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
837 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
838 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
839 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
840 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
841 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
842 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
843 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
844 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
845 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
846 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 },
848 { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
849 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
850 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
851 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
852 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
853 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
854 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
855 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
856 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
857 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
858 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
859 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
860 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
861 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
862 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
863 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
864 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 ,
865 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
866 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
867 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
868 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
869 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
870 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
871 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 ,
872 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 ,
873 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
874 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
875 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 ,
876 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 ,
877 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 ,
878 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 ,
879 5 , 6 , 6 , 7 , 6 , 7 , 7 , 8 }
DGtal is the top-level namespace which contains all DGtal functions and types.
std::uint64_t uint64_t
unsigned 64-bit integer.
std::int64_t int64_t
signed 94-bit integer.
std::uint32_t uint32_t
unsigned 32-bit integer.
std::uint16_t uint16_t
unsigned 16-bit integer.
std::uint8_t uint8_t
unsigned 8-bit integer.
static T firstUnsetBit(T val)
static unsigned int indexInSetBits(DGtal::uint8_t n, unsigned int b)
static unsigned int indexInSetBits(DGtal::uint32_t n, unsigned int b)
static unsigned int mostSignificantBit(DGtal::uint8_t n)
static unsigned int leastSignificantBit(DGtal::uint64_t n)
static unsigned int leastSignificantBit(DGtal::uint16_t n)
static const DGtal::uint8_t myLSB[256]
static unsigned int mostSignificantBit(DGtal::uint64_t n)
static unsigned int leastSignificantBit(DGtal::uint32_t n)
static unsigned int nbSetBits(T val)
static unsigned int leastSignificantBit(DGtal::uint8_t n)
static unsigned int mostSignificantBit(DGtal::uint32_t n)
static T firstSetBit(T val)
static unsigned int indexInSetBits(DGtal::uint64_t n, unsigned int b)
static const DGtal::uint8_t myMSB[256]
static unsigned int nbSetBits(DGtal::uint64_t val)
static T mask(unsigned nthBit)
static unsigned int nbSetBits(DGtal::uint8_t val)
static unsigned int mostSignificantBit(DGtal::uint16_t n)
static unsigned int nbSetBits(DGtal::uint16_t val)
static unsigned int indexInSetBits(DGtal::uint16_t n, unsigned int b)
static unsigned int nbSetBits(DGtal::uint32_t val)
static bool getBit(T key, unsigned nthBit)
static std::string bitString(T value, unsigned nbBits=0)
Bits Structs grouping all the functions of this tiny library for bitwise calculation.
static const DGtal::uint8_t myBitCount[256]
static const DGtal::uint8_t myIndexInSetBits[8][256]