Rodrigo Locatti
8ed0d92e32
Revert "common/bit_field: Silence sign-conversion warnings"
2019-11-16 03:29:37 -03:00
Lioncash
14581e4a59
common/bit_field: Silence sign-conversion warnings
...
We can just use numeric_limits instead of relying on wraparound behavior
here.
2019-11-15 07:09:30 -05:00
bunnei
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
...
- Zero initialization here is useful for determinism.
2019-11-03 22:22:41 -05:00
Tobias
a81987a7cb
common/bit_field: Remove FORCE_INLINE calls
...
See bunneis comment here https://github.com/citra-emu/citra/pull/4629#discussion_r258533167 .
They were supposed to be removed by him, but he missed them.
2019-11-03 08:25:37 +01:00
Lioncash
109b78a6d6
common/bit_util: Fix bad merge duplicating the copy constructor
...
Introduced as a result of #2090 , we already define the copy constructor
further down below, so this isn't needed.
2019-03-20 23:48:37 -04:00
bunnei
3e930304fe
Merge pull request #2090 from FearlessTobi/port-4599
...
Port citra-emu/citra#4244 and citra-emu/citra#4599 : Changes to BitField
2019-03-20 23:44:20 -04:00
Lioncash
e99a148628
common/bit_field: Make BitField trivially copyable
...
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.
Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).
While we're at it, provide defaulted move constructors for consistency.
2019-03-07 17:05:44 -05:00
fearlessTobi
efd83570bd
Make bitfield assignment operator public
...
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.
The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2019-02-13 21:15:15 +01:00
Weiyi Wang
6b81ceb060
common/bitfield: make it endianness-aware
2019-02-06 17:29:39 +01:00
Weiyi Wang
786995a81e
Common/Bitfield: store value as unsigned type
...
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-16 15:49:57 +01:00
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
Lioncash
36090521ce
bit_field: Convert ToBool() into explicit operator bool
...
Gets rid of a TODO that is long overdue.
2018-08-21 06:39:45 -04:00
bunnei
e59126809c
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2018-04-17 18:00:18 -04:00
bunnei
0315fe8c3d
bit_field: Make all methods constexpr.
2018-04-13 23:48:18 -04:00
Yuri Kunde Schlesner
c1a9e94068
Common: Clean up meta-template logic in BitField
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
MerryMage
8b00954ec7
AudioCore: Skeleton Implementation
...
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.
This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
845ac621b3
bit_field: Re-enable code on MSVC
2015-10-01 15:43:42 -04:00
archshift
d1ae413ffd
Stop defining GCC always_inline attributes as __forceinline
...
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
2015-08-11 19:45:15 -07:00
Yuri Kunde Schlesner
b0d72e3de1
Merge pull request #914 from yuriks/bitfield-mask
...
Common: Fix mask generation in BitField
2015-07-11 19:01:57 -07:00
Yuri Kunde Schlesner
d5b5280501
Common: Remove redundant masking in BitField
...
For the signed case, the shifts already remove the rest of the value, so
ANDing by the mask is redundant.
2015-07-10 18:43:41 -03:00
Yuri Kunde Schlesner
d7f9529bdd
Common: Fix mask generation in BitField
...
Fixes #913
2015-07-10 18:43:40 -03:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
bunnei
2188af4a65
Merge pull request #322 from chinhodado/master
...
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei
0de6a08d75
Merge pull request #291 from purpasmart96/license
...
License change
2014-12-21 16:05:44 -05:00
Chin
0199a7d9ef
More warning cleanups
2014-12-21 10:58:55 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
Tony Wasserka
95be6a09b2
BitField: Add an explicit Assign method.
...
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Lioncash
2dce9b2ead
bit_field: Fix a typo in the sample usage.
2014-10-25 15:18:34 -04:00
Tony Wasserka
0da8e2eacc
BitField: Cast enum values to proper integer type.
2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9
BitField: Add a static_assert.
...
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5
BitField: Delete copy assignment to prevent obscure bugs.
...
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d
BitField: Add an explicit evaluation method.
...
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
a6b047ec3b
removed incorrect dolphin copyright line
2014-05-08 17:11:41 -04:00
bunnei
a713bd1bad
fixed include of common in bit_field.h
2014-05-07 21:44:16 -04:00
bunnei
e7a0283625
added BitField to common
2014-05-07 18:14:42 -04:00