lsst.pex.config  17.0.1-1-g703d48b
Functions
lsst.pex.config.comparison Namespace Reference

Functions

def getComparisonName (name1, name2)
 
def compareScalars (name, v1, v2, output, rtol=1E-8, atol=1E-8, dtype=None)
 
def compareConfigs (name, c1, c2, shortcut=True, rtol=1E-8, atol=1E-8, output=None)
 

Function Documentation

◆ compareConfigs()

def lsst.pex.config.comparison.compareConfigs (   name,
  c1,
  c2,
  shortcut = True,
  rtol = 1E-8,
  atol = 1E-8,
  output = None 
)
Compare two `lsst.pex.config.Config` instances for equality.

This function is a helper for `lsst.pex.config.Config.compare`.

Parameters
----------
name : `str`
    Name to use when reporting differences, typically created by
    `getComparisonName`.
v1 : `lsst.pex.config.Config`
    Left-hand side config to compare.
v2 : `lsst.pex.config.Config`
    Right-hand side config to compare.
shortcut : `bool`, optional
    If `True`, return as soon as an inequality is found. Default is `True`.
rtol : `float`, optional
    Relative tolerance for floating point comparisons.
atol : `float`, optional
    Absolute tolerance for floating point comparisons.
output : callable, optional
    A callable that takes a string, used (possibly repeatedly) to report
    inequalities. For example: `print`.

Returns
-------
areEqual : `bool`
    `True` when the two `lsst.pex.config.Config` instances are equal.
    `False` if there is an inequality.

See also
--------
lsst.pex.config.compareScalars

Notes
-----
Floating point comparisons are performed by `numpy.allclose`.

If ``c1`` or ``c2`` contain `~lsst.pex.config.RegistryField` or
`~lsst.pex.config.ConfigChoiceField` instances, *unselected*
`~lsst.pex.config.Config` instances will not be compared.

Definition at line 105 of file comparison.py.

◆ compareScalars()

def lsst.pex.config.comparison.compareScalars (   name,
  v1,
  v2,
  output,
  rtol = 1E-8,
  atol = 1E-8,
  dtype = None 
)
Compare two scalar values for equality.

This function is a helper for `lsst.pex.config.Config.compare`.

Parameters
----------
name : `str`
    Name to use when reporting differences, typically created by
    `getComparisonName`.
v1 : object
    Left-hand side value to compare.
v2 : object
    Right-hand side value to compare.
output : callable or `None`
    A callable that takes a string, used (possibly repeatedly) to report
    inequalities (for example, `print`). Set to `None` to disable output.
rtol : `float`, optional
    Relative tolerance for floating point comparisons.
atol : `float`, optional
    Absolute tolerance for floating point comparisons.
dtype : class, optional
    Data type of values for comparison. May be `None` if values are not
    floating-point.

Returns
-------
areEqual : `bool`
    `True` if the values are equal, `False` if they are not.

See also
--------
lsst.pex.config.compareConfigs

Notes
-----
Floating point comparisons are performed by `numpy.allclose`.

Definition at line 56 of file comparison.py.

◆ getComparisonName()

def lsst.pex.config.comparison.getComparisonName (   name1,
  name2 
)
Create a comparison name that is used for printed output of comparisons.

Parameters
----------
name1 : `str`
    Name of the first configuration.
name2 : `str`
    Name of the second configuration.

Returns
-------
name : `str`
    When ``name1`` and ``name2`` are equal, the returned name is
    simply one of the names. When they are different the returned name is
    formatted as ``"{name1} / {name2}"``.

Definition at line 34 of file comparison.py.