ref: 67b53baa8913efadd8663f7317f565d6452c402e
parent: 7a200942cedf07c18130957a4a27a889d88bc0e5
author: evpobr <[email protected]>
date: Tue Nov 3 16:05:05 EST 2020
Avoid arithmetic overflow
--- a/src/src_linear.c
+++ b/src/src_linear.c
@@ -80,7 +80,7 @@
for (ch = 0 ; ch < state->channels ; ch++)
{ data->data_out [priv->out_gen] = (float) (priv->last_value [ch] + input_index *
- (data->data_in [ch] - priv->last_value [ch])) ;
+ ((double) data->data_in [ch] - priv->last_value [ch])) ;
priv->out_gen ++ ;
} ;
@@ -105,7 +105,7 @@
for (ch = 0 ; ch < state->channels ; ch++)
{ data->data_out [priv->out_gen] = (float) (data->data_in [priv->in_used - state->channels + ch] + input_index *
- (data->data_in [priv->in_used + ch] - data->data_in [priv->in_used - state->channels + ch])) ;
+ ((double) data->data_in [priv->in_used + ch] - data->data_in [priv->in_used - state->channels + ch])) ;
priv->out_gen ++ ;
} ;