minor tweaks in the overflow checking for VC++
authorJosh Coalson <jcoalson@users.sourceforce.net>
Mon, 9 Jul 2001 18:22:46 +0000 (18:22 +0000)
committerJosh Coalson <jcoalson@users.sourceforce.net>
Mon, 9 Jul 2001 18:22:46 +0000 (18:22 +0000)
src/libFLAC/lpc.c

index 2e36df53a32b9d1a6ab2b672c8f41db38b1cdd40..4af516dd431b5a75d19e722289948d9d163484f3 100644 (file)
@@ -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