C++ Matrix

Open-source C++ projects categorized as Matrix

Top 23 C++ Matrix Projects

  • GLM

    OpenGL Mathematics (GLM)

    Project mention: The Happy Bunny License | news.ycombinator.com | 2022-12-02
  • nheko

    Desktop client for Matrix using Qt and C++20.

    Project mention: Matrix was worth the effort to self host. | reddit.com/r/selfhosted | 2022-09-18

    Matrix clients hit different than pretty much any other chat client I've use before. Theres multiple clients I've found like nheko, moments, element that are a pleasure to look at and smooth as hell. Even better you can have users use web services like Element Web to sign-up and chat. Its sick.

  • Zigi

    The context switching struggle is real. Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!

  • Quaternion

    A Qt5-based IM client for Matrix (by quotient-im)

    Project mention: Notes on Concurrency Bugs | news.ycombinator.com | 2022-05-28

    In terms of shared-memory threading concurrency, Send and Sync, and the distinction between &T and &Mutex and &mut T, were a revelation when I first learned them. It was a principled approach to shared-memory threading, with Send/Sync banning nearly all of the confusing and buggy entangled-state codebases I've seen and continue to see in C++ (much to my frustration and exasperation), and &Mutex providing a cleaner alternative design (there's an excellent article on its design at http://cliffle.com/blog/rust-mutexes/).

    My favorite simple concurrent data structure is https://docs.rs/triple_buffer/latest/triple_buffer/struct.Tr.... It beautifully demonstrates how you can achieve principled shared mutability, by defining two "handle" types (living on different threads), each carrying thread-local state (not TLS) and a pointer to shared memory, and only allowing each handle to access shared memory in a particular way. This statically prevents one thread from calling a method intended to run on another thread, or accessing fields local to another thread (since the methods and fields now live on the other handle). It also demonstrates the complexity of reasoning about lock-free algorithms (https://github.com/HadrienG2/triple-buffer/issues/14).

    I suppose &/&mut is also a safeguard against event-loop and reentrancy bugs (like https://github.com/quotient-im/Quaternion/issues/702). I don't think Rust solves the general problem of preventing deadlocks within and between processes (which often cross organizational boundaries between projects and distinct codebases, with no clear contract on allowed behavior and which party in a deadlock is at fault), and non-atomicity between processes on a single machine (see my PipeWire criticism at https://news.ycombinator.com/item?id=31519951). File saving is also difficult (https://danluu.com/file-consistency/), though I find that fsync-then-rename works well enough if you don't need to preserve metadata or write through file (not folder) symlinks.

  • neo

    Simulates the digital rain from "The Matrix" (CMatrix clone with 32-bit color and Unicode support) (by st3w)

    Project mention: My new setup | reddit.com/r/bspwm | 2022-10-27

    cmatrix? I see that everywhere, but think that there are better alternatives. Better as in nicer visuals that are closer to what can be seen in the movie. For example: tmatrix, fakesteak, neo and many more.

  • hlslpp

    Math library using hlsl syntax with SSE/NEON support

  • TMatrix

    Terminal based replica of the digital rain from The Matrix.

    Project mention: My new setup | reddit.com/r/bspwm | 2022-10-27

    cmatrix? I see that everywhere, but think that there are better alternatives. Better as in nicer visuals that are closer to what can be seen in the movie. For example: tmatrix, fakesteak, neo and many more.

  • MD_MAX72XX

    LED Matrix Library

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • Imath

    Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics

  • monolish

    monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture

  • TM16xx

    Arduino TM16xx library for LED & KEY and LED Matrix modules based on TM1638, TM1637, TM1640 and similar chips. Simply use print() on 7-segment and use Adafruit GFX on matrix.

    Project mention: Does anyone know if it’s possible to combine these two circuits? 😁 | reddit.com/r/arduino | 2022-05-25
  • libQuotient

    A Qt5 library to write cross-platform clients for Matrix

    Project mention: GTK4 Matrix Client | news.ycombinator.com | 2022-04-10

    A PR was merged recently to make reading encrypted messages in libquotient (the lib used by both Quatermion and NeoChat). Another one is in the work to send encrypted messages.

    Oblivious some help would be welcome. Here is the guthub repo https://github.com/quotient-im/libquotient/

  • TP_Arduino_DigitalRain_Anim

    A library that represents Digital Rain Animation on color displays that support TFT_eSPI

    Project mention: I'm looking for the cheapest way to get a looping video to run on two of these 2" color displays for a Diorama... | reddit.com/r/arduino | 2022-11-13
  • maths

    Linear algebra library with vector swizzling, intersection tests and useful functions for games and graphics dev.

    Project mention: maths - templated c++ linear algebra library with vector swizzling, intersection tests and useful functions for games and graphics dev... includes live webgl/wasm demo ? | reddit.com/r/cpp | 2022-01-12
  • Matrix

    C++ Matrix -- High performance and accurate (e.g. edge cases) matrix math library with expression template arithmetic operators (by hosseinmoein)

  • Kraken

    Kraken is an open-source modern math library that comes with a fast-fixed matrix class and math-related functions. (by yahya-mohammed07)

    Project mention: Comparing Floating-Point Numbers Is Tricky | reddit.com/r/cpp | 2022-03-10

    Wrote implementation for comparing floats in my library https://github.com/yahya-mohammed07/Kraken/blob/master/source/library/core/common/comp_decimal_point_nums.hpp

  • Matrix

    Easy-to-use Scientific Computing library in/for C++ available for Linux and Windows. (by mlcpp)

  • workingfastledanimations

    ws2812b esp32 / nodemcu fastled animations

    Project mention: Inquiring about led animations | reddit.com/r/FastLED | 2022-10-03

    Here's a git repo with some single file animations that are ready to dump in your ide and upload to your board. Theres videos of what they look like. I find the best way to learn for me is to mess around and change things to see what they are doing https://github.com/doctorpartlow/workingfastledanimations

  • vec-mat-comp-quat

    C++ 2d/3d/4d Vector, 2x2/3x3/4x4 Matrix, Complex Number, Quaternion, and 3d Transformation Classes / Functions (Header Only libraries)

    Project mention: Built my first CPU. What next? | reddit.com/r/cpudesign | 2022-01-17
  • Linear-Algebra

    Educational linear algebra algorithms

  • Mathril

    A custom mathematics library for game development

    Project mention: MATHRIL - Custom math library for game programming | reddit.com/r/cpp | 2022-07-06

    MATHRIL is a mathematics library for game programming in C++. It heavily uses operator overloading with r-value reference to thoroughly optimize performance and reduce memory consumption.

  • graphMat

    A matrix header-only library, uses graphs internally, helpful when your matrix is part of a simulation where it needs to grow many times (or auto expand)

  • HubAlyzer

    A spectrum analyzer display for HUB75 RGB LED panels and I2S microphones

  • fms_blas

    Lightweight BLAS (and some LAPACK) wrapper.

    Project mention: Should C++ adopt a standard matrix container? | reddit.com/r/cpp | 2021-12-20

    I do not have as much experience as you do, but I've written as simple BLAS wrapper for my own use. https://github.com/keithalewis/fms_blas One thing to keep in mind is the impedance mismatch between C++ and BLAS. Users must be aware of the memory required by BLAS routines in order to avoid copying/clobbering data.

  • Sonar

    Free webinar: The Power of Clean C++. Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-12-02.

C++ Matrix related posts


What are some of the best open-source Matrix projects in C++? This list will help you:

Project Stars
1 GLM 6,982
2 nheko 1,301
3 Quaternion 553
4 neo 455
5 hlslpp 352
6 TMatrix 330
7 MD_MAX72XX 242
8 Imath 220
9 monolish 176
10 TM16xx 109
11 libQuotient 107
12 TP_Arduino_DigitalRain_Anim 92
13 maths 90
14 Matrix 70
15 Kraken 24
16 Matrix 23
17 workingfastledanimations 21
18 vec-mat-comp-quat 10
19 Linear-Algebra 5
20 Mathril 3
21 graphMat 3
22 HubAlyzer 2
23 fms_blas 1
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.