pyiron_contrib.protocol.utils.comparers module

class pyiron_contrib.protocol.utils.comparers.AtomsComparer(obj)[source]

Bases: Comparer

Used to compare pyiron Atoms objects.

equals(b)[source]
registry = {<class 'pyiron_contrib.protocol.utils.comparers.ListComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.AtomsComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.NumpyArrayComparer'>}
type

alias of Atoms

class pyiron_contrib.protocol.utils.comparers.Comparer(obj)[source]

Bases: LoggerMixin

Class is aware of its subclasses. Subclasses must have a type attribute of type type. Compares two objects, where the behaviour can be overridden, and automatically determines the type.

static both_are_int_or_float(a, b)[source]
compatible_types(a, b)[source]

Tests whether an equality comparison can be made between objects of type a and b by checking that these are the same type, or both either int or float.

Parameters
  • a (type) – The first type to be tested.

  • b (type) – The second type to be tested.

Returns

True when the two types are the same or both belong to int and float.

Return type

(bool)

default(b)[source]
equals(b)[source]
property object
registry = {<class 'pyiron_contrib.protocol.utils.comparers.ListComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.AtomsComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.NumpyArrayComparer'>}
class pyiron_contrib.protocol.utils.comparers.ListComparer(obj)[source]

Bases: Comparer

Used to compare lists.

equals(b)[source]
registry = {<class 'pyiron_contrib.protocol.utils.comparers.ListComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.AtomsComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.NumpyArrayComparer'>}
type

alias of list

class pyiron_contrib.protocol.utils.comparers.NumpyArrayComparer(obj)[source]

Bases: Comparer

Used to compare numpy arrays.

equals(b)[source]
static get_machine_epsilon(a)[source]

Returns the machine inaccuracy for the datatype of a.

Parameters

a – (np.ndarray) the array

Returns: (float or None) the machine epsilon or None if it is an exact datatype

registry = {<class 'pyiron_contrib.protocol.utils.comparers.ListComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.AtomsComparer'>, <class 'pyiron_contrib.protocol.utils.comparers.NumpyArrayComparer'>}
type

alias of ndarray

pyiron_contrib.protocol.utils.comparers.ensure_iterable_tuple(o)