mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
Remove ceil2/floor2 from types.h
This commit is contained in:
parent
dff4392c10
commit
666a18f5e5
2 changed files with 2 additions and 34 deletions
|
@ -890,34 +890,3 @@ inline void busy_wait(std::size_t cycles = 3000)
|
||||||
const u64 s = __rdtsc();
|
const u64 s = __rdtsc();
|
||||||
do _mm_pause(); while (__rdtsc() - s < cycles);
|
do _mm_pause(); while (__rdtsc() - s < cycles);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Remove when moving to c++20
|
|
||||||
template <typename T>
|
|
||||||
inline constexpr uintmax_t floor2(T value)
|
|
||||||
{
|
|
||||||
value >>= 1;
|
|
||||||
|
|
||||||
for (uintmax_t i = 0;; i++, value >>= 1)
|
|
||||||
{
|
|
||||||
if (value == 0)
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
inline constexpr uintmax_t ceil2(T value)
|
|
||||||
{
|
|
||||||
const uintmax_t ispow2 = value & (value - 1); // if power of 2 the result is 0
|
|
||||||
|
|
||||||
value >>= 1;
|
|
||||||
|
|
||||||
for (uintmax_t i = 0;; i++, value >>= 1)
|
|
||||||
{
|
|
||||||
if (value == 0)
|
|
||||||
{
|
|
||||||
return i + std::min<uintmax_t>(ispow2, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
#include <climits>
|
#include <climits>
|
||||||
#include "gcm_enums.h"
|
#include "gcm_enums.h"
|
||||||
#include "rsx_utils.h"
|
#include "rsx_utils.h"
|
||||||
#pragma warning(disable:4503)
|
|
||||||
|
|
||||||
namespace rsx
|
namespace rsx
|
||||||
{
|
{
|
||||||
|
@ -43,8 +42,8 @@ struct registers_decoder
|
||||||
{};
|
{};
|
||||||
|
|
||||||
// Use the smallest type by default
|
// Use the smallest type by default
|
||||||
template <u32 I, u32 N, typename T = get_uint_t<std::max<size_t>(static_cast<size_t>((UINTMAX_C(1) << ::ceil2(N)) / CHAR_BIT), 1)>>
|
template <u32 I, u32 N, typename T = get_uint_t<(N <= 8 ? 1 : (N <= 16 ? 2 : 4))>>
|
||||||
static constexpr inline T bf_decoder(const u32& bits)
|
constexpr T bf_decoder(u32 bits)
|
||||||
{
|
{
|
||||||
return static_cast<T>(bf_t<u32, I, N>::extract(bits));
|
return static_cast<T>(bf_t<u32, I, N>::extract(bits));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue