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库。

  • 下载

官网:https://gmplib.org/

为了便于在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库的更多相关文章

  1. MAC上安装HEAAN库

    介绍 HEAN是一个软件库,它实现支持定点运算的同态加密(HE),此库支持有理数之间的近似运算.近似误差取决于某些参数,与浮点运算误差几乎相同.该库中的方案发表在"近似数算术的同态加密&qu ...

  2. 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(二):安装facebook-wda库并编写简易自动化测试脚本

    上一篇介绍完如何安装WDA,接下来开始正式安装开发库并编写自动化脚本. 目录: 一.安装facebook-wda库 二.通过WEditor定位元素 三.附录:学习资料 一.安装facebook-wda ...

  3. C++: Mac上安装Boost库并使用CLion开发

    1.下载安装Boost库 官网下载最新版本1.65.0:http://www.boost.org/users/history/version_1_65_0.html 选择UNIX版本: 下载后解压cd ...

  4. mac安装ocr

    mac安装Tesserocr 安装 Imagemagick 和 Tesseract 库: brew install imagemagick brew install tesseract --all-l ...

  5. mac 安装 nginx

    我是用root用户装的 1.先安装PCRE库 可以在这里下载最新版,我这里使用的是8.33的版本然后在终端执行下面的命令. cd ~/Download tar xvzf pcre-8.33.tar.g ...

  6. mac安装brew, bower

    Mac安装Brew 安装命令如下:curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/loc ...

  7. Mac安装Virtualenv & PyCharm使用Virtualenv

    我们使用Python开发的时候,每个项目可能需要不同的Python版本,这时候我们就需要Virtualenv配置虚拟环境. Mac安装Virtualenv sudo pip install virtu ...

  8. 【Mac安装,ATX基于uiautomator2】之安装步骤

    Mac系统下安装uiaotumator2: 参考网址:<uiautomator2>以及参考github官方文档 注意:下面有坑,如果你没有下面的问题请直接跳转到 1.安装uiaotumat ...

  9. Mac安装jupyter(原ipython)方法

    用了Mac之后非常不习惯,很多东西都要查才能完成=-=之前Python用的sublime和ide,今天看教程安利了一个jupyter 记录下用Mac安装jupyter的过程: 1.像其他安装Mac自带 ...

  10. Windows及MAC 安装Python3.7.4

    Windows没有Python环境,Mac自带Python 2,所以开发者需要下载Python 3进行开发相关工作,此文章介绍如何安装Python,Mac安装前可以在终端数输入python查看自带版本 ...

随机推荐

  1. 测试App出现闪退应对方法

    1.使用adb logcat 查看日志,使用adb logcat -f sdcard/log.txt(输出到手机上) ,先查看报错信息 2.保证主线程能够继续运行,避免在子线程中与UI交互 3.内存溢 ...

  2. ubuntu界面文件夹出现了很多隐藏文件夹如何不显示

    突然发现文件夹下很多隐藏文件夹都显示出来了,也不知道怎么弄得,想隐藏他们,百度提问无果,提到隐藏这种关键字全是ls这种让我终端查看文件列表. 自己仔细看了看文件夹资源管理器,发现有个按钮 就是这个选项 ...

  3. 洛谷P4913【深基16.例3】二叉树深度题解

    很简单的二叉树遍历问题,可以用dfs(深度优先搜索)解决. 看到数据范围,最大不超过 \(10^6\) ,可以不开 long long (但我还是习惯性地开了) 接下来上代码: #include< ...

  4. luasql报错笔记

    luasql 编译安装 查看mysql配置,注意 lmysqlclient 路径 [root@hmy luasql-master]# yum install mysql-devel gcc* -y [ ...

  5. Educational Codeforces Round 90 (Rated for Div2)

    Donut Shops 现在有两个超市,第一个超市的物品按件卖,每件商品的售价为\(a\)元:第二个超市的物品按箱卖,每箱有\(b\)件物品,每箱售价为\(c\)元,现在要让你买\(x\)和\(y\) ...

  6. 设计模式【3.3】-- CGLIB动态代理源码解读

    cglib 动态代理 cglib介绍 CGLIB 是一个开源项目,一个强大高性能高质量的代码生成库,可以在运行期拓展 Java 类,实现 Java 接口等等.底层是使用一个小而快的字节码处理框架 AS ...

  7. 从零开始学java(第一天)

    上班日学习时间很短,而且很多事情会耽搁,就会写的比较少 近几期的笔记以复习为主,后面会逐渐拓展对我个人来说的新知识 1. 复习了一下typore的语法,方便以后记笔记用 # MarkDown学习(# ...

  8. PythonDay3Advance

    PythonDay3Advance 运算符 位运算符 进制: 将整数分了几种进制表示法 二进制:由0,1构成,逢2进1,以0b开头 八进制:由0,1,2,3,4,5,6,7构成,逢8进1,以0开头 十 ...

  9. GPU 驱动漏洞:窥探驱动漏洞利用的技术奥秘

    GPU 驱动漏洞:窥探驱动漏洞利用的技术奥秘 本文尝试以 GPU 漏洞为引介绍围绕 GPU 驱动这一攻击面,安全研究人员对内核漏洞利用技术做的一些探索. 背景介绍 目前移动 SOC 平台上由多个硬件模 ...

  10. Flutter查漏补缺2

    Flutter的理念架构 Flutter架构分为三层 参考官方文档 Framework层(dart) flutter engine层(C/C++) embeder层(platform-specific ...