Metadata-Version: 2.1
Name: BitVector
Version: 3.5.0
Summary: A memory-efficient packed representation for bit arrays in pure Python
Home-page: https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.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.5.0.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.6





Consult the module API page at

    https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.html

for all information related to this module, including  
information regarding the latest changes to the code. The 
page at the URL shown above lists all of the module
functionality you can invoke in your own code.

With regard to the basic purpose of the module, it defines
the BitVector class as a memory-efficient packed
representation for bit arrays. The class comes with a large
number of methods for using the representation in diverse
applications such as computer security, computer vision,
etc.

**Version 3.5.0** makes the module compatible with Python 3.9 and
also reverts __add__ to its implementation in 3.4.8 to get around
a bug.

**Version 3.4.9** includes significantly faster implementations 
for concatenating and extending bitvectors.

The class is provided with the following operators/methods:

-      __add__
-      __and__
-      __contains__
-      __eq__, __ne__, __lt__, __le__, __gt__, __ge__
-      __getitem__
-      __iadd__
-      __int__
-      __invert__
-      __iter__
-      __len__
-      __lshift__
-      __or__
-      __rshift__
-      __setitem__
-      __str__
-      __xor__
-      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                 
-      min_canonical
-      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)
-      test_for_primality
-      unpermute
-      write_to_file
-      write_bits_to_stream_object

          

