def __init__(self, universe, name, units, data=None, dtype=None, element_shape=None): api.validate_type(universe, Universe, "universe") self._universe = universe api.validate_label(name, "name") self._name = name api.validate_units(units, "units") self._units = units if data is None: if dtype is None: dtype = N.float64 if dtype not in self._allowed_dtypes: raise ValueError("dtype must be " + " or ".join(str(t) for t in self._allowed_dtypes)) if element_shape is None: element_shape = () array_shape = (self._number_of_values(),) + element_shape self._data = N.empty(array_shape, dtype) else: api.validate_array(data, None, self._allowed_dtypes, "data") if dtype is not None and data.dtype != dtype: raise ValueError("elements of data array do not have " "the requested type") if data.shape[0] != self._number_of_values(): raise ValueError("data array has incorrect shape") if element_shape is not None and data.shape[1:] != element_shape: raise ValueError("elements of data array do not have " "the requested shape") self._data = data
def __init__(self, universe, name, units, data, property_type): api.validate_type(universe, Universe, "universe") api.validate_label(name, "name") api.validate_units(units, "units") api.validate_array(data, None, self._allowed_dtypes, "data") api.validate_value(property_type, self._allowed_types, "property_type") self._universe = universe self._name = name self._units = units self._data = data self._type = property_type
def __init__(self, universe, name, units, data): api.validate_type(universe, Universe, "universe") self._universe = universe api.validate_label(name, "name") self._name = name api.validate_units(units, "units") self._units = units api.validate_array(data, None, self._allowed_dtypes, "data") if data.shape[0] != self._number_of_values(): raise ValueError("data array has incorrect shape") self._data = data
def valid_units(units): try: validate_units(units, "") return True except (ValueError, TypeError): return False