summaryrefslogtreecommitdiffstats
path: root/src/common/fixed_point.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* general: fix spelling mistakesLiam2023-03-121-1/+1
|
* fixed_point: Mark default constructor as constexprLioncash2022-10-181-2/+2
| | | | | | | | | | | | | | Ensures that a fixed-point value is always initialized This likely also fixes several cases of uninitialized values being operated on, since we have multiple areas in the codebase where the default constructor is being used like: Common::FixedPoint<50, 14> current_sample{}; and is then followed up with an arithmetic operation like += or something else, which operates directly on FixedPoint's internal data member, which would previously be uninitialized.
* fixed_point: Mark copy/move assignment operators and constructors as constexprLioncash2022-10-181-3/+6
| | | | | Given these are just moving a raw value around, these can sensibly be made constexpr to make the interface more useful.
* fixed_point: Mark std::swap and move constructor as noexceptLioncash2022-10-181-2/+2
| | | | | These shouldn't throw and can influence how some standard algorithms will work.
* fixed_point: Mark relevant member function [[nodiscard]]Lioncash2022-10-181-14/+14
| | | | | Marks member functions as discard, where ignoring the return value would be indicative of a bug or dead code.
* fixed_point: Make to_uint() non-constLioncash2022-10-181-2/+2
| | | | | | | | | | | This calls round_up(), which is a non-const member function, so if a fixed-point instantiation ever calls to_uint(), it'll result in a compiler error. This allows the member function to work. While we're at it, we can actually mark to_long_floor() as const, since it's not modifying any member state.
* fixed_point: Use defaulted comparisonsLioncash2022-10-181-23/+1
| | | | Collapses all of the comparison functions down to a single line.
* fixed_point: Use variable templates and concepts where applicableLioncash2022-10-181-72/+48
| | | | | Makes a few things a little less noisy and removes the need for SFINAE in quite a few functions.
* fixed_point: Replace CONSTEXPR14 with constexprMorph2022-10-171-50/+42
| | | | As we require the latest C++ standards to compile yuzu, checking for C++14 constexpr is not needed.
* general: Add missing pragma onceMorph2022-10-171-4/+1
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-23/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* Project AndioKelebek12022-07-221-0/+726