From d37acf41a8e890c102b58e5d451ec556312a33a6 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Mon, 9 Jul 2001 18:22:46 +0000 Subject: [PATCH] minor tweaks in the overflow checking for VC++ --- src/libFLAC/lpc.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/libFLAC/lpc.c b/src/libFLAC/lpc.c index 2e36df53..4af516dd 100644 --- a/src/libFLAC/lpc.c +++ b/src/libFLAC/lpc.c @@ -216,7 +216,13 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 data[], sum += qlp_coeff[j] * (*(--history)); #ifdef FLAC__OVERFLOW_DETECT sumo += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*history); - if(sumo > 2147483647ll || sumo < -2147483648ll) { +#ifdef _MSC_VER /* don't know how to do 64-bit literals in VC++ */ + if(sumo < 0) sumo = -sumo; + if(sumo > 2147483647) +#else + if(sumo > 2147483647ll || sumo < -2147483648ll) +#endif + { fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%lld\n",i,j,qlp_coeff[j],*history,sumo); } #endif @@ -261,7 +267,13 @@ void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c sum += qlp_coeff[j] * (*(--history)); #ifdef FLAC__OVERFLOW_DETECT sumo += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*history); - if(sumo > 2147483647ll || sumo < -2147483648ll) { +#ifdef _MSC_VER /* don't know how to do 64-bit literals in VC++ */ + if(sumo < 0) sumo = -sumo; + if(sumo > 2147483647) +#else + if(sumo > 2147483647ll || sumo < -2147483648ll) +#endif + { fprintf(stderr,"FLAC__lpc_restore_signal: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%lld\n",i,j,qlp_coeff[j],*history,sumo); } #endif