class_docstr: Combines a function and its parametrization for running experiments (see benchmark subpackage)
  
  Parameters
  ----------
  function: callable
      the callable to convert
  parametrization: Parameter
      the parametrization of the function
  Notes
  -----
  - you can redefine custom "evaluation_function" and "compute_pseudotime" for custom behaviors in experiments
  - the bool/int/str/float init arguments are added as descriptors for the experiment which will serve in
    definining test cases. You can add more through "add_descriptors".
  - Makes sure you the "copy()" methods works (provides a new copy of the function *and* its parametrization)
    if you subclass ExperimentFunction since it is intensively used in benchmarks.
    By default, this will create a new instance using the same init arguments as your current instance
    (they were recorded through "__new__"'s magic) and apply the additional descriptors you may have added,
    as well as propagate the new parametrization *if it has a different name as the current one*.
class_docstr_tok: ["Combines","a","function","and","its","parametrization","for","running","experiments","(","see","benchmark","subpackage",")","Parameters","--","--","--","--","--","function",":","callable","the","callable","to","convert","parametrization",":","Parameter","the","parametrization","of","the","function","Notes","--","--","-","-","you","can","redefine","custom","``","evaluation_function","''","and","``","compute_pseudotime","''","for","custom","behaviors","in","experiments","-","the","bool\/int\/str\/float","init","arguments","are","added","as","descriptors","for","the","experiment","which","will","serve","in","definining","test","cases",".","You","can","add","more","through","``","add_descriptors","''",".","-","Makes","sure","you","the","``","copy","(",")","''","methods","works","(","provides","a","new","copy","of","the","function","*","and","*","its","parametrization",")","if","you","subclass","ExperimentFunction","since","it","is","intensively","used","in","benchmarks",".","By","default",",","this","will","create","a","new","instance","using","the","same","init","arguments","as","your","current","instance","(","they","were","recorded","through","``","__new__","''","'s","magic",")","and","apply","the","additional","descriptors","you","may","have","added",",","as","well","as","propagate","the","new","parametrization","*","if","it","has","a","different","name","as","the","current","one","*","."]
docstr: Check that two instances where initialized with same settings.
  This is not meant to be used to check if functions are exactly equal
  (initialization may hold some randomness)
  This is only useful for unit testing.
  (may need to be overloaded to make faster if tests are getting slow)
docstr_tok: ["Check","that","two","instances","where","initialized","with","same","settings",".","This","is","not","meant","to","be","used","to","check","if","functions","are","exactly","equal","(","initialization","may","hold","some","randomness",")","This","is","only","useful","for","unit","testing",".","(","may","need","to","be","overloaded","to","make","faster","if","tests","are","getting","slow",")"]
code: def equivalent_to(self, other: tp.Any) -> bool:
      """Check that two instances where initialized with same settings.
      This is not meant to be used to check if functions are exactly equal
      (initialization may hold some randomness)
      This is only useful for unit testing.
      (may need to be overloaded to make faster if tests are getting slow)
      """
      if other.__class__ != self.__class__:
          return False
      return (
          bool(self._descriptors == other._descriptors)
          and self.parametrization.name == other.parametrization.name
      )
  
imports: import inspect
  from pathlib import Path
  import numbers
  import numpy
  import nevergrad.common.typing
  from nevergrad.common import errors
  from nevergrad.common.errors import UnsupportedExperiment
  from nevergrad.parametrization import parameter
  from nevergrad.optimization import multiobjective
label_desc: Use image node_id 11 for calling the ExperimentFunction obj's underlying member method code with example usage: obj.equivalent_to(other) and returns: unknown, False