def typeParameters(): r"""Get dictionary with functions for checking values of parameters. Returns: Dict[str, Callable]: * F (Callable[[Union[int, float]], bool]): TODO * CR (Callable[[float], bool]): TODO """ d = BatAlgorithm.typeParameters() d['F'] = lambda x: isinstance(x, (int, float)) and x > 0 d['CR'] = lambda x: isinstance(x, float) and 0 <= x <= 1 return d
def test_parameter_type(self): d = BatAlgorithm.typeParameters() self.assertTrue(d['Qmax'](10)) self.assertTrue(d['Qmin'](10)) self.assertTrue(d['r'](10)) self.assertFalse(d['r'](-10)) self.assertFalse(d['r'](0)) self.assertFalse(d['A'](0)) self.assertFalse(d['A'](-19)) self.assertTrue(d['NP'](10)) self.assertFalse(d['NP'](-10)) self.assertFalse(d['NP'](0)) self.assertTrue(d['A'](10)) self.assertFalse(d['Qmin'](None)) self.assertFalse(d['Qmax'](None))
def typeParameters(): r"""Get dictionary with functions for checking values of parameters. Returns: Dict[str, Callable]: * F (Callable[[Union[int, float]], bool]): Scaling factor. * CR (Callable[[float], bool]): Crossover probability. See Also: * :func:`NiaPy.algorithms.basic.BatAlgorithm.typeParameters` """ d = BatAlgorithm.typeParameters() d.update({ 'F': lambda x: isinstance(x, (int, float)) and x > 0, 'CR': lambda x: isinstance(x, float) and 0 <= x <= 1 }) return d
def typeParameters(): d = BatAlgorithm.typeParameters() d['F'] = lambda x: isinstance(x, (int, float)) and x > 0 d['CR'] = lambda x: isinstance(x, float) and 0 <= x <= 1 return d