Code Quality Rank: L3
Programming language: C++
Tags: Math    
Latest version: v2.1.2

cml alternatives and similar libraries

Based on the "Math" category

  • GLM

    8.7 8.4 L1 cml VS GLM
    Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT]
  • OpenBLAS

    An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] website
  • QuantLib

    A free/open-source library for quantitative finance. [Modified BSD] website
  • ceres-solver

    C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
  • CGal

    7.2 9.9 L1 cml VS CGal
    Collection of efficient and reliable geometric algorithms. [LGPL&GPL]
  • Eigen

    A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
  • Vc

    5.6 0.6 L1 cml VS Vc
    SIMD Vector Classes for C++. [BSD]
  • NT2

    5.0 5.6 cml VS NT2
    A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost]
  • TinyExpr

    tiny recursive descent expression parser, compiler, and evaluation engine for math expressions
  • linmath.h

    A lean linear math library, aimed at graphics programming. [WTFPL]

    4.6 0.0 L1 cml VS MIRACL
    A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
  • LibTomMath

    A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] website
  • GMTL

    4.0 0.0 L1 cml VS GMTL
    Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
  • ExprTK

    4.0 3.6 L1 cml VS ExprTK
    The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [CPL]
  • muparser

    muParser is an extensible high performance math expression parser library written in C++. [MIT]
  • blaze

    high-performance C++ math library for dense and sparse arithmetic. [BSD]
  • safe_numerics

    Replacements to standard numeric types which throw exceptions on errors
  • Apophenia

    A C library for statistical and scientific computing [GPL2]
  • Boost.Multiprecision

    provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost]
  • Wykobi

    A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
  • Klein

    P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library
  • Versor

    A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
  • metamath

    metamath is a tiny header-only library. It can be used for symbolic computations on single-variable functions, such as dynamic computations of derivatives.
  • Xerus

    A general purpose library for numerical calculations with higher order tensors, Tensor-Train Decompositions / Matrix Product States and other Tensor Networks
  • Mission : Impossible (AutoDiff)

    A concise C++17 implementation of automatic differentiation (operator overloading)
  • GMP

    A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
  • Armadillo

    A high quality C++ linear algebra library, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2]

Do you think we are missing an alternative of cml or a related project?

Add another 'Math' Library


Configurable Math Library

For CML version 1, please see https://github.com/demianmnave/CML1.


The Configurable Math Library (CML) is released under the Boost Software License, Version 1.0..


Build status Build Status

Using the CML

Currently, CML does not have a make install option. As it is header-only, it is simple enough to copy the cml header directory into your project, and setup your build to reference it.

Running Tests

To run the test suite from a command prompt using a Makefile-like generator, start in your build directory and execute:


Then, to build the tests (again from your build directory):

cmake --build . --config Release

You can run the full test suite from your build directory by executing:

ctest -C Release

If you have multiple CPUs (e.g. 4 in this case), you can speed things up a bit using, for example:

cmake --build . --config Release -- -j4

ctest -C Release -j4

Visual Studio 12 (2013), 14 (2015), and 15 (2017) are also supported, as are XCode 7.3 and 8.3.

*Note that all licence references and agreements mentioned in the cml README section above are relevant to that project's source code only.