Edit on GitHub

vse_sim.compat

Small compatibility helpers shared across the simulation modules.

 1"""Small compatibility helpers shared across the simulation modules."""
 2
 3from numbers import Number
 4
 5from numpy import ceil as numpy_ceil
 6from numpy import floor as numpy_floor
 7from numpy import mean as numpy_mean
 8from numpy import median as numpy_median
 9from numpy import sqrt as numpy_sqrt
10from numpy import std as numpy_std
11
12
13def as_builtin_scalar(value):
14    """Convert NumPy scalar values to their Python built-in equivalents."""
15    try:
16        return value.item()
17    except (AttributeError, ValueError):
18        return value
19
20
21def ceil(*args, **kwargs):
22    return as_builtin_scalar(numpy_ceil(*args, **kwargs))
23
24
25def floor(*args, **kwargs):
26    return as_builtin_scalar(numpy_floor(*args, **kwargs))
27
28
29def mean(*args, **kwargs):
30    return as_builtin_scalar(numpy_mean(*args, **kwargs))
31
32
33def median(*args, **kwargs):
34    return as_builtin_scalar(numpy_median(*args, **kwargs))
35
36
37def sqrt(*args, **kwargs):
38    return as_builtin_scalar(numpy_sqrt(*args, **kwargs))
39
40
41def std(*args, **kwargs):
42    return as_builtin_scalar(numpy_std(*args, **kwargs))
43
44
45def isnum(x):
46    """Return whether ``x`` is an instance of a numeric type."""
47    return isinstance(x, Number)
48
49
50__all__ = [
51    "as_builtin_scalar",
52    "ceil",
53    "floor",
54    "isnum",
55    "mean",
56    "median",
57    "sqrt",
58    "std",
59]
def as_builtin_scalar(value):
14def as_builtin_scalar(value):
15    """Convert NumPy scalar values to their Python built-in equivalents."""
16    try:
17        return value.item()
18    except (AttributeError, ValueError):
19        return value

Convert NumPy scalar values to their Python built-in equivalents.

def ceil(*args, **kwargs):
22def ceil(*args, **kwargs):
23    return as_builtin_scalar(numpy_ceil(*args, **kwargs))
def floor(*args, **kwargs):
26def floor(*args, **kwargs):
27    return as_builtin_scalar(numpy_floor(*args, **kwargs))
def isnum(x):
46def isnum(x):
47    """Return whether ``x`` is an instance of a numeric type."""
48    return isinstance(x, Number)

Return whether x is an instance of a numeric type.

def mean(*args, **kwargs):
30def mean(*args, **kwargs):
31    return as_builtin_scalar(numpy_mean(*args, **kwargs))
def median(*args, **kwargs):
34def median(*args, **kwargs):
35    return as_builtin_scalar(numpy_median(*args, **kwargs))
def sqrt(*args, **kwargs):
38def sqrt(*args, **kwargs):
39    return as_builtin_scalar(numpy_sqrt(*args, **kwargs))
def std(*args, **kwargs):
42def std(*args, **kwargs):
43    return as_builtin_scalar(numpy_std(*args, **kwargs))