fp: Use forward declarations where applicable

Minimizes the amount of files that need to be rebuilt if the headers
ever change.
This commit is contained in:
Lioncash 2018-07-21 14:01:19 -04:00 committed by MerryMage
parent 46cb0d813b
commit 1dc1e3dcd8
12 changed files with 35 additions and 14 deletions

View file

@ -12,7 +12,10 @@
#include "backend_x64/emit_x64.h" #include "backend_x64/emit_x64.h"
#include "common/assert.h" #include "common/assert.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
#include "common/fp/op.h" #include "common/fp/op.h"
#include "common/fp/rounding_mode.h"
#include "common/fp/util.h" #include "common/fp/util.h"
#include "common/mp/cartesian_product.h" #include "common/mp/cartesian_product.h"
#include "common/mp/integer.h" #include "common/mp/integer.h"

View file

@ -7,12 +7,13 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
#include "common/fp/rounding_mode.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {
class FPCR;
class FPSR;
enum class RoundingMode;
template<typename FPT> template<typename FPT>
u64 FPRoundInt(FPT op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr); u64 FPRoundInt(FPT op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr);

View file

@ -7,12 +7,13 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
#include "common/fp/rounding_mode.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {
class FPCR;
class FPSR;
enum class RoundingMode;
template<typename FPT> template<typename FPT>
u64 FPToFixed(size_t ibits, FPT op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); u64 FPToFixed(size_t ibits, FPT op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr);

View file

@ -6,11 +6,11 @@
#pragma once #pragma once
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {
class FPCR;
class FPSR;
enum class FPExc { enum class FPExc {
InvalidOp, InvalidOp,
DivideByZero, DivideByZero,

View file

@ -11,6 +11,7 @@
#include "common/fp/info.h" #include "common/fp/info.h"
#include "common/fp/process_exception.h" #include "common/fp/process_exception.h"
#include "common/fp/process_nan.h" #include "common/fp/process_nan.h"
#include "common/fp/unpacked.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {

View file

@ -6,12 +6,12 @@
#pragma once #pragma once
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
#include "common/fp/unpacked.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {
class FPCR;
class FPSR;
enum class FPType;
template<typename FPT> template<typename FPT>
FPT FPProcessNaN(FPType type, FPT op, FPCR fpcr, FPSR& fpsr); FPT FPProcessNaN(FPType type, FPT op, FPCR fpcr, FPSR& fpsr);

View file

@ -4,8 +4,10 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include "common/fp/fpsr.h"
#include "common/fp/info.h" #include "common/fp/info.h"
#include "common/fp/process_exception.h" #include "common/fp/process_exception.h"
#include "common/fp/rounding_mode.h"
#include "common/fp/unpacked.h" #include "common/fp/unpacked.h"
#include "common/safe_ops.h" #include "common/safe_ops.h"

View file

@ -10,10 +10,12 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "common/fp/fpcr.h" #include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {
class FPSR;
enum class RoundingMode;
enum class FPType { enum class FPType {
Nonzero, Nonzero,
Zero, Zero,

View file

@ -7,6 +7,7 @@
#pragma once #pragma once
#include <boost/optional.hpp> #include <boost/optional.hpp>
#include "common/common_types.h"
namespace Dynarmic::FP { namespace Dynarmic::FP {

View file

@ -9,8 +9,11 @@
#include <catch.hpp> #include <catch.hpp>
#include "common/common_types.h"
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h" #include "common/fp/fpsr.h"
#include "common/fp/op.h" #include "common/fp/op.h"
#include "common/fp/rounding_mode.h"
#include "rand_int.h" #include "rand_int.h"
using namespace Dynarmic; using namespace Dynarmic;

View file

@ -9,6 +9,7 @@
#include <catch.hpp> #include <catch.hpp>
#include "common/common_types.h"
#include "common/fp/mantissa_util.h" #include "common/fp/mantissa_util.h"
#include "common/safe_ops.h" #include "common/safe_ops.h"
#include "rand_int.h" #include "rand_int.h"

View file

@ -4,8 +4,14 @@
* General Public License version 2 or any later version. * General Public License version 2 or any later version.
*/ */
#include <tuple>
#include <vector>
#include <catch.hpp> #include <catch.hpp>
#include "common/common_types.h"
#include "common/fp/fpcr.h"
#include "common/fp/fpsr.h"
#include "common/fp/unpacked.h" #include "common/fp/unpacked.h"
#include "rand_int.h" #include "rand_int.h"