www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - mir.array.primitives and mir.bitmanip were added

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
Apr 23