Mac安装NTL库
Mac安装NTL库
NTL是一个高性能、可移植的C++库,为任意长度的整数提供数据结构和算法;用于整数和有限域上的向量、矩阵和多项式;以及任意精度的浮点运算。
具有以下功能:
任意长度整数运算和任意精度浮点运算;
整数和有限域上的多项式算术,包括基本算术、多项式分解、不可约判定、最小多项式计算、迹线、范数等计算;
格基归约,包括 非常健壮和快速的Schnorr-Euchner,实现、块 Korkin-Zolotarev 归约,以及块 Korkin-Zolotarev 的新 Schnorr-Horner 剪枝启发式;
整数、有限域和任意精度浮点数的基本线性代数。
NTL同时具备Unix、Mac OS或Windows任意平台上使用,NTL可与GMP一起构建以增强性能,NTL可与GF2X库一起构建,以便在GF(2)上快速计算大型多项式
安装环境:
macOS-M1-8核
GMP安装
GMP是一个用于长整数运算的库,对于基本运算(例如整数乘法),它比NTL的长整数快2-3倍,因此NTL库默认使用GMP库,所以安装NTL库之前首先安装GMP库。
- 下载
为了便于在Mac下解压缩,建议下载tar.xz版本

- 编译&安装
cd gmp-6.2.1
./configure --enable-cxx # 默认安装在/usr/local,在使用configure的时候要加上 --enable-cxx命令,否则不能使用c++库gmpxx.h
make -j8
make install

NTL安装
- 下载
地址:https://libntl.org/download.html

- 编译&安装
./configure NTL_GMP_LIP=on
make
sudo make install

- 测试
#include <iostream>
#include <NTL/ZZ.h>
using namespace std;
using namespace NTL;
int main(){
ZZ a(1);
cout << a << endl;
}
//cmakelists.txt
cmake_minimum_required(VERSION 3.23)
project(untitled)
set(CMAKE_CXX_STANDARD 14)
include_directories(/usr/local/include)
link_directories(/usr/local/lib)
add_executable(untitled main.cpp)
target_link_libraries(untitled libntl.a libgmp.a)
参考
1、https://blog.csdn.net/qq_38798147/article/details/126700646
2、https://blog.csdn.net/zha_ojunchen/article/details/89818011
Mac安装NTL库的更多相关文章
- MAC上安装HEAAN库
介绍 HEAN是一个软件库,它实现支持定点运算的同态加密(HE),此库支持有理数之间的近似运算.近似误差取决于某些参数,与浮点运算误差几乎相同.该库中的方案发表在"近似数算术的同态加密&qu ...
- 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(二):安装facebook-wda库并编写简易自动化测试脚本
上一篇介绍完如何安装WDA,接下来开始正式安装开发库并编写自动化脚本. 目录: 一.安装facebook-wda库 二.通过WEditor定位元素 三.附录:学习资料 一.安装facebook-wda ...
- C++: Mac上安装Boost库并使用CLion开发
1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...
- mac安装ocr
mac安装Tesserocr 安装 Imagemagick 和 Tesseract 库: brew install imagemagick brew install tesseract --all-l ...
- mac 安装 nginx
我是用root用户装的 1.先安装PCRE库 可以在这里下载最新版,我这里使用的是8.33的版本然后在终端执行下面的命令. cd ~/Download tar xvzf pcre-8.33.tar.g ...
- mac安装brew, bower
Mac安装Brew 安装命令如下:curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/loc ...
- Mac安装Virtualenv & PyCharm使用Virtualenv
我们使用Python开发的时候,每个项目可能需要不同的Python版本,这时候我们就需要Virtualenv配置虚拟环境. Mac安装Virtualenv sudo pip install virtu ...
- 【Mac安装,ATX基于uiautomator2】之安装步骤
Mac系统下安装uiaotumator2: 参考网址:<uiautomator2>以及参考github官方文档 注意:下面有坑,如果你没有下面的问题请直接跳转到 1.安装uiaotumat ...
- Mac安装jupyter(原ipython)方法
用了Mac之后非常不习惯,很多东西都要查才能完成=-=之前Python用的sublime和ide,今天看教程安利了一个jupyter 记录下用Mac安装jupyter的过程: 1.像其他安装Mac自带 ...
- Windows及MAC 安装Python3.7.4
Windows没有Python环境,Mac自带Python 2,所以开发者需要下载Python 3进行开发相关工作,此文章介绍如何安装Python,Mac安装前可以在终端数输入python查看自带版本 ...
随机推荐
- 测试App出现闪退应对方法
1.使用adb logcat 查看日志,使用adb logcat -f sdcard/log.txt(输出到手机上) ,先查看报错信息 2.保证主线程能够继续运行,避免在子线程中与UI交互 3.内存溢 ...
- ubuntu界面文件夹出现了很多隐藏文件夹如何不显示
突然发现文件夹下很多隐藏文件夹都显示出来了,也不知道怎么弄得,想隐藏他们,百度提问无果,提到隐藏这种关键字全是ls这种让我终端查看文件列表. 自己仔细看了看文件夹资源管理器,发现有个按钮 就是这个选项 ...
- 洛谷P4913【深基16.例3】二叉树深度题解
很简单的二叉树遍历问题,可以用dfs(深度优先搜索)解决. 看到数据范围,最大不超过 \(10^6\) ,可以不开 long long (但我还是习惯性地开了) 接下来上代码: #include< ...
- luasql报错笔记
luasql 编译安装 查看mysql配置,注意 lmysqlclient 路径 [root@hmy luasql-master]# yum install mysql-devel gcc* -y [ ...
- Educational Codeforces Round 90 (Rated for Div2)
Donut Shops 现在有两个超市,第一个超市的物品按件卖,每件商品的售价为\(a\)元:第二个超市的物品按箱卖,每箱有\(b\)件物品,每箱售价为\(c\)元,现在要让你买\(x\)和\(y\) ...
- 设计模式【3.3】-- CGLIB动态代理源码解读
cglib 动态代理 cglib介绍 CGLIB 是一个开源项目,一个强大高性能高质量的代码生成库,可以在运行期拓展 Java 类,实现 Java 接口等等.底层是使用一个小而快的字节码处理框架 AS ...
- 从零开始学java(第一天)
上班日学习时间很短,而且很多事情会耽搁,就会写的比较少 近几期的笔记以复习为主,后面会逐渐拓展对我个人来说的新知识 1. 复习了一下typore的语法,方便以后记笔记用 # MarkDown学习(# ...
- PythonDay3Advance
PythonDay3Advance 运算符 位运算符 进制: 将整数分了几种进制表示法 二进制:由0,1构成,逢2进1,以0b开头 八进制:由0,1,2,3,4,5,6,7构成,逢8进1,以0开头 十 ...
- GPU 驱动漏洞:窥探驱动漏洞利用的技术奥秘
GPU 驱动漏洞:窥探驱动漏洞利用的技术奥秘 本文尝试以 GPU 漏洞为引介绍围绕 GPU 驱动这一攻击面,安全研究人员对内核漏洞利用技术做的一些探索. 背景介绍 目前移动 SOC 平台上由多个硬件模 ...
- Flutter查漏补缺2
Flutter的理念架构 Flutter架构分为三层 参考官方文档 Framework层(dart) flutter engine层(C/C++) embeder层(platform-specific ...