https://github.com/librapid/librapid_legacy
LEGACY LIBRAPID FILES -- VERSION 2 CONTINUED IN "librapid"
https://github.com/librapid/librapid_legacy
Last synced: 8 months ago
JSON representation
LEGACY LIBRAPID FILES -- VERSION 2 CONTINUED IN "librapid"
- Host: GitHub
- URL: https://github.com/librapid/librapid_legacy
- Owner: LibRapid
- License: mit
- Created: 2022-10-17T18:49:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-07T00:15:21.000Z (over 3 years ago)
- Last Synced: 2025-02-15T02:43:31.393Z (over 1 year ago)
- Language: C++
- Size: 90.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Citation: CITATION.cff
- Security: SECURITY.md
Awesome Lists containing this project
README
   [](https://discord.gg/cGxTFTgCAC)  
---
[](https://github.com/LibRapid/librapid/actions/workflows/build-windows.yaml)
[](https://github.com/LibRapid/librapid/actions/workflows/build-linux.yaml)
[](https://github.com/LibRapid/librapid/actions/workflows/build-macos.yaml)
[](https://github.com/LibRapid/librapid/actions/workflows/wheels.yaml)
[](https://librapid.readthedocs.io/en/latest/?badge=latest)
---
# What is LibRapid?
LibRapid is a high performance Array library, supporting a wide range of optimised calculations which can be performed
on the CPU or GPU (via CUDA). All calculations are vectorised with SIMD instructions and are run on multiple threads (if
necessary) to make them as fast as possible on any given machine.
There are also a wide range of helper functions and classes to aid the development of your own project.
LibRapid is highly templated, meaning it can conform to exactly your needs with minimal compile-times and even support
for custom datatypes.
# Current Development Stage
At the current point in time, LibRapid C++ is under rapid development by
me ([pencilcaseman](https://github.com/Pencilcaseman)).
I am currently doing my A-Levels and do not have time to work on the library as much as I would like, so if you or
someone you know might be willing to support the development of the library, feel free to create a pull request or chat
to us on [Discord](https://discord.com/invite/cGxTFTgCAC). Any help is greatly appreciated!
# Future Plans
My goal for LibRapid is to develop the C++ interface further, at least initially. At some point I want to add Python and
Javascript interfaces (in that order) to increase the range of people who can benefit from the library, but the most
important thing is the performance of the underlying C++ code.
# External Dependencies
LibRapid has a few external dependencies to improve functionality and performance. Some of these are optional, and can
be included with a CMake option. The following is a list of the external dependencies and their purpose:
- Required
- [fmt](https://github.com/fmtlib/fmt) - Advanced string formatting
- [scnlib](https://github.com/eliaskosunen/scnlib) - Advanced string parsing
- [thread-pool](https://github.com/bshoshany/thread-pool) - Thread pool for parallel execution
- Optional
- [OpenMP](https://www.openmp.org/) - Multi-threading library
- [CUDA](https://developer.nvidia.com/cuda-zone) - GPU computing library
- [mpfr](https://github.com/Pencilcaseman/mpfr) - Arbitrary precision numbers (integer, real, rational)
- [Vc](https://github.com/VcDevel/Vc) - SIMD library
# Star History
[](https://star-history.com/#LibRapid/librapid&Date)
# Support
Thanks to JetBrains for providing LibRapid with free licenses for their amazing tools!