digitalmars.D.announce - mir-algorithm v0.7.0: new interpolation, optmath, bugfixes
About Mir Algorithm --------------------Mir Algorithm[1] is Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice.New Modules since v0.6.21 -------------------- - Reworked interpolation API, now found in mir.interpolate, mir.interpolate.linear, mir.interpolate.pchip. - New module mir.interpolate.spline for cubic interpolation. Warning: multivariate cubic spline with derivatives is still experimental. - New module mir.interpolate.constant for constant interpolation. Warning: multivariate constant interpolant is still experimental. API Changes since v0.6.21 -------------------- - Added in mir.math.common function attributes optmath and fmamath. They only have effect when compiling with LDC but can be used with all compilers. (This now also applies to fastmath.) optmath is similar to fastmath but does not allow unsafe-fp-math. Does not force LDC to replace division with multiplication by reciprocal. - New mir.utility.extMul extended unsigned multiplication that makes available the high bits of the result - New mir.functional.aliasCall - New mir.ndslice.algorithm.maxLength returns max length across all dimensions. - New mir.ndslice.slice.IteratorOf!(T : Slice) extracts iterator type from a Slice - New mir.ndslice.slice.ndassign assignment utility template that works both with scalars and with ndslices. - In mir.ndslice.slice.Slice: iterator is now inout; opUnary now works with - and +; opIndexAssign now returns ref this instead of void. - mir.ndslice.field.MagicField supports length and shape. Removed Modules -------------------- - mir.interpolation, mir.interpolation.linear, mir.interpolation. Migrate to replacements (mir.interpolate.*). Other Changes since v0.6.21 -------------------- - Uses of fastmath in the Mir codebase have been replaced by optmath, excepting mir.math.sum Summation.fast. - In mir.ndslice.topology under-the-hood improvements in slide, diff, pairwise - In mir.ndslice.slice.Slice opBinary and opBinaryRight now internally use mir.ndslice.topology.vmap instead of mir.ndslice.topology.indexed. Fixed since v0.6.21 -------------------- - Fix in mir.ndslice.topology.map for compilation failing in cases where chained map calls couldn't be coalesced due to capturing multiple contexts (seemingly a compiler bug in some cases) - Made mir.ndslice.topology.flattened backwards compatible with LDC 1.2.0 for those who haven't upgraded - Added workaround in mir.ndslice.algorithm.reduce for DMD inlining bug for non-Windows x86-64 (LDC unaffected) - mir.primitives.shape now takes its argument by reference [1] https://github.com/libmir/mir-algorithm Release notes with hyperlinks: https://github.com/libmir/mir-algorithm/releases/tag/v0.7.0
Dec 12 2017
On Tuesday, 12 December 2017 at 23:10:26 UTC, Nathan S. wrote:About Mir Algorithm -------------------- [snip]+1
Dec 12 2017