Skip to content

monkey0722/clavis

Repository files navigation

Clavis 🔑

A Treasury of Algorithms That Make Even Computers Laugh

Welcome to Clavis! Here, efficient algorithms and unnecessarily complex C++ code form an unstable relationship. If you find a bug, please call it a "feature." Big O notation is our only lover, computational complexity our best friend.

Requirements

Tool Version Install (macOS)
CMake 3.25+ brew install cmake
Ninja any brew install ninja
GTest any brew install googletest
LLVM any brew install llvm

Quick Setup (macOS)

brew install cmake ninja googletest llvm

Build & Test

# Build
cmake --preset debug
cmake --build --preset debug

# Test
ctest --preset debug

# Test (verbose)
ctest --preset debug --verbose

Available Presets

Preset Generator Use Case
debug Ninja Local development
release Ninja Production build
ci Unix Makefiles GitHub Actions

Code Quality

# Format
cmake --build build/debug -t format

# Format check
cmake --build build/debug -t format-check

# Lint
cmake --build build/debug -t lint

About

Collection of algorithms in C++

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published