mir.array.primitives and mir.bitmanip were added
9il via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun Apr 23 22:56:40 PDT 2017
Mir release v0.4.12 comes with simple but powerful API additions.
mir.array.primitives [1]
===============
Added empty, front, back pop*[N/Exactly], length primitives.
Difference with Phobos:
1. Do not break LDC fastmath optimisations. (because they marked
@fastmath) This is important for sci and numeric code.
2. Strings are just common arrays without decoding.
std.uni.byCodePoint should be used explicitly to operate strings
as ranges of chars.
3. Has ndslice-like API, e.g. `auto l = arr.length!0;` and `auto
x = arr.front!0`. This is useful for generic multidimensional
code that should work with arrays as with 1-dimensional ndslices.
mir.bitmanip [2]
===============
Contains modified bitfields, taggedClassRef, taggedPointer from
std.bitmanip. Authors are Walter Bright, Andrei Alexandrescu,
Amaury SECHET. Ping me please if I missed someone.
Difference with Phobos:
1. Generated mixins are templates. This awesome for writing
source libraries and betterC code. For examples size of Mir CPUID
compiled in betterC mode was reduced few times after migration to
mir.
[1]
http://docs.algorithm.dlang.io/latest/mir_array_primitives.html
[2] http://docs.algorithm.dlang.io/latest/mir_bitmanip.html
Best reagards,
Ilya
More information about the Digitalmars-d-announce
mailing list