diff --git a/madarrays/waveform.py b/madarrays/waveform.py index 6c300ba01e77682af2d31a2862ca837fe9ddf9b7..f07830a18f9c6cd26831aba4d3443718fae1e4d5 100644 --- a/madarrays/waveform.py +++ b/madarrays/waveform.py @@ -757,14 +757,15 @@ class Waveform(MadArray): if np.issubdtype(dtype, np.floating): int_range = src_iinfo.max - src_iinfo.min + 1 zero = src_iinfo.min + int_range // 2 - y = ((super(type(y), y).astype(np.float64) - zero) + y = ((super(type(y), y).astype(dtype) - zero) / (int_range // 2)) y.clip(min_value=-1, max_value=1-np.finfo(dtype).eps) - y = y.astype(dtype) + y = np.array(y).astype(dtype) elif np.issubdtype(dtype, np.integer): y = y.astype(dtype=np.float64) y = y.astype(dtype=dtype) + y = np.array(y) elif np.issubdtype(dtype, np.complexfloating): y = y.astype(dtype=np.float64)