compiler shift fix

meow-7.2.2
Glenn Glazer 2016-04-08 08:52:15 -07:00
parent 41fa1e3158
commit db2fdaf469
1 changed files with 6 additions and 6 deletions

View File

@ -1034,7 +1034,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = (kdu_int32)(sp->fval*scale16);
val = (val+128)>>8; // May be faster than true rounding
val += 128;
if (val & ((-1)<<8))
if (val & (((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@ -1052,7 +1052,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val = (val+offset)>>downshift;
val += 128;
if (val & ((-1)<<8))
if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@ -1075,7 +1075,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val += (1<<(KDU_FIX_POINT-8))>>1;
val >>= (KDU_FIX_POINT-8);
val += 128;
if (val & ((-1)<<8))
if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@ -1094,7 +1094,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = (val+offset)>>downshift;
val <<= upshift;
val += 128;
if (val & ((-1)<<8))
if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 256 - (1<<upshift));
}
@ -1116,7 +1116,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val = (val+offset)>>downshift;
val += 128;
if (val & ((-1)<<8))
if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@ -1132,7 +1132,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val <<= upshift;
val += 128;
if (val & ((-1)<<8))
if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 256 - (1<<upshift));
}