https://github.com/dubzzz/various-algorithms
Various Algorithms
https://github.com/dubzzz/various-algorithms
algorithm constexpr property-based-testing template-metaprogramming test-driven-development
Last synced: 8 months ago
JSON representation
Various Algorithms
- Host: GitHub
- URL: https://github.com/dubzzz/various-algorithms
- Owner: dubzzz
- License: mit
- Created: 2016-12-24T18:18:51.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2021-02-12T21:57:50.000Z (almost 5 years ago)
- Last Synced: 2025-01-25T22:37:20.124Z (10 months ago)
- Topics: algorithm, constexpr, property-based-testing, template-metaprogramming, test-driven-development
- Language: C++
- Size: 393 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Various Algorithms [](https://travis-ci.org/dubzzz/various-algorithms)[](https://ci.appveyor.com/project/dubzzz/various-algorithms)
## Aim of this repository
The aim of this repository is to test and make use of the new possibilities offered by new releases of C++.
These capabilities are evaluated accross various classical implementations and algorithms.
It also wants to make use of:
- modern test frameworks (GTest, property-based testing using RapidCheck)
- continuous integration
- static analysis
- memory profiling
- leaks detection
## Minimum requirements
- CMake 2.8.8
- Compiler compatible with C++14 (partial support might be enough)
- G++ 5.1 or later (tested using 4.9 with flags removing missing features)
- Clang 3.4 or later
- Visual Studio 14.0 2015 or later
## How to add your own implementation?
In order to add your own implementation you just have to create it inside the project directory.
For template-based or constexpr-based implementations (the ones requiring computations at compile time), your implementation will have to be put in a ```.hpp``` which will directly be inluded into the ```main.cpp``` test file as the header.
Implementation's name has to follow the following rules:
- implem.cpp or implem_*.cpp and include aim.hpp
- or implem.hpp or implem_*.hpp which would be included as header file