Commit graph

125 commits

Author SHA1 Message Date
Gio Borje
6a747f2237 Update bitmanip.d documentation
Fixed all spelling errors of "Params" from "Parems"
2014-04-29 15:45:40 -07:00
Andrej Mitrovic
ccd1e20d49 Fix Issue 12477 - std.bitmanip should emit informative diagnostics. 2014-04-23 21:49:18 +02:00
k-hara
6f80f6aa03 Add more local imports 2014-03-13 13:13:04 +09:00
Dmitry Olshansky
c78cfd97fb Merge pull request #1901 from Poita/bug12027
Fix Issue 12027 - Iterate set bits in BitArray.
2014-03-01 23:28:51 +03:00
Peter Alexander
5111daa384 Mark countBitsSet and countTrailingZeroes as private for now 2014-02-25 21:52:01 +00:00
k-hara
b391b2ec9f Convert to new alias syntax 2014-02-11 15:27:05 +09:00
Peter Alexander
cb55aa8fca Refine BitArray.init requirements and docuemntation. 2014-02-06 21:17:02 +00:00
Peter Alexander
34a892c63e Reimplement countTrailingZeros using bsf. 2014-02-03 21:25:26 +00:00
Peter Alexander
e8eae7de8d Performance improvements for dense BitArray.bitsSet. 2014-02-02 15:08:10 +00:00
Peter Alexander
08820e2f14 Fix Issue 12027 - Iterate set bits in BitArray.
Also adds:
- countTrailingZeros(v)
- countBitsSet(v)
- bitsSet(v)

Notes:
- There is a `popcnt` function in `core.bitops`, but it only works with `int`.
- `bitsSet(v)` could be a bidirectional and possibly even random access range, but I'll leave that for future work for now.
2014-02-02 12:59:28 +00:00
Daniel Murphy
a656f26e9e Remove use of automatic adjacent string literal concatenation from phobos 2014-01-20 03:42:21 +11:00
monarchdodra
44fe3d88f7 Remove tabs 2014-01-08 08:37:52 +01:00
safety0ff
282e88bc60 Add unittests for bugs which seem to have been fixed over time. 2013-10-03 10:14:24 -04:00
safety0ff
d2b6f04f2f Support degenerate bitfields with fields of length 32 and 64 to match documented constraints. 2013-10-03 10:06:55 -04:00
Hackerpilot
9ecbfa6bc7 Reverted implicit string concatienation changes 2013-07-13 19:42:50 +00:00
Hackerpilot
ae1dcaa3e1 Removed empty declarations. Converted more C-style array declarations to D-style. Removed trailing whitespace 2013-07-13 19:34:37 +00:00
Andrej Mitrovic
4f5079e4f8 Fixes Issue 4124 - Implement toString for BitArray. 2013-06-01 15:40:01 +02:00
Andrej Mitrovic
bd2d3e5fea Detab and strip std.bitmanip. 2013-06-01 04:03:37 +02:00
Diggory Blake
be6f984726 Fixed std.bitmanip unit test so that the intended behaviour of checking both endian types is the actual behaviour 2013-05-27 11:26:48 +01:00
kai
17f3fe27d5 Fix endian issue in std.bitmanip
BitArray uses an array of size_t elements but opEquals() and opCmp()
cast it to an array of ubyte elements. On a big endian architecture
the bytes are accessed in wrong order.
The solution is to always use size_t elements.
2013-04-12 07:11:56 +02:00
Marco Nembrini
3bb400d492 Decommented unittest that was blocked by bug 6354, which has since been fixed. 2012-12-28 00:10:15 +11:00
k-hara
01df2f60be Remove redundant parenthesis for getters, and use assignment syntax for setters 2012-11-23 15:07:17 +09:00
Daniel Murphy
9c50d1c72f Remove variable shadowing in std.bitmanip 2012-10-28 21:55:30 +11:00
Kozzi11
b15c4205da Fixes Issue 8876 - bitfields template generate wrong code 2012-10-24 00:06:25 +02:00
alexrp
d913e07fc5 hash_t -> size_t. 2012-10-15 04:45:17 +02:00
nazriel
72ade9efec Add other types to peek & family 2012-09-17 12:46:39 +00:00
alexrp
85c1f161c0 Adding myself as author to the modules I have contributed to.
This is just me committing to maintain my code additions to
these modules. We should, in general, use these author lists
more so we know who's responsible for the various modules.
2012-07-16 05:31:09 +02:00
Matthias Walter
cf08b3e51a Made BitArray.toHash pure. 2012-06-25 08:34:09 +02:00
Matthias Walter
e99d6cf04a Reverted change in opCmp signature. 2012-06-22 08:42:42 +02:00
Matthias Walter
eb46d99217 Added to BitArray in std.bitmanip:
- const modifiers
- const versions of opApply
- toHash method
- return value for length setter.
2012-06-08 21:34:01 +02:00
jmdavis
9cf1eea338 Added checks to verify indices. 2012-06-07 01:27:25 -07:00
jmdavis
b36b6469e1 Made it possible to give endianness to peek, read, write, and append. 2012-06-06 20:39:50 -07:00
jmdavis
5e24378271 Added peek, read, write, and append to std.bitmanip.
These functions make it easier to manipulate buffers of ubytes which are
meant to be parsed or written to as sequences of larger integral types.
They assume that the buffers hold their data in big endian.
2012-06-06 02:21:33 -07:00
alexrp
aaaca447cc Make generated accessor for bitfields @safe pure nothrow. 2012-05-13 23:14:06 +02:00
alexrp
5abc66aec1 Fix overloads of opCast() on BitArray. 2012-03-20 18:32:16 +01:00
alexrp
d70f621afd Allow casting BitArray to size_t[]. 2012-03-19 02:58:33 +01:00
alexrp
4f8b530ba6 More improvements/fixes to BitArray docs. 2012-03-18 00:17:57 +01:00
alexrp
95da96d352 A few improvements to BitArray docs. 2012-03-17 13:06:50 +01:00
Walter Bright
8cfc0d232b 'is' doesn't work for signalling/quiet nan comparison 2012-01-10 00:03:14 -08:00
Walter Bright
380ae65511 remove empty statements 2011-12-29 00:05:45 -08:00
alexrp
cf9ddf9836 Drop unnecessary version statement and use size_t.sizeof * 8 instead. 2011-11-28 10:21:51 +01:00
alexrp
6460899b8a Use D_LP64 to make bitness-based decisions, not X86(_64). 2011-11-27 16:11:23 +01:00
jmdavis
2d3dc6fabe Made it so that the endian swapping functions work with bool. 2011-08-13 20:05:29 -07:00
Andrei Alexandrescu
dc6c28330c Merge pull request #166 from 9rnsr/bitmanipProperty
Add @property to std.bitmanip
2011-08-08 08:34:18 -07:00
dawg
a91d837754 avoid collision of store name with accessors in single member bitfield 2011-08-08 16:35:42 +02:00
k-hara
15e0e30f17 Merge branch 'master' into bitmanipProperty
Conflicts:
	std/bitmanip.d
2011-08-02 05:12:50 +09:00
k-hara
9780a8bee2 Fix tabs. 2011-08-02 00:27:12 +09:00
k-hara
a4e23d4b2d Add @property annotation for bitfields and BitArray members. 2011-08-02 00:14:09 +09:00
jmdavis
8167a7aedb Fix test breakage due to bug# 6354.
http://d.puremagic.com/issues/show_bug.cgi?id=6354

The test in question should be re-enabled once 6354 has been fixed.
2011-07-31 19:10:18 -07:00
jmdavis
9698cd62dc Some improvements based on review suggestions.
real has been removed, since it makes no sense to swap it if you can't
guarantee that real is the exact same size of the the machine that it's
being passed to.
2011-07-22 22:39:52 -07:00