bit_manipulation.find_previous_power_of_two
===========================================

.. py:module:: bit_manipulation.find_previous_power_of_two


Functions
---------

.. autoapisummary::

   bit_manipulation.find_previous_power_of_two.find_previous_power_of_two


Module Contents
---------------

.. py:function:: find_previous_power_of_two(number: int) -> int

   Find the largest power of two that is less than or equal to a given integer.
   https://stackoverflow.com/questions/1322510

   >>> [find_previous_power_of_two(i) for i in range(18)]
   [0, 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16]
   >>> find_previous_power_of_two(-5)
   Traceback (most recent call last):
       ...
   ValueError: Input must be a non-negative integer
   >>> find_previous_power_of_two(10.5)
   Traceback (most recent call last):
       ...
   ValueError: Input must be a non-negative integer