# An algorithm library {#mainpage}
[](https://github.com/tqfx/a/actions/workflows/msvc.yml)
[](https://github.com/tqfx/a/actions/workflows/linux.yml)
[](https://github.com/tqfx/a/actions/workflows/macos.yml)
[](https://github.com/tqfx/a/actions/workflows/mingw.yml)
[](https://github.com/tqfx/a/actions/workflows/msys2.yml)
[](https://github.com/tqfx/a/actions/workflows/freebsd.yml)
[](https://github.com/tqfx/a/actions/workflows/doxygen.yml)
## required tools
- C/C++ compiler: [gcc](https://gcc.gnu.org) or [llvm](https://llvm.org) or [msvc](https://visualstudio.microsoft.com/visual-cpp-build-tools) etc
- [cmake](https://cmake.org/download)
## optional tools
- [python](https://www.python.org/downloads)
## setup
### python packages
```bash
python -m pip install -r requirements.txt
```
## build
### release
```bash
cmake -S . -B build
cmake --build build
cmake --install build
```
### cython
```bash
python setup.py build_ext --inplace
```
### wheel
```bash
python setup.py bdist_wheel
```
## using
### cmake
```cmake
find_package(a CONFIG REQUIRED)
target_link_libraries(<TARGET> PRIVATE a::a)
```
## Copyright {#copyright}
Copyright (C) 2020 tqfx, All rights reserved.
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.