A collection of algorithms in numerical analysis implemented in C++.
- Main in GitLab: https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp
- Mirror in GitHub: https://github.com/MusicScience37/numerical-collection-cpp
This library can be used via vcpkg using following configurations:
-
Add a vcpkg registry
https://gitlab.com/MusicScience37Projects/vcpkg-registry
invcpkg-configuration.json
.Example:
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", "default-registry": { "kind": "git", "repository": "https://github.com/Microsoft/vcpkg", "baseline": "78b61582c9e093fda56a01ebb654be15a0033897" }, "registries": [ { "kind": "git", "repository": "https://gitlab.com/MusicScience37Projects/vcpkg-registry", "baseline": "f7fcc04f34f351a91796eaa0b386017e961a51b4", "packages": ["cpp-hash-tables", "numerical-collection-cpp"] } ] }
-
Add
numerical-collection-cpp
invcpkg.json
Example:
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "dependencies": ["numerical-collection-cpp"] }
A development environment including dependencies can be created using Devcontainer of VSCode.
To build this repository, you will require following dependencies:
- Python 3.12
- You may want to use pyenv.
- poetry
- Required Python packages can be installed using poetry.
Execute the command
poetry install
on this directory. - pre-commit
will be installed via poetry, and used for some checks.
Execute
poetry run pre-commit install
on this directory if you develop this library.
- Required Python packages can be installed using poetry.
Execute the command
- CMake
- C++ 20 Compiler
- Following compilers are tested in CI:
- GCC 13
- Clang 19
- MSVC 19
- Following compilers are tested in CI:
Additionally, you will require following dependencies to build documentation.
- Doxygen
- Graphviz
- PlantUML
- Set
PLANTUML_JAR_PATH
environment variable to specify the place ofplantuml.jar
file.
- Set
- Java runtime environment (JRE) for PlantUML.
After installation of dependencies, execute the following commands to build:
-
Start a shell of poetry.
cd <this-directory> poetry install poetry shell
-
Download vcpkg if you haven't already.
git submodule update --init
-
Build vcpkg.
-
On Windows:
.\vcpkg\bootstrap-vcpkg.bat
-
On Linux:
./vcpkg/bootstrap-vcpkg.sh
-
-
Configure.
mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
-
Optionally edit options.
<some-editor> CMakeCache.txt
-
Build.
cmake --build .
-
Optionally run tests.
ctest
This project uses gperftools for profiling. See documentation of profiler in gperftools for usage of the profiler.
This project is licensed under Apache License, Version 2.0.