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 2e36df5..4af516d 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