mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 06:21:26 +12:00
Fix fcti rounding.
This commit is contained in:
parent
5fd88bf801
commit
fee20573d2
1 changed files with 8 additions and 20 deletions
|
@ -3746,22 +3746,16 @@ private:
|
||||||
switch(rn)
|
switch(rn)
|
||||||
{
|
{
|
||||||
case FPSCR_RN_NEAR:
|
case FPSCR_RN_NEAR:
|
||||||
{
|
i = (s32)nearbyint(b);
|
||||||
double t = b + 0.5;
|
break;
|
||||||
i = (s32)t;
|
|
||||||
if (t - i < 0 || (t - i == 0 && b > 0)) i--;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case FPSCR_RN_ZERO:
|
case FPSCR_RN_ZERO:
|
||||||
i = (s32)b;
|
i = (s32)b;
|
||||||
break;
|
break;
|
||||||
case FPSCR_RN_PINF:
|
case FPSCR_RN_PINF:
|
||||||
i = (s32)b;
|
i = (s32)ceil(b);
|
||||||
if (b - i > 0) i++;
|
|
||||||
break;
|
break;
|
||||||
case FPSCR_RN_MINF:
|
case FPSCR_RN_MINF:
|
||||||
i = (s32)b;
|
i = (s32)floor(b);
|
||||||
if (b - i < 0) i--;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
r = (u32)i;
|
r = (u32)i;
|
||||||
|
@ -3977,22 +3971,16 @@ private:
|
||||||
switch(rn)
|
switch(rn)
|
||||||
{
|
{
|
||||||
case FPSCR_RN_NEAR:
|
case FPSCR_RN_NEAR:
|
||||||
{
|
i = (s64)nearbyint(b);
|
||||||
double t = b + 0.5;
|
break;
|
||||||
i = (s64)t;
|
|
||||||
if (t - i < 0 || (t - i == 0 && b > 0)) i--;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case FPSCR_RN_ZERO:
|
case FPSCR_RN_ZERO:
|
||||||
i = (s64)b;
|
i = (s64)b;
|
||||||
break;
|
break;
|
||||||
case FPSCR_RN_PINF:
|
case FPSCR_RN_PINF:
|
||||||
i = (s64)b;
|
i = (s64)ceil(b);
|
||||||
if (b - i > 0) i++;
|
|
||||||
break;
|
break;
|
||||||
case FPSCR_RN_MINF:
|
case FPSCR_RN_MINF:
|
||||||
i = (s64)b;
|
i = (s64)floor(b);
|
||||||
if (b - i < 0) i--;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
r = (u64)i;
|
r = (u64)i;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue