Browse free open source C++ Algorithms and projects below. Use the toggles on the left to filter open source C++ Algorithms by OS, license, language, programming language, and project status.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
    Get Avast Free Antivirus with 24/7 AI-powered online scam detection

    Get protection for today’s online threats. Free.

    Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
    Free Download
  • 1
    Technical analysis library with indicators like ADX, MACD, RSI, Stochastic, TRIX... includes also candlestick pattern recognition. Useful for trading application developpers using either Excel, .NET, Mono, Java, Perl or C/C++.
    Leader badge
    Downloads: 11,412 This Week
    Last Update:
    See Project
  • 2
    Clipper

    Clipper

    Polygon and line clipping and offsetting library (C++, C#, Delphi)

    This library is now obsolete and no longer being maintained. It has been superceded by my Clipper2 library - https://github.com/AngusJohnson/Clipper2.
    Leader badge
    Downloads: 3,052 This Week
    Last Update:
    See Project
  • 3
    GNSS-SDR

    GNSS-SDR

    An open source software-defined GNSS receiver

    An open source software-defined Global Navigation Satellite Systems (GNSS) receiver written in C++ and based on the GNU Radio framework.
    Leader badge
    Downloads: 2,194 This Week
    Last Update:
    See Project
  • 4
    Armadillo

    Armadillo

    fast C++ library for linear algebra & scientific computing

    * Fast C++ library for linear algebra (matrix maths) and scientific computing * Easy to use functions and syntax, deliberately similar to Matlab / Octave * Uses template meta-programming techniques to increase efficiency * Provides user-friendly wrappers for OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU and FFTW libraries * Useful for machine learning, pattern recognition, signal processing, bioinformatics, statistics, finance, etc. * Downloads: http://arma.sourceforge.net/download.html * Documentation: http://arma.sourceforge.net/docs.html * Bug reports: http://arma.sourceforge.net/faq.html * Git repo: https://gitlab.com/conradsnicta/armadillo-code
    Leader badge
    Downloads: 1,721 This Week
    Last Update:
    See Project
  • Simplify IT and security with a single endpoint management platform Icon
    Simplify IT and security with a single endpoint management platform

    Automate the hardest parts of IT

    NinjaOne automates the hardest parts of IT, delivering visibility, security, and control over all endpoints for more than 20,000 customers. The NinjaOne automated endpoint management platform is proven to increase productivity, reduce security risk, and lower costs for IT teams and managed service providers. The company seamlessly integrates with a wide range of IT and security technologies. NinjaOne is obsessed with customer success and provides free and unlimited onboarding, training, and support.
    Learn More
  • 5
    dlib C++ Library
    Dlib is a C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.
    Leader badge
    Downloads: 125 This Week
    Last Update:
    See Project
  • 6
    threadpool is a cross-platform C++ thread pool library. It provides a convenient way for dispatching asynchronous tasks and can be easily customized. threadpool is based on the high-quality Boost source libraries.
    Leader badge
    Downloads: 111 This Week
    Last Update:
    See Project
  • 7
    EASTL

    EASTL

    EASTL, Electronic Arts Standard Template Library

    EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. If you are familiar with the C++ STL or have worked with other templated container/algorithm libraries, you probably don't need to read this. If you have no familiarity with C++ templates at all, then you probably will need more than this document to get you up to speed. In this case, you need to understand that templates, when used properly, are powerful vehicles for the ease of creation of optimized C++ code. A description of C++ templates is outside the scope of this documentation, but there is plenty of such documentation on the Internet.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 8
    Arduino FOC

    Arduino FOC

    Arduino FOC for BLDC and Stepper motors

    We live in very exciting times 😃! BLDC motors are entering the hobby community more and more and many great projects have already emerged leveraging their far superior dynamics and power capabilities. BLDC motors have numerous advantages over regular DC motors but they have one big disadvantage, the complexity of control. Even though it has become relatively easy to design and manufacture PCBs and create our own hardware solutions for driving BLDC motors the proper low-cost solutions are yet to come. One of the reasons for this is the apparent complexity of writing the BLDC driving algorithms, Field oriented control (FOC) being an example of one of the most efficient ones. The solutions that can be found online are almost exclusively very specific for certain hardware configurations and the microcontroller architecture used. Additionally, most of the efforts at this moment are still channeled towards the high-power applications of the BLDC motors and proper low-cost FOC.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 9

    Jojos Binary Diff

    Binary Diff and Undiff Utility

    JDIFF is a program that outputs the differences between two binary files, either in binary format or in human readable format (detailed or summarized) and then allows to reconstruct the second file from the first one and the diff-file.
    Leader badge
    Downloads: 42 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 10
    FileVerifier++
    FileVerifier++ is a Windows utility for calculating hashes using a number of algorithms including CRC32, MD5, SHA-1, SHA-256/224/384/512, WHIRLPOOL, and RIPEMD-128/160/256/320. Supported hash file formats include MD5SUM .MD5, SFV, BSD CKSUM, and others.
    Downloads: 44 This Week
    Last Update:
    See Project
  • 11
    MyTinySTL

    MyTinySTL

    Achieve a tiny STL in C++11

    This is a tinySTL based on C++11, which is my first project for practice. I use the Chinese documents and annotations for convenience, maybe there will be an English version later, but now I have no time to do that yet. Now I have released version 2.0.0. I have achieved the vast majority of the containers and functions of STL, and there may be some deficiencies and bugs. From version 2.x.x, the project will enter the stage of long-term maintenance, i.e., I probably will not add new content but only fix bugs found. If you find any bugs, please point out them in Issues, or make a Pull request to improve them, thanks!
    Downloads: 5 This Week
    Last Update:
    See Project
  • 12
    minidjvu is a DjVu encoder for black-and-white images.
    Leader badge
    Downloads: 29 This Week
    Last Update:
    See Project
  • 13
    Simd

    Simd

    High performance image processing library in C++

    The Simd Library is a free open source image processing library, designed for C and C++ programmers. It provides many useful high performance algorithms for image processing such as: pixel format conversion, image scaling and filtration, extraction of statistic information from images, motion detection, object detection (HAAR and LBP classifier cascades) and classification, neural network. The algorithms are optimized with using of different SIMD CPU extensions. In particular the library supports following CPU extensions: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX-512 for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM. The Simd Library has C API and also contains useful C++ classes and functions to facilitate access to C API. The library supports dynamic and static linking, 32-bit and 64-bit Windows, Android and Linux, MSVS, G++ and Clang compilers, MSVS project and CMake build systems.
    Leader badge
    Downloads: 21 This Week
    Last Update:
    See Project
  • 14
    libPGF

    libPGF

    libPGF is an implementation of the Progressive Graphics File (PGF)

    The Progressive Graphics File (PGF) is an efficient image file format, that is based on a fast, discrete wavelet transform with progressive coding features. PGF can be used for lossless and lossy compression. It's most suitable for natural images. PGF can be used as a very efficient and fast replacement of JPEG 2000.
    Leader badge
    Downloads: 29 This Week
    Last Update:
    See Project
  • 15
    TARQUIN

    TARQUIN

    MRS/NMR analysis software

    Analysis software for MRS/NMR data. Allows processing and fitting to be performed in a fully automatic workflow.
    Leader badge
    Downloads: 16 This Week
    Last Update:
    See Project
  • 16
    Linear Program Solver

    Linear Program Solver

    Solve linear programming problems

    Linear Program Solver (LiPS) is an optimization package oriented on solving linear, integer and goal programming problems. The main features of LiPS are: ● LiPS is based on the efficient implementation of the modified simplex method that solves large scale problems. ● LiPS provides not just an answer, but a detailed solution process as a sequence of simplex tables, so you can use it for studying/teaching linear programming. ● LiPS gives sensitivity analysis procedures, which allow us to study the behaviour of the model when you change its parameters, including: analysis of changes in the right sides of constraints, analysis of changes in the coefficients of the objective function, analysis of changes in the column/row of the technology matrix. Such information may be extremely useful for the practical application of LP Models. ● LiPS provides methods of goal programming, including lexicographic and weighted GP methods, which are oriented on multi-objective optimisation.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 17

    ViennaCL

    Linear algebra and solver library using CUDA, OpenCL, and OpenMP

    ViennaCL provides high level C++ interfaces for linear algebra routines on CPUs and GPUs using CUDA, OpenCL, and OpenMP. The focus is on generic implementations of iterative solvers often used for large linear systems and simple integration into existing projects.
    Downloads: 18 This Week
    Last Update:
    See Project
  • 18
    Evolving Objects

    Evolving Objects

    This project have been merged within Paradiseo.

    See the new project page: https://nojhan.github.io/paradiseo/ (Archived project page: http://eodev.sourceforge.net/)
    Downloads: 8 This Week
    Last Update:
    See Project
  • 19
    STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations, containers, and algorithms that can process huge volumes of data that only fit on disks.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 20
    OpenSpiel

    OpenSpiel

    Environments and algorithms for research in general reinforcement

    OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games. OpenSpiel supports n-player (single- and multi- agent) zero-sum, cooperative and general-sum, one-shot and sequential, strictly turn-taking and simultaneous-move, perfect and imperfect information games, as well as traditional multiagent environments such as (partially- and fully- observable) grid worlds and social dilemmas. OpenSpiel also includes tools to analyze learning dynamics and other common evaluation metrics. Games are represented as procedural extensive-form games, with some natural extensions. The core API and games are implemented in C++ and exposed to Python. Algorithms and tools are written both in C++ and Python. To try OpenSpiel in Google Colaboratory, please refer to open_spiel/colabs subdirectory.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    The Edge Machine Learning library

    The Edge Machine Learning library

    Machine learning algorithms for edge devices

    Machine learning models for edge devices need to have a small footprint in terms of storage, prediction latency, and energy. One instance of where such models are desirable is resource-scarce devices and sensors in the Internet of Things (IoT) setting. Making real-time predictions locally on IoT devices without connecting to the cloud requires models that fit in a few kilobytes.These algorithms can train models for classical supervised learning problems with memory requirements that are orders of magnitude lower than other modern ML algorithms. The trained models can be loaded onto edge devices such as IoT devices/sensors, and used to make fast and accurate predictions completely offline. A tool that adapts models trained by above algorithms to be inferred by fixed point arithmetic.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Thrust

    Thrust

    The C++ parallel algorithms library

    Thrust is the C++ parallel algorithms library which inspired the introduction of parallel algorithms to the C++ Standard Library. Thrust's high-level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. It builds on top of established parallel programming frameworks (such as CUDA, TBB, and OpenMP). It also provides a number of general-purpose facilities similar to those found in the C++ Standard Library. The NVIDIA C++ Standard Library is an open-source project; it is available on GitHub and included in the NVIDIA HPC SDK and CUDA Toolkit. If you have one of those SDKs installed, no additional installation or compiler flags are needed to use libcu++. Thrust is a header-only library; there is no need to build or install the project unless you want to run the Thrust unit tests.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    C++ Revenue Management Open Library
    That project (RMOL) aims at giving developers concerned by the Revenue Management arena a library delivering a reference implementation for most of the published algorithms and methods. That library is intended to be used in simulated environment: it does not intend to be used in real world production systems.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 24
    Monia Suite
    La suite logicielle Monia est destinée à l'apprentissage de l'algorithmique en français. Elle permet de fabriquer un exécutable à partir d'un organigramme, en passant par un programme procédural écrit en pseudo-langage.
    Leader badge
    Downloads: 9 This Week
    Last Update:
    See Project
  • 25
    CloudI: A Cloud at the lowest level
    CloudI is an open-source private cloud computing framework for efficient, secure, and internal data processing. CloudI provides scaling for previously unscalable source code with efficient fault-tolerant execution of ATS, C/C++, Erlang/Elixir, Go, Haskell, Java, JavaScript/node.js, OCaml, Perl, PHP, Python, Ruby, or Rust services. The bare essentials for efficient fault-tolerant processing on a cloud!
    Downloads: 14 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.