Code Quality Rank: L1
Programming language: C++
License: GNU General Public License v3.0 or later
Tags: Math    
Latest version: v5.2-beta1

CGal alternatives and similar libraries

Based on the "Math" category.
Alternatively, view CGal alternatives based on common mentions on social networks and blogs.

  • GLM

    8.8 7.6 L1 CGal 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
  • Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
    Sponsored scoutapm.com
  • 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]
  • 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 5.0 L1 CGal VS Vc
    SIMD Vector Classes for C++. [BSD]
  • TinyExpr

    tiny recursive descent expression parser, compiler, and evaluation engine for math expressions
  • NT2

    A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost]
  • linmath.h

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

    4.9 0.0 L1 CGal 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
  • ExprTK

    4.4 0.9 L1 CGal 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]
  • Klein

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

    3.8 0.0 L1 CGal VS GMTL
    Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
  • muparser

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

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

    A C library for statistical and scientific computing [GPL2]
  • blaze

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

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

    A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
  • 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)
  • macadam

    Type-generic math and numerical library supporting c99 and cpp98 (header only).
  • 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 CGal or a related project?

Add another 'Math' Library


Build Status


The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.

CGAL Releases

The primary vector of distribution of CGAL are sources tarballs, released twice a year, announced on the web site of CGAL.

Getting Started with CGAL

Since version 5.0, CGAL is a header-only library, meaning that it is no longer needed to build CGAL libraries before it can be used.

Head over to the CGAL manual for usage guides and tutorials that will get you started smoothly.


See the file [LICENSE.md](LICENSE.md).

CGAL Git Repository Layout

The Git repository of CGAL has a different layout from release tarballs. It contains a CMakeLists.txt file that serves as anchor for configuring and building programs, and a set of subfolders, so called packages. Most packages implement a data structure or an algorithm for CGAL (e.g., Convex_hull_2, or Triangulation_3); however some packages serve special needs:

  • Installation - meta-files and CMake-support
  • Maintenance - infrastructural support
  • Core, CGALimageIO, Qt_widget, GraphicsView - component libraries
  • Scripts - scripts to simplify developer's and user's work
  • Testsuite - infrastructure for testsuite
  • Documentation - infrastructure for CGAL's manual
  • STL_Extension - extensions to the standard template library

More Information

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