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
    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.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.graph Basic routines to work with graphs
mir.graph.tarjan Tarjan's strongly connected components algorithm
mir.interpolate Interpolation algorithms
mir.combinatorics Combinations, combinations with repeats, cartesian power, permutations.
    Interconnection with other languages
mir.ndslice.connect.cpp Definitions suitable for extern(C++) functions
mir.ndslice.connect.cpython Utilities for Python Buffer Protocol
mir.math Package
mir.math.common Common math functions and fp-math compiler optimization attributes
mir.math.constant Constants
mir.math.numeric Simple numeric algorithms
mir.math.sum Various precise summation algorithms
mir.utility Everyday utilities
mir.array.primitives Array primitives with ndslice-like API
mir.array.allocation std.array reworked for Mir
mir.bitmanip Bit fields manipulations
mir.qualifier Additoinal primitives for const and immutable types
mir.conv Conversion utilities
mir.functional Functions that manipulate other functions
mir.primitives Templates used to check primitives
mir.range Ranges
Copyright: Copyright © 2016-, Ilya Yaroshenko.