class_docstr: .. include:: /global.rst
  
  Please refer to |sobol| for details on this algorithm.
docstr: Returns the position of the high 1 bit base 2 in an integer.
  
  :param n: the integer to be measured
  :type n: int
  :returns: (int) the number of bits base 2
  
  This was taken from http://people.sc.fsu.edu/~jburkardt/py_src/sobol/sobol.html
  Licensing:
      This code is distributed under the MIT license.
  
  Modified:
      22 February 2011
  
  Author:
      Original MATLAB version by John Burkardt.
      PYTHON version by Corrado Chisari
docstr_tok: ["Returns","the","position","of","the","high","1","bit","base","2","in","an","integer",".",":","param","n",":","the","integer","to","be","measured",":","type","n",":","int",":","returns",":","(","int",")","the","number","of","bits","base","2","This","was","taken","from","http",":","\/\/people.sc.fsu.edu\/~jburkardt\/py_src\/sobol\/sobol.html","Licensing",":","This","code","is","distributed","under","the","MIT","license",".","Modified",":","22","February","2011","Author",":","Original","MATLAB","version","by","John","Burkardt",".","PYTHON","version","by","Corrado","Chisari"]
code: def i4_bit_hi1(n):
      """
      Returns the position of the high 1 bit base 2 in an integer.
  
      :param n: the integer to be measured
      :type n: int
      :returns: (int) the number of bits base 2
  
      This was taken from http://people.sc.fsu.edu/~jburkardt/py_src/sobol/sobol.html
      Licensing:
          This code is distributed under the MIT license.
  
      Modified:
          22 February 2011
  
      Author:
          Original MATLAB version by John Burkardt.
          PYTHON version by Corrado Chisari
  
      """
  
      i = math.floor(n)
      bit = 0
      while 1:
          if i <= 0:
              break
          bit += 1
          i = math.floor(i / 2.0)
      return bit
  
imports: import math
  import operator
  import random
  import array
  import functools
  from ..functions import static_key_order
  from .solver_registry import register_solver
  from .util import Solver, _copydoc, uniform_in_bounds
  from .None import util
label_desc: Use image node_id 8 for calling the Sobol obj's underlying member method code with example usage: obj.i4_bit_hi1(n) and returns: bit