class_docstr: .. include:: /global.rst
  
  Please refer to |sobol| for details on this algorithm.
docstr: Returns the bitwise_xor of a and b as a bitstring.
  
  :param a: first number
  :type a: int
  :param b: second number
  :type b: int
  
  >>> Sobol.bitwise_xor(13, 17)
  28
  >>> Sobol.bitwise_xor(31, 5)
  26
docstr_tok: ["Returns","the","bitwise_xor","of","a","and","b","as","a","bitstring",".",":","param","a",":","first","number",":","type","a",":","int",":","param","b",":","second","number",":","type","b",":","int",">",">",">","Sobol.bitwise_xor","(","13",",","17",")","28",">",">",">","Sobol.bitwise_xor","(","31",",","5",")","26"]
code: def bitwise_xor(a, b):
      """
      Returns the bitwise_xor of a and b as a bitstring.
  
      :param a: first number
      :type a: int
      :param b: second number
      :type b: int
  
      >>> Sobol.bitwise_xor(13, 17)
      28
      >>> Sobol.bitwise_xor(31, 5)
      26
  
      """
      to_binary = lambda x: bin(x)[2:]
      abin = to_binary(a)[::-1]
      bbin = to_binary(b)[::-1]
      xor = lambda x, y: "0" if (x == y) else "1"
      lst = [
          xor(x, y) for x, y in izip_longest(abin, bbin, fillvalue="0")
      ]
      lst.reverse()
      return int("".join(lst), 2)
  
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 7 for calling the Sobol obj's underlying member method code with example usage: obj.bitwise_xor(a, b) and returns: int