Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Mir Algorithm

Generic Algorithm Collection.

The following table is a quick reference guide for which Mir Algorithm modules to use for a given category of functionality.

Modules Description
mir.variant Variant Type (aka Algebraic Type) with clever member access
mir.exception @nogc MirException with formatting
mir.format @nogc Formatting Utilities
mir.parse @nogc Parsing Utilities
mir.small_array Generic Small Arrays
mir.small_string Generic Small Strings
mir.array.allocation std.array reworked for Mir
mir.range Ranges
mir.serde Utilities for serialization libraries
    Date and time Fast BetterC Date type with Boost ABI and mangling compatability
    NDarrays and Algorithms
mir.ndslice Package for ndarrays and iteration algorithms.
mir.range Additoinal primitive ranges. See also mir.ndslice, which contains a lot of range constructos.
mir.algorithm.setops Mir & BetterC rework of Phobos.
mir.algorithm.iteration Mir & BetterC rework of Phobos.
mir.numeric Basic numeric optimisations
mir.math.numeric Simple numeric algorithms
mir.math.sum Various precise summation algorithms
mir.math.stat Basic API for statistics
mir.polynomial Polynomial ref-counted structure
mir.interpolate Interpolation algorithms
    Reference counting
mir.rc Reference counting package and RC conversion utilities.
mir.rc.array Thread safe reference count array and the iterator to adopt it to ndslice.
mir.rc.ptr Thread safe reference count pointer with polymorphism support for strucs and objects.
mir.rc.slim_ptr Thread safe reference count pointer for strucs and objects.
mir.series Generic series suitable for time-series or semi-immutable ordered maps with CPU cache friendly binary search.
mir.container.binaryheap Mir & BetterC rework of Phobos.
mir.appender Scoped Buffer.
mir.graph Basic routines to work with graphs
mir.graph.tarjan Tarjan's strongly connected components algorithm
    Big Numbers (partial implementation)
mir.bignum.decimal Stack-allocated decimal type
mir.bignum.fixed Stack-allocated fixed length unsigned integer type (like 256bit integers).
mir.bignum.fp Stack-allocated fixed length software floating point type.
mir.bignum.integer Stack-allocated integer type.
mir.bignum.low_level_view Low-level universal number representation formats.
mir.combinatorics Combinations, combinations with repeats, cartesian power, permutations.
    Interconnection with other languages
mir.ndslice.connect.cpython Utilities for Python Buffer Protocol
Copyright: Copyright © 2016-, Ilya Yaroshenko.