docstr: Determine the number of possible search points in :attr:`dimensions`
  
  Returns
  -------
  search_space_size: Integer, or `sys.maxsize`
      The number of different hyperparameter search points. If the hyperparameter search space
      is infinitely large, `sys.maxsize` is returned to represent `np.inf`, which cannot
      itself be returned because `__len__` is required to produce an int >= 0
docstr_tok: ["Determine","the","number","of","possible","search","points","in",":","attr",":","`","dimensions","`","Returns","--","--","--","-","search_space_size",":","Integer",",","or","`","sys.maxsize","`","The","number","of","different","hyperparameter","search","points",".","If","the","hyperparameter","search","space","is","infinitely","large",",","`","sys.maxsize","`","is","returned","to","represent","`","np.inf","`",",","which","can","not","itself","be","returned","because","`","__len__","`","is","required","to","produce","an","int",">","=","0"]
code: def __len__(self):
      """Determine the number of possible search points in :attr:`dimensions`
  
      Returns
      -------
      search_space_size: Integer, or `sys.maxsize`
          The number of different hyperparameter search points. If the hyperparameter search space
          is infinitely large, `sys.maxsize` is returned to represent `np.inf`, which cannot
          itself be returned because `__len__` is required to produce an int >= 0
      """
      if any(isinstance(_, Real) for _ in self.dimensions):
          search_space_size = maxsize
      else:
          search_space_size = reduce(
              lambda x, y: x * y,
              [
                  (_.high - _.low + 1)
                  if isinstance(_, Integer)
                  else len(_.bounds)
                  for _ in self.dimensions
              ],
              1,
          )
  
      return search_space_size
  
imports: from hyperparameter_hunter.space.dimensions import Dimension, Real, Integer, Categorical
  from hyperparameter_hunter.utils.general_utils import short_repr
  from functools import reduce
  import numbers
  import numpy
  from sys import maxsize
  from sklearn.utils import check_random_state
  from sklearn.utils.fixes import sp_version
label_desc: Use image node_id 5 for calling the Space obj's underlying member method code with example usage: obj.__len__() and returns: search_space_size