Skip to content

Commit

Permalink
Merge pull request #3383 from Sonicadvance1/compile_fixes
Browse files Browse the repository at this point in the history
Compile fixes
  • Loading branch information
phire committed Dec 26, 2015
2 parents 4ddc04d + eb2d493 commit be8410d
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
1 change: 1 addition & 0 deletions Source/Core/Common/ArmCPUDetect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <fstream>
#include <sstream>
#include <string>
#include <unistd.h>
#include <asm/hwcap.h>
#include <sys/auxv.h>

Expand Down
14 changes: 10 additions & 4 deletions Source/Core/Common/MathUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,12 @@ const int fres_expected_dec[] =
// Used by fres and ps_res.
double ApproximateReciprocal(double val)
{
// We are using namespace std scoped here because the Android NDK is complete trash as usual
// For 32bit targets(mips, ARMv7, x86) it doesn't provide an implementation of std::copysign
// but instead provides just global namespace copysign implementations.
// The workaround for this is to just use namespace std within this function's scope
// That way on real toolchains it will use the std:: variant like normal.
using namespace std;
union
{
double valf;
Expand All @@ -209,23 +215,23 @@ double ApproximateReciprocal(double val)

// Special case 0
if (mantissa == 0 && exponent == 0)
return std::copysign(std::numeric_limits<double>::infinity(), valf);
return copysign(std::numeric_limits<double>::infinity(), valf);

// Special case NaN-ish numbers
if (exponent == (0x7FFLL << 52))
{
if (mantissa == 0)
return std::copysign(0.0, valf);
return copysign(0.0, valf);
return 0.0 + valf;
}

// Special case small inputs
if (exponent < (895LL << 52))
return std::copysign(std::numeric_limits<float>::max(), valf);
return copysign(std::numeric_limits<float>::max(), valf);

// Special case large inputs
if (exponent >= (1149LL << 52))
return std::copysign(0.0, valf);
return copysign(0.0, valf);

exponent = (0x7FDLL << 52) - exponent;

Expand Down
1 change: 1 addition & 0 deletions Source/Core/Common/NandPaths.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <cstdio>
#include <fstream>
#include <stdlib.h>
#include <string>
#include <utility>

Expand Down
1 change: 1 addition & 0 deletions Source/Core/Common/Network.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// Refer to the license.txt file included.

#include <cctype>
#include <cstdlib>
#include <cstring>
#include <ctime>

Expand Down

0 comments on commit be8410d

Please sign in to comment.