class_docstr: This just creates a wrapper to call the function by appropriately creating bounds
  and querying appropriately. 
docstr: Evaluates X at the given Z at a single point. 
docstr_tok: ["Evaluates","X","at","the","given","Z","at","a","single","point","."]
code: def eval_single_point(self, X):
      """Evaluates X at the given Z at a single point."""
      if not self.vectorised:
          return float(self.func(X))
      else:
          X = np.array(X).reshape((1, self.domain_dim))
          return float(self.func(X))
  
imports: from __future__ import division
  from functools import total_ordering
  from argparse import Namespace
  import numpy
  from .general_utils import map_to_bounds
label_desc: Use image node_id 3 for calling the DOOFunction obj's underlying member method code with example usage: obj.eval_single_point(X) and returns: float, float