if ((L_var1 ^ L_var2) >= 0)
{
- if ((L_sum ^ L_var1) < 0)
+ if ((L_sum ^ L_var1) >> 31)
{
- L_sum = (L_var1 < 0) ? MIN_32 : MAX_32;
+ L_sum = (L_var1 >> 31) ? MIN_32 : MAX_32;
*pOverflow = 1;
}
}
L_diff = L_var1 - L_var2;
- if ((L_var1 ^ L_var2) < 0)
+ if ((L_var1 ^ L_var2) >> 31)
{
if ((L_diff ^ L_var1) & MIN_32)
{
- L_diff = (L_var1 < 0L) ? MIN_32 : MAX_32;
+ L_diff = (L_var1 >> 31) ? MIN_32 : MAX_32;
*pOverflow = 1;
}
}
/* Check if L_sum and L_var_3 share the same sign */
if ((L_var3 ^ result) > 0)
{
- if ((L_sum ^ L_var3) < 0)
+ if ((L_sum ^ L_var3) >> 31)
{
- L_sum = (L_var3 < 0) ? MIN_32 : MAX_32;
+ L_sum = (L_var3 >> 31) ? MIN_32 : MAX_32;
*pOverflow = 1;
}
}
if ((L_product ^ product32) > 0)
{
- if ((L_sum ^ L_product) < 0)
+ if ((L_sum ^ L_product) >> 31)
{
- L_sum = (L_product < 0) ? MIN_32 : MAX_32;
+ L_sum = (L_product >> 31) ? MIN_32 : MAX_32;
}
}
if ((L_product ^ product32) > 0)
{
- if ((L_sum ^ L_product) < 0)
+ if ((L_sum ^ L_product) >> 31)
{
- L_sum = (L_product < 0) ? MIN_32 : MAX_32;
+ L_sum = (L_product >> 31) ? MIN_32 : MAX_32;
}
}
return (L_sum);
if ((L_product ^ result) > 0)
{
- if ((L_sum ^ L_product) < 0)
+ if ((L_sum ^ L_product) >> 31)
{
- L_sum = (L_product < 0) ? MIN_32 : MAX_32;
+ L_sum = (L_product >> 31) ? MIN_32 : MAX_32;
*pOverflow = 1;
}
}