mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 04:22:20 +02:00
Fixed operator precedence issues
This commit is contained in:
parent
d0c9145655
commit
2ac478509e
7 changed files with 16 additions and 10 deletions
|
@ -77,7 +77,7 @@ namespace Beefy.gfx
|
||||||
(((((color1 & 0x000000FF) * oma) + ((color2 & 0x000000FF) * a)) >> 8) & 0x000000FF) |
|
(((((color1 & 0x000000FF) * oma) + ((color2 & 0x000000FF) * a)) >> 8) & 0x000000FF) |
|
||||||
(((((color1 & 0x0000FF00) * oma) + ((color2 & 0x0000FF00) * a)) >> 8) & 0x0000FF00) |
|
(((((color1 & 0x0000FF00) * oma) + ((color2 & 0x0000FF00) * a)) >> 8) & 0x0000FF00) |
|
||||||
(((((color1 & 0x00FF0000) * oma) + ((color2 & 0x00FF0000) * a)) >> 8) & 0x00FF0000) |
|
(((((color1 & 0x00FF0000) * oma) + ((color2 & 0x00FF0000) * a)) >> 8) & 0x00FF0000) |
|
||||||
(((((color1 >> 24) & 0xFF) * oma) + (((color2 >> 24) & 0xFF) * a) & 0x0000FF00) << 16);
|
((((((color1 >> 24) & 0xFF) * oma) + (((color2 >> 24) & 0xFF) * a)) & 0x0000FF00) << 16);
|
||||||
|
|
||||||
return aColor;
|
return aColor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -897,7 +897,7 @@ namespace Beefy.gfx
|
||||||
{
|
{
|
||||||
// This strange-looking construct is so that odd-length lines and even-length lines do not 'jitter'
|
// This strange-looking construct is so that odd-length lines and even-length lines do not 'jitter'
|
||||||
// relative to each other as we're resizing a window
|
// relative to each other as we're resizing a window
|
||||||
useX += ((int)(width)&~1 - (int)aWidth) / 2;
|
useX += (((int)(width)&~1) - (int)aWidth) / 2;
|
||||||
}
|
}
|
||||||
else if (justification == 1)
|
else if (justification == 1)
|
||||||
useX += width - aWidth;
|
useX += width - aWidth;
|
||||||
|
|
|
@ -284,7 +284,10 @@ namespace System
|
||||||
int32[] days = leapYear ? DaysToMonth366 : DaysToMonth365;
|
int32[] days = leapYear ? DaysToMonth366 : DaysToMonth365;
|
||||||
// All months have less than 32 days, so n >> 5 is a good conservative
|
// All months have less than 32 days, so n >> 5 is a good conservative
|
||||||
// estimate for the month
|
// estimate for the month
|
||||||
int32 m = n >> 5 + 1;
|
|
||||||
|
//BCF- Note, the original read `int32 m = n >> 5 + 1;`, which may have been a bug. Preserving original precedence.
|
||||||
|
int32 m = n >> (5 + 1);
|
||||||
|
|
||||||
// m = 1-based month number
|
// m = 1-based month number
|
||||||
while (n >= days[m]) m++;
|
while (n >= days[m]) m++;
|
||||||
// If month was requested, return it
|
// If month was requested, return it
|
||||||
|
|
|
@ -220,7 +220,8 @@ namespace System.Globalization {
|
||||||
int[] days = leapYear? DaysToMonth366: DaysToMonth365;
|
int[] days = leapYear? DaysToMonth366: DaysToMonth365;
|
||||||
// All months have less than 32 days, so n >> 5 is a good conservative
|
// All months have less than 32 days, so n >> 5 is a good conservative
|
||||||
// estimate for the month
|
// estimate for the month
|
||||||
int m = n >> 5 + 1;
|
//BCF- Note, the original read `int32 m = n >> 5 + 1;`, which may have been a bug. Preserving original precedence.
|
||||||
|
int m = n >> (5 + 1);
|
||||||
// m = 1-based month number
|
// m = 1-based month number
|
||||||
while (n >= days[m]) m++;
|
while (n >= days[m]) m++;
|
||||||
// If month was requested, return it
|
// If month was requested, return it
|
||||||
|
|
|
@ -372,7 +372,7 @@ namespace System.Reflection
|
||||||
}
|
}
|
||||||
else if (mMethodData.mVirtualIdx >= 0x100000)
|
else if (mMethodData.mVirtualIdx >= 0x100000)
|
||||||
{
|
{
|
||||||
void* extAddr = (void*)*((int*)classVData + (mMethodData.mVirtualIdx>>20 - 1));
|
void* extAddr = (void*)*((int*)classVData + ((mMethodData.mVirtualIdx>>20) - 1));
|
||||||
funcPtr = (void*)*((int*)extAddr + (mMethodData.mVirtualIdx & 0xFFFFF));
|
funcPtr = (void*)*((int*)extAddr + (mMethodData.mVirtualIdx & 0xFFFFF));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -706,7 +706,7 @@ namespace System.Reflection
|
||||||
}
|
}
|
||||||
else if (mMethodData.mVirtualIdx >= 0x100000)
|
else if (mMethodData.mVirtualIdx >= 0x100000)
|
||||||
{
|
{
|
||||||
void* extAddr = (void*)*((int*)classVData + (mMethodData.mVirtualIdx>>20 - 1));
|
void* extAddr = (void*)*((int*)classVData + ((mMethodData.mVirtualIdx>>20) - 1));
|
||||||
funcPtr = (void*)*((int*)extAddr + (mMethodData.mVirtualIdx & 0xFFFFF) + virtualOffset);
|
funcPtr = (void*)*((int*)extAddr + (mMethodData.mVirtualIdx & 0xFFFFF) + virtualOffset);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -29,7 +29,7 @@ namespace System.Text
|
||||||
else if ((c >= '\u{DC00}') && (c < '\u{E000}'))
|
else if ((c >= '\u{DC00}') && (c < '\u{E000}'))
|
||||||
{
|
{
|
||||||
char16 utf16lo = c;
|
char16 utf16lo = c;
|
||||||
c32 = (char32)(0x10000 + ((uint32)(utf16hi - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
c32 = (char32)(0x10000 | ((uint32)(utf16hi - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
||||||
}
|
}
|
||||||
|
|
||||||
outStr.Append(c32);
|
outStr.Append(c32);
|
||||||
|
@ -56,7 +56,7 @@ namespace System.Text
|
||||||
else if ((c >= '\u{DC00}') && (c < '\u{E000}'))
|
else if ((c >= '\u{DC00}') && (c < '\u{E000}'))
|
||||||
{
|
{
|
||||||
char16 utf16lo = c;
|
char16 utf16lo = c;
|
||||||
c32 = (char32)(0x10000 + ((uint32)(utf16hi - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
c32 = (char32)(0x10000 | ((uint32)(utf16hi - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
||||||
}
|
}
|
||||||
|
|
||||||
outStr.Append(c32);
|
outStr.Append(c32);
|
||||||
|
@ -83,7 +83,7 @@ namespace System.Text
|
||||||
#endif
|
#endif
|
||||||
return ((char32)c, 1);
|
return ((char32)c, 1);
|
||||||
}
|
}
|
||||||
char32 c32 = (char32)(0x10000 + ((uint32)(c - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
char32 c32 = (char32)(0x10000 | ((uint32)(c - 0xD800) << 10) | (uint32)(utf16lo - 0xDC00));
|
||||||
return (c32, 2);
|
return (c32, 2);
|
||||||
}
|
}
|
||||||
#if BF_UTF_PEDANTIC
|
#if BF_UTF_PEDANTIC
|
||||||
|
|
|
@ -20512,7 +20512,9 @@ void BfExprEvaluator::Visit(BfBinaryOperatorExpression* binOpExpr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((binOpExpr->mOp == BfBinaryOp_LeftShift) || (binOpExpr->mOp == BfBinaryOp_RightShift))
|
if ((binOpExpr->mOp == BfBinaryOp_LeftShift) || (binOpExpr->mOp == BfBinaryOp_RightShift) ||
|
||||||
|
(binOpExpr->mOp == BfBinaryOp_BitwiseAnd) || (binOpExpr->mOp == BfBinaryOp_BitwiseOr) ||
|
||||||
|
(binOpExpr->mOp == BfBinaryOp_ExclusiveOr))
|
||||||
{
|
{
|
||||||
for (int side = 0; side < 2; side++)
|
for (int side = 0; side < 2; side++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue