| Age | Commit message (Collapse) | Author |
|
Dentomologist/bitset64_fix_iterator_incrementation
BitSet64: Fix iterator incrementation
|
|
Use 1 of the same type as the stored value when shifting left. This
prevents undefined behavior caused by shifting an int more than 31 bits.
Previously iterator incrementation could either hang or prematurely
report it had reached the end of the bitset.
|
|
|
|
Gets rid of the need to remember to initialize them in the constructor,
except when overriding the default initializer.
|
|
This was able to be constexpr since C++14.
|
|
|
|
seems to have been solved 5 years ago by
b707e199c2878d173c5d30f0a24db93d7de1d921
|
|
Public domain does not have an internationally agreed upon definition,
As such it's generally preferred to use an extremely liberal license,
which can explicitly list the rights granted by the copyright holder.
The CC0 license is the usual choice here.
This "relicensing" is done without hunting down copyright holders, since
it is presumed that their release of this work into the public domain
authorizes us to redistribute this code under any other license of our
choosing.
|
|
|
|
We do includes relative to the root, rather than direct pathing.
|
|
|
|
This should be under the common namespace, considering where it's living
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Optimistically assume used GQRs are 0 in blocks that only use one GQR, and
bail at the start of the block and recompile if that assumption fails.
Many games use almost entirely unquantized stores (e.g. Rebel Strike, Sonic
Colors), so this will likely be a big performance improvement across the board
for games with heavy use of paired singles.
|
|
|
|
|
|
This is a higher level, more concise wrapper for bitsets which supports
efficiently counting and iterating over set bits. It's similar to
std::bitset, but the latter does not support efficient iteration (and at
least in libc++, the count algorithm is subpar, not that it really
matters). The converted uses include both bitsets and, notably,
considerably less efficient regular arrays (for in/out registers in
PPCAnalyst).
Unfortunately, this may slightly pessimize unoptimized builds.
|