
Perpustakaan Numerik Komposisi (CNL) adalah perpustakaan C ++ dari kelas numerik presisi tetap yang meningkatkan bilangan bulat untuk memberikan tipe aritmatika yang lebih aman, lebih sederhana, lebih murah. Dokumentasi dapat ditemukan di sini. Anda dapat mencoba CNL di Compiler Explorer di sini.
CNL sangat cocok untuk:
Versi terbaru CNL membutuhkan rantai alat C ++ 20 yang kompatibel. (Versi 1.x mendukung C ++ 11.) CNL terus diuji pada sistem berikut:
Diuji:
Diuji:
Diuji:
Skrip cmake disediakan.
mkdir build && cd build
cmake ..
cmake --build . --target install Catatan: Anda mungkin memerlukan hak istimewa pengguna untuk menginstal perpustakaan. Atau, Anda dapat menginstal ke direktori pengguna menggunakan CMAKE_INSTALL_PREFIX :
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX:FILE=/home/username/someplace ..
cmake --build . --target installAtau, CNL adalah perpustakaan header saja sehingga Anda bisa menunjuk ke direktori include
c++ -isystem /path/to/cnl/include -std=c++20 my_program.cppAtau bahkan menyertakan header root langsung ke dalam kode Anda:
# include " /path/to/cnl/include/cnl/all.h "Test Suite menggunakan CMake dan tergantung pada Google Test dan Google Benchmark. Tes Integrasi Opsional Gunakan Boost.MultipRecision.
Conan dapat digunakan untuk menarik ketergantungan penting. Contoh ini mengasumsikan GCC tetapi file rantai alat lain disediakan:
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 ..... dan kemudian mengkonfigurasi, membangun dan menjalankan tes unit:
conan build --configure --build --test .. Untuk menjalankan tolok ukur, gunakan --options test=benchmark ...
conan install --build=missing --options test=benchmark ..Kemudian konfigurasikan dan bangun
conan build --configure --build ..dan akhirnya berjalan secara eksplisit untuk melihat hasilnya.
./test/benchmark/test-benchmarkAPI diekspos melalui header di direktori termasuk. Tambahkan ini ke daftar header sistem Anda dan sertakan, misalnya:
// to use a specific type:
# include < cnl/scaled_integer.h >
// or to include all CNL types:
# include < cnl/all.h > Contoh proyek menggunakan CNL:
Semua umpan balik sangat dihargai.