42 if not isinstance(number, (int, np.int32, np.int64)):
43 raise TypeError(
"Value should be integer.")
48 if isinstance(number, (int, np.int32, np.int64)):
49 number = np.float32(number)
50 if not isinstance(number, (float, np.float32, np.float64)):
51 raise TypeError(
"Value should be float.")
52 return np.float32(number)
56 if isinstance(number, bool):
58 if isinstance(number, (int, np.int32, np.int64, float, np.float32, np.float64)):
64 raise ValueError(
"Will not cast non 0/1 int or float to boolean.")
65 raise TypeError(
"Will only cast int and float to booleans.")
70 if isinstance(data, (int, np.int32, np.int64, float, np.float32, np.float64, complex, np.complex64, np.complex128)):
75 if scalar_expand
or size == 1:
76 return np.full(size, data[0], dtype=dtype)
78 raise TypeError(
"This non-singleton array cannot " + \
79 "be initialized with a scalar.")
82 raise TypeError(
"Input argument has wrong number of elements.")
83 if isinstance(data, np.ndarray)
and len(data.shape) > 1:
84 raise TypeError(
"Multidimensional ndarray input is not allowed")
86 list)
and not all([isinstance(x, (float, int, complex))
88 raise TypeError(
"Input list may only contain numerical values.")
91 return np.array(data, dtype=dtype)
95 if not isinstance(data, np.ndarray):
96 raise TypeError(
"Input argument must be a np.ndarray")
99 if len(data.shape) != len(shape):
101 for (i, j)
in zip(data.shape, shape):
102 if j != -1
and i != j:
106 "Input has wrong dimensions, expect multi dimensional arrays")
108 return np.array(data, dtype=dtype)
def enforce_arrayMultiDim(data, shape, dtype=np.float32)
def enforce_or_cast_bool(number)
def enforce_array(data, size, dtype=np.float32, scalar_expand=False)
def enforce_float(number)