Skip to content
Snippets Groups Projects
Commit a7b0ee56 authored by Florent Jaillet's avatar Florent Jaillet
Browse files

Omptimize performance in Waveform.astype()

parent 5a2688df
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -736,7 +736,7 @@ class Waveform(MadArray): ...@@ -736,7 +736,7 @@ class Waveform(MadArray):
if (np.issubdtype(dtype, np.floating) or if (np.issubdtype(dtype, np.floating) or
np.issubdtype(dtype, np.complexfloating)): np.issubdtype(dtype, np.complexfloating)):
y.clip(min_value=-1, max_value=(1 - np.finfo(dtype).eps)) y.clip(min_value=-1, max_value=(1 - np.finfo(dtype).eps))
y = np.array(y).astype(dtype) y = np.asarray(y, dtype=dtype)
elif np.issubdtype(dtype, np.integer): elif np.issubdtype(dtype, np.integer):
target_type_info = np.iinfo(dtype) target_type_info = np.iinfo(dtype)
...@@ -745,7 +745,7 @@ class Waveform(MadArray): ...@@ -745,7 +745,7 @@ class Waveform(MadArray):
target_type_info.min) target_type_info.min)
y.clip(min_value=np.iinfo(dtype).min, y.clip(min_value=np.iinfo(dtype).min,
max_value=np.iinfo(dtype).max) max_value=np.iinfo(dtype).max)
y = np.array(y).astype(dtype) y = np.asarray(y, dtype=dtype)
else: else:
errmsg = 'Unsupported target type {}.' errmsg = 'Unsupported target type {}.'
...@@ -760,16 +760,16 @@ class Waveform(MadArray): ...@@ -760,16 +760,16 @@ class Waveform(MadArray):
y = ((super(type(y), y).astype(dtype) - zero) y = ((super(type(y), y).astype(dtype) - zero)
/ (int_range // 2)) / (int_range // 2))
y.clip(min_value=-1, max_value=1-np.finfo(dtype).eps) y.clip(min_value=-1, max_value=1-np.finfo(dtype).eps)
y = np.array(y).astype(dtype) y = np.asarray(y, dtype=dtype)
elif np.issubdtype(dtype, np.integer): elif np.issubdtype(dtype, np.integer):
y = y.astype(dtype=np.float64) y = y.astype(dtype=np.float64)
y = y.astype(dtype=dtype) y = y.astype(dtype=dtype)
y = np.array(y) y = np.asarray(y)
elif np.issubdtype(dtype, np.complexfloating): elif np.issubdtype(dtype, np.complexfloating):
y = y.astype(dtype=np.float64) y = y.astype(dtype=np.float64)
y = np.array(y).astype(dtype=dtype) y = np.asarray(y, dtype=dtype)
else: else:
errmsg = 'Unsupported target type {}.' errmsg = 'Unsupported target type {}.'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment