Commit Graph

28 Commits

Author SHA1 Message Date
0144018992 bitwise: don't allow full rotation 2019-04-26 10:27:22 +10:00
174bd62a29 bitwise: add ctz, aka count trailing zeroes 2019-04-24 13:25:44 +10:00
fd1fda9145 bitwise: use free equality operator for bitfields 2019-02-03 16:38:53 +11:00
5218fa8165 bitwise: add explicit accessor get 2019-02-03 14:16:58 +11:00
cf268a1960 bitwise: offset should start from least significant bits 2019-02-03 13:52:56 +11:00
becd1e24e3 build: add doxygen comments for various headers 2019-01-03 11:15:00 +11:00
259c3de417 bitwise: add 'bitfield' type suitable for unions 2018-12-15 15:38:01 +11:00
6bcbaeb98e bitwise: slight improvements to documentation 2018-12-15 15:38:01 +11:00
9eb2784d84 bitwise: convert popcount template into explicit overloads
popcount, popcountl, and popcountll need to be used for each appropriate
fundamental type. It's easiest to just provide overloads for popcount
for the few cases we have available than to deal with templates.
2018-12-06 15:56:37 +11:00
5627f0f280 bitwise: remove unneeded BITMASK_BITS constants 2018-12-06 15:43:30 +11:00
1c814c02d2 bitwise: prefer template SFINAE over param SFINAE 2018-08-07 16:58:02 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
4f10505d09 build: fix warnings from -Wparentheses 2018-03-27 20:16:32 +11:00
7708b12c37 bitwise: add 'from_bits' integer extraction
constructs an integer from range of indices over a bitfield
2018-03-20 13:35:10 +11:00
2bd094ab9f bitwise: use bit reversal from bit twiddling hacks 2017-02-13 17:14:30 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
b49d95eaf3 bitwise: add pure annotation to rotate functions 2016-06-20 17:59:21 +10:00
caa70a2063 bitwise: add popcount 2015-11-25 13:46:13 +11:00
7ae57730f0 whitespace 2015-04-13 18:06:08 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
d78df821bf bitwise: add bit reverse operation 2014-07-15 19:49:29 +10:00
028dee034a bitwise: add rotater 2014-04-16 19:16:25 +10:00
990d5ab806 Rename rotate_left to the more friendly rotatel 2013-03-11 20:41:19 +11:00
77942e008d Change my email to an active domain 2012-04-23 13:10:50 +10:00
cc2c726801 Repurpose rotate function as rotate_left 2012-04-11 15:21:00 +10:00
e01fcdcd59 Add bitwise rotate function 2012-01-04 17:19:50 +11:00
09b2f5ae0f Add bit manipulation convenience defines 2011-08-29 14:38:47 +10:00