Commit Graph
30 Commits
Author SHA1 Message Date
Jordan Woyak b98acb9a37 Common/BitUtils: Add overloads of AsU8Span/AsWritableU8Span that handle conversions from contiguous ranges. 2025-11-09 03:08:14 -06:00
JMC47andGitHub 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
iWeaker4youandLéo Lam 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
Pokechu22 77189e74cd Implement Broadway GPIOs
SLOT_LED and the AVE ones are not implemented yet, but the other Broadway ones are.
2020-01-04 11:43:26 -08:00
Techjar 79092cdda0 Common/BitUtils: Implement BitCast(To|From)Array 2019-12-22 14:48:47 -05:00
Jordan Woyak 9c1a8891e5 WiimoteEmu: Code cleanups. 2019-02-02 19:40:31 -06:00