include Loading last commit info...
src
tests
.gitignore
CMakeLists.txt
LICENSE
Makefile
README.md
clanggen.sh
mkdocs.yml
README.md

libflint

My personal library of common C data structures and algorithms. Supports Linux, macOS, OpenBSD, and FreeBSD.

Documentation

Extensive documentation can be found here. You can also check out the per-module test files in tests/ for example usage.

Building

libflint requires Cmake to be built. It can then be built using either cmake or make with the provided build files. The Makefile is a wrapper around Cmake for Makefile compatibility.

Cmake

# If libflint is in ./lib/libflint
add_subdirectory(lib/libflint)

# when building target...
target_include_directories(${TARGET} PRIVATE lib/libflint/include)
target_link_libraries(${TARGET} PRIVATE flint )

Testing

cmake -B build && cmake --build build
ctest --test-dir build                # run all tests
ctest --test-dir build --parallel     # run in parallel
ctest --test-dir build --label-exclude slow  # skip slow tests (network, macos)

Requirements

Building on Linux requires libbsd. Building on macOS, OpenBSD, or FreeBSD requires no extra dependencies.

Libraries

libflint includes uthash for a hash table implementation. uthash is a single header file included in the source code of libflint. See the top of include/uthash.h for license information

Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover