Skip to content
Permalink
Browse files
Merge pull request #6873 from lioncash/bit
Interpreter_FPUtils: Use Common::BitCast where applicable
  • Loading branch information
Tilka committed May 17, 2018
2 parents 975a10b + c7cd142 commit 82d9dea
Showing 1 changed file with 5 additions and 15 deletions.
@@ -5,9 +5,9 @@
#pragma once

#include <cmath>
#include <cstring>
#include <limits>

#include "Common/BitUtils.h"
#include "Common/CPUDetect.h"
#include "Common/CommonTypes.h"
#include "Common/FloatUtils.h"
@@ -73,28 +73,18 @@ inline double ForceDouble(double d)

inline double Force25Bit(double d)
{
u64 integral;
std::memcpy(&integral, &d, sizeof(u64));
u64 integral = Common::BitCast<u64>(d);

integral = (integral & 0xFFFFFFFFF8000000ULL) + (integral & 0x8000000);

double result;
std::memcpy(&result, &integral, sizeof(double));

return result;
return Common::BitCast<double>(integral);
}

inline double MakeQuiet(double d)
{
u64 integral;
std::memcpy(&integral, &d, sizeof(u64));

integral |= Common::DOUBLE_QBIT;

double result;
std::memcpy(&result, &integral, sizeof(double));
const u64 integral = Common::BitCast<u64>(d) | Common::DOUBLE_QBIT;

return result;
return Common::BitCast<double>(integral);
}

// these functions allow globally modify operations behaviour

0 comments on commit 82d9dea

Please sign in to comment.