A modern C++23 library for lock-free Monte Carlo simulations.
lfmc/
├── include/lfmc/ # Public header files
├── src/ # Source files
├── tests/ # Unit tests
├── examples/ # Example applications
├── docs/ # Documentation
├── cmake/ # CMake modules
└── CMakeLists.txt # Main CMake configuration
- C++23 compatible compiler (GCC 12+, Clang 16+, or MSVC 2022+)
- CMake 3.28 or higher
There are currently 6 presets: base, debug, release, clang-debug, gcc-debug, and msvc-debug.
cmake --preset <preset-name>
cmake --build --preset <preset-name>LFMC_BUILD_TESTS: Build tests (default: ON)LFMC_BUILD_EXAMPLES: Build examples (default: ON)LFMC_BUILD_DOCS: Build documentation (default: OFF)
ctest --preset <preset-name>Include the library in your CMake project:
find_package(lfmc REQUIRED)
target_link_libraries(your_target PRIVATE lfmc)| Technology | Purpose |
|---|---|
| C++23 | C++23 standard for modern tools |
| Ninja | Build system generator for efficient builds |
| CMake | Build configuration and management |
| Catch2 | Unit testing framework |
| Doxygen | Documentation generation |
| GitHub Actions | CI/CD |
See LICENSE file for details.