Metadata-Version: 2.1
Name: BitVector
Version: 3.4.4
Summary: A pure-Python memory-efficient packed representation for bit arrays
Home-page: https://engineering.purdue.edu/kak/dist/BitVector-3.4.4.html
Author: Avinash Kak
Author-email: kak@purdue.edu
Maintainer: Avinash Kak
Maintainer-email: kak@purdue.edu
License: Python Software Foundation License
Download-URL: https://engineering.purdue.edu/kak/dist/BitVector-3.4.4.tar.gz
Keywords: bit array,bit vector,bit string,logical operations on bit fields
Platform: All platforms
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4


This class presents a pure-Python memory-efficient packed representation for bit arrays.

**Version 3.4.4** fixes the behavior of the module for the edge case of an empty BitVector instance.  (An empty BitVector has no bits at all.)  Previously, invoking the count_bits() and runs() methods on an empty BitVector instance produced results that were inconsistent with those from regular instances.

The class is provided with the following operators/methods:

-      __getitem__
-      __setitem__
-      __len__
-      __iter__
-      __contains__
-      __getslice__
-      __str__
-      __int__
-      __add__
-      __eq__, __ne__, __lt__, __le__, __gt__, __ge__
-      __or__
-      __and__
-      __xor__
-      __invert__
-      __lshift__
-      __rshift__
-      __add__
-      close_file_object
-      count_bits 
-      count_bits_sparse      (faster for sparse bit vectors)     
-      deep_copy
-      divide_into_two
-      gcd                    (for greatest common divisor)
-      gen_random_bits 
-      get_bitvector_in_ascii
-      get_bitvector_in_hex
-      gf_divide_by_modulus   (for modular divisions in GF(2^n))
-      gf_MI                  (for multiplicative inverse in GF(2^n))
-      gf_multiply            (for multiplications in GF(2))
-      gf_multiply_modular    (for multiplications in GF(2^n))
-      hamming_distance
-      int_val                (for returning the integer value) 
-      is_power_of_2
-      is_power_of_2_sparse   (faster for sparse bit vectors)
-      jaccard_distance
-      jaccard_similarity
-      length                 
-      multiplicative_inverse
-      next_set_bit
-      pad_from_left
-      pad_from_right
-      permute
-      rank_of_bit_set_at_index
-      read_bits_from_file
-      reset
-      reverse
-      runs
-      set_value
-      shift_left             (for non-circular left shift)
-      shift_right            (for non-circular right shift)
-      slice assignment
-      test_for_primality
-      unpermute
-      write_to_file
-      write_bits_to_fileobject

          

