flopscope.

flopscope.numpy.asarray_chkfinite

fnp.asarray_chkfinite(a, dtype=None, order=None)[flopscope source][numpy source]

Convert the input to an array, checking for NaNs or Infs.

Adapted from NumPy docs np.asarray_chkfinite

Areacore
Typecustom
Cost
per-operation
Flopscope Context

Convert to array, raising if NaN or inf. Cost: numel(input).

Parameters

a:array_like

Input data, in any form that can be converted to an array. This includes lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays. Success requires no NaNs or Infs.

dtype:data-type, optional

By default, the data-type is inferred from the input data.

order:{'C', 'F', 'A', 'K'}, optional

Memory layout. 'A' and 'K' depend on the order of input array a. 'C' row-major (C-style), 'F' column-major (Fortran-style) memory representation. 'A' (any) means 'F' if a is Fortran contiguous, 'C' otherwise 'K' (keep) preserve input order Defaults to 'C'.

Returns

out:ndarray

Array interpretation of a. No copy is performed if the input is already an ndarray. If a is a subclass of ndarray, a base class ndarray is returned.

Raises

:ValueError

Raises ValueError if a contains NaN (Not a Number) or Inf (Infinity).

See also

Examples

>>> import flopscope.numpy as fnp

Convert a list into an array. If all elements are finite, then asarray_chkfinite is identical to asarray.

>>> a = [1, 2]
>>> flops.asarray_chkfinite(a, dtype=float)
array([1., 2.])

Raises ValueError if array_like contains Nans or Infs.

>>> a = [1, 2, flops.inf]
>>> try:
... flops.asarray_chkfinite(a)
... except ValueError:
... print('ValueError')
...
ValueError