diff options
| author | 2019-06-04 19:41:48 -0400 | |
|---|---|---|
| committer | 2019-06-04 19:44:05 -0400 | |
| commit | 79189c7e3edfd2d628a927ea4be707eb0deeb4e3 (patch) | |
| tree | 222036bfb19793d30eb7cf474258116ba9b226c4 /src | |
| parent | Merge pull request #2525 from FearlessTobi/remove-unused-settings (diff) | |
| download | yuzu-79189c7e3edfd2d628a927ea4be707eb0deeb4e3.tar.gz yuzu-79189c7e3edfd2d628a927ea4be707eb0deeb4e3.tar.xz yuzu-79189c7e3edfd2d628a927ea4be707eb0deeb4e3.zip | |
core/core_timing_utils: Simplify overload set
Removes unused overloads, simplifying the overall interface,
deduplicating some code.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/core_timing_util.cpp | 20 | ||||
| -rw-r--r-- | src/core/core_timing_util.h | 31 |
2 files changed, 2 insertions, 49 deletions
diff --git a/src/core/core_timing_util.cpp b/src/core/core_timing_util.cpp index c0f08cddb..4d73a0d89 100644 --- a/src/core/core_timing_util.cpp +++ b/src/core/core_timing_util.cpp | |||
| @@ -26,15 +26,7 @@ s64 usToCycles(s64 us) { | |||
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | s64 usToCycles(u64 us) { | 28 | s64 usToCycles(u64 us) { |
| 29 | if (us / 1000000 > MAX_VALUE_TO_MULTIPLY) { | 29 | return usToCycles(static_cast<s64>(us)); |
| 30 | LOG_ERROR(Core_Timing, "Integer overflow, use max value"); | ||
| 31 | return std::numeric_limits<s64>::max(); | ||
| 32 | } | ||
| 33 | if (us > MAX_VALUE_TO_MULTIPLY) { | ||
| 34 | LOG_DEBUG(Core_Timing, "Time very big, do rounding"); | ||
| 35 | return BASE_CLOCK_RATE * static_cast<s64>(us / 1000000); | ||
| 36 | } | ||
| 37 | return (BASE_CLOCK_RATE * static_cast<s64>(us)) / 1000000; | ||
| 38 | } | 30 | } |
| 39 | 31 | ||
| 40 | s64 nsToCycles(s64 ns) { | 32 | s64 nsToCycles(s64 ns) { |
| @@ -50,15 +42,7 @@ s64 nsToCycles(s64 ns) { | |||
| 50 | } | 42 | } |
| 51 | 43 | ||
| 52 | s64 nsToCycles(u64 ns) { | 44 | s64 nsToCycles(u64 ns) { |
| 53 | if (ns / 1000000000 > MAX_VALUE_TO_MULTIPLY) { | 45 | return nsToCycles(static_cast<s64>(ns)); |
| 54 | LOG_ERROR(Core_Timing, "Integer overflow, use max value"); | ||
| 55 | return std::numeric_limits<s64>::max(); | ||
| 56 | } | ||
| 57 | if (ns > MAX_VALUE_TO_MULTIPLY) { | ||
| 58 | LOG_DEBUG(Core_Timing, "Time very big, do rounding"); | ||
| 59 | return BASE_CLOCK_RATE * (static_cast<s64>(ns) / 1000000000); | ||
| 60 | } | ||
| 61 | return (BASE_CLOCK_RATE * static_cast<s64>(ns)) / 1000000000; | ||
| 62 | } | 46 | } |
| 63 | 47 | ||
| 64 | u64 CpuCyclesToClockCycles(u64 ticks) { | 48 | u64 CpuCyclesToClockCycles(u64 ticks) { |
diff --git a/src/core/core_timing_util.h b/src/core/core_timing_util.h index 679aa3123..c8749ff12 100644 --- a/src/core/core_timing_util.h +++ b/src/core/core_timing_util.h | |||
| @@ -13,41 +13,10 @@ namespace Core::Timing { | |||
| 13 | constexpr u64 BASE_CLOCK_RATE = 1019215872; // Switch clock speed is 1020MHz un/docked | 13 | constexpr u64 BASE_CLOCK_RATE = 1019215872; // Switch clock speed is 1020MHz un/docked |
| 14 | constexpr u64 CNTFREQ = 19200000; // Value from fusee. | 14 | constexpr u64 CNTFREQ = 19200000; // Value from fusee. |
| 15 | 15 | ||
| 16 | inline s64 msToCycles(int ms) { | ||
| 17 | // since ms is int there is no way to overflow | ||
| 18 | return BASE_CLOCK_RATE * static_cast<s64>(ms) / 1000; | ||
| 19 | } | ||
| 20 | |||
| 21 | inline s64 msToCycles(float ms) { | ||
| 22 | return static_cast<s64>(BASE_CLOCK_RATE * (0.001f) * ms); | ||
| 23 | } | ||
| 24 | |||
| 25 | inline s64 msToCycles(double ms) { | ||
| 26 | return static_cast<s64>(BASE_CLOCK_RATE * (0.001) * ms); | ||
| 27 | } | ||
| 28 | |||
| 29 | inline s64 usToCycles(float us) { | ||
| 30 | return static_cast<s64>(BASE_CLOCK_RATE * (0.000001f) * us); | ||
| 31 | } | ||
| 32 | |||
| 33 | inline s64 usToCycles(int us) { | ||
| 34 | return (BASE_CLOCK_RATE * static_cast<s64>(us) / 1000000); | ||
| 35 | } | ||
| 36 | |||
| 37 | s64 usToCycles(s64 us); | 16 | s64 usToCycles(s64 us); |
| 38 | |||
| 39 | s64 usToCycles(u64 us); | 17 | s64 usToCycles(u64 us); |
| 40 | 18 | ||
| 41 | inline s64 nsToCycles(float ns) { | ||
| 42 | return static_cast<s64>(BASE_CLOCK_RATE * (0.000000001f) * ns); | ||
| 43 | } | ||
| 44 | |||
| 45 | inline s64 nsToCycles(int ns) { | ||
| 46 | return BASE_CLOCK_RATE * static_cast<s64>(ns) / 1000000000; | ||
| 47 | } | ||
| 48 | |||
| 49 | s64 nsToCycles(s64 ns); | 19 | s64 nsToCycles(s64 ns); |
| 50 | |||
| 51 | s64 nsToCycles(u64 ns); | 20 | s64 nsToCycles(u64 ns); |
| 52 | 21 | ||
| 53 | inline u64 cyclesToNs(s64 cycles) { | 22 | inline u64 cyclesToNs(s64 cycles) { |