Jordan Woyak
870b923f0a
Common/BitUtils: Make SetBit constexpr.
2026-02-05 20:37:02 -06:00
Joshua Vandaƫle
55f0715ad4
c++23: Replace Common::ToUnderlying with std::to_underlying
...
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-09 23:49:10 +01:00
iwubcode
c9ef05c4b3
Common: update Flags to allow const object usage
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com >
2025-12-25 21:07:45 -06:00
Jordan Woyak
b98acb9a37
Common/BitUtils: Add overloads of AsU8Span/AsWritableU8Span that handle conversions from contiguous ranges.
2025-11-09 03:08:14 -06:00
JMC47
a8fe5c0303
Merge pull request #13634 from jordan-woyak/enum-concepts
...
Common: Replace enable_if with concepts and other minor modernizations.
2025-09-26 16:13:20 -04:00
Sepalani
e9f58193a7
Common/BitUtils: Add operator[] to BitCastPtrType
2025-08-18 13:06:12 +04:00
Jordan Woyak
2b541361c6
Common: Move AsU8Span utility function from BTReal to Common/BitUtils.
2025-07-23 19:58:25 -05:00
Jordan Woyak
2dc975fa92
Common: Replace enable_if with concepts and other minor modernizations.
2025-05-05 19:34:24 -05:00
mitaclaw
6ffd71ffae
BitUtils: Constexpr BitCastToArray, Remove BitCastFromArray
...
`std::bit_cast` participates in overload resolution only if `sizeof(To) == sizeof(From)` and both `To` and `From` are *TriviallyCopyable* types, so the static assertions here can be removed. `[[nodiscard]]` was added as well.
2024-08-16 12:21:49 -07:00
Pokechu22
fbbfea8e8e
Replace Common::BitCast with std::bit_cast
2024-05-03 18:43:51 -07:00
Minty-Meeo
05bebee802
Replace BitUtils with C++20: Counting Zeroes
...
With the upgrade to C++20, std::countl_zero and std::countr_zero can replace these home-spun implementations from the BitUtil.h library.
2022-12-21 04:17:00 -06:00
JosJuice
454537d53e
Replace BitUtils with C++20: RotateLeft/RotateRight
...
Now that we've flipped the C++20 switch, let's start making use of
the nice new <bit> header.
I'm planning on handling this move away from BitUtils.h incrementally
in a series of PRs. There may be a few functions remaining in
BitUtils.h by the end that C++20 doesn't have any equivalents for.
2022-12-11 08:59:18 +01:00
JosJuice
c00008e3cd
Common: Remove unused stuff from BitUtils.h
2022-08-05 17:54:51 +02:00
TellowKrinkle
3d34a20105
Common: Fix CountTrailingZeros for weird compilers
2022-07-10 17:35:47 -05:00
Merry
20ccc38f0f
BitUtils: Implement CountTrailingZeros
2022-07-10 22:17:09 +01:00
Tillmann Karras
59dfc43949
Common: replace std::aligned_storage_t with alignas
...
C++23 deprecates std::aligned_storage_t while alignas works since C++11.
This fixes issue 12925.
2022-06-13 00:06:19 +01:00
JosJuice
10861ed8ce
JitArm64: Turn IsImmLogical into a constexpr constructor
2021-07-10 20:31:28 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Shawn Hoffman
fc65f65891
BitUtils: cleanup constexpr usage for msvc clz
2021-01-10 10:06:30 -08:00
Shawn Hoffman
65ecf1e43e
BitUtils: loosen clz to inline on msvc/arm64
2021-01-09 23:44:00 -08:00
Shawn Hoffman
1e5e5ea855
BitUtils: initialize variables
...
fixes C3615 on some msvc/cmake configs
2021-01-09 22:18:29 -08:00
MerryMage
6106d6481f
BitUtils: __builtin_clz is undefined when value == 0
2021-01-03 17:35:15 +00:00
iWeaker4you
a636fcf230
BitUtils: Fix uint64_t gcc compile (Linux)
2020-12-28 11:50:57 +01:00
MerryMage
d695fcb126
BitUtils: Add CountLeadingZeros
2020-12-27 22:56:43 +00:00
Jordan Woyak
8343dadd58
InputCommon: Add types to ControllerEmu that represent raw controller inputs and calibration data to calculate normalized input values.
2020-02-17 15:57:43 -06:00