
Композиционная числовая библиотека (CNL) представляет собой библиотеку C ++ численных классов с фиксированным определением, которая усиливает целые числа для обеспечения более безопасных и более дешевых арифметических типов. Документация можно найти здесь. Вы можете попробовать CNL на компиляторах Explorer здесь.
CNL особенно хорошо подходит для:
Последняя версия CNL требует C ++ 20-совместимой цепочки инструментов. (Версия 1.x поддерживает C ++ 11.) CNL постоянно тестируется в следующих системах:
Проверено:
Проверено:
Проверено:
Сценарии Cmake предоставляются.
mkdir build && cd build
cmake ..
cmake --build . --target install Примечание: вам могут понадобиться привилегии пользователей для установки библиотеки. В качестве альтернативы, вы можете установить в Directory с помощью CMAKE_INSTALL_PREFIX :
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX:FILE=/home/username/someplace ..
cmake --build . --target installВ качестве альтернативы, CNL является библиотекой только для заголовков, поэтому вы можете просто указать на каталог включения
c++ -isystem /path/to/cnl/include -std=c++20 my_program.cppили даже включите заголовок корня непосредственно в ваш код:
# include " /path/to/cnl/include/cnl/all.h "Тестовый набор использует Cmake и зависит от Google Test и Google Benchmark. Дополнительные интеграционные тесты Используйте boost.multiprecision.
Конан может быть использован для привлечения основных зависимостей. Этот пример предполагает GCC, но предоставляются другие файлы цепочки инструментов:
cd build
conan profile new --detect --force default
conan profile update settings.compiler.libcxx=libstdc++11 default # GCC/Clang only
conan profile update env.CONAN_CMAKE_TOOLCHAIN_FILE=../test/toolchain/gcc.cmake default # GCC only
conan install --build=missing --options test=unit ..... а затем настроить, создать и запустить модульные тесты:
conan build --configure --build --test .. Чтобы запустить тесты, используйте --options test=benchmark ...
conan install --build=missing --options test=benchmark ..затем настроить и построить
conan build --configure --build ..и, наконец, бегите явно, чтобы увидеть результаты.
./test/benchmark/test-benchmarkAPI выставлен через заголовки в каталоге включить. Добавьте это в свой список заголовков системы и включите, например:
// to use a specific type:
# include < cnl/scaled_integer.h >
// or to include all CNL types:
# include < cnl/all.h > Примеры проектов с использованием CNL:
Все отзывы высоко ценились.