问题标签 [gmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
886 浏览

c - mpfr_t 的类型是什么,如何制作这种类型的 C 函数?

我刚刚开始使用 GMP 和 MPFR。我正在用 C 语言编写一个程序,并希望创建一个函数,该函数(例如)将 mpfr_t 变量作为输入并返回一个 mpfr_t 变量。我不确定 mpfr_t 的定义,但我天真地尝试这样做并得到编译错误。

任何有关此的信息将不胜感激。

0 投票
1 回答
905 浏览

c - 将 Base64 转换为 GMP 整数

我有一个场景,我得到一个 Base64(64 位编码)字符串。我的要求是将此字符串转换为 gmp 整数(mpz_t)。

但根据GMP 手册,函数 mpz_set_str() 的“基数可能从 2 到 62 不等”。

有什么方法可以让我成功转换吗?一个让我印象深刻的想法是将 Base64 转换为二进制,然后使用基数为 2 的 mpz_set_str 设置 mpz_t 变量。

帮助将不胜感激。谢谢。

0 投票
4 回答
2628 浏览

gcc - 让 MPFR 在 cygwin 上构建

我花了一整天的时间来设置 GCC

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

在 gcc make 步骤中,它告诉我无论出于何种原因它都需要一个 c++ 编译器来继续,所以我以通常的方式更新了 Cygwin 并获得了 gcc-c++。

之后,cgywin 帮我删除了我之前安装的 3 个 prereq 库,

所以我开始重新制作它们。GMP 工作正常,然后我进入 MPFR。无论出于何种原因,MPFR 都会引发此错误:

资源在这里提到了这个错误

我很确定它可以找到 GMP,因为 cygcheck 显示它没有问题,配置甚至提到它找到了它。

当我尝试:

它抛出:

到目前为止,尽管谷歌搜索并尝试了几个小时,但我仍然无法让 MPFR 正常工作。

MPC 也无法以通常的方式找到 GMP。

我还尝试将库交给子目录中的 GCC 并让它编译它们。

当我尝试这样做时,它会进入 make 步骤,然后抛出stage1-bubble错误并失败。没有错误或任何内容的描述。

我不知道还能尝试什么。

0 投票
1 回答
256 浏览

qt4 - 将 GMP/MPIR 编号存储在 QList 中

我正在尝试使用 QT4.7 和 MPIR 库(v. 2.3.1)用 C++ 编写程序。在某些计算过程中,我需要存储动态数量的 mpz_t(整数存储类型),并希望为此使用 QList 或 QVarLengthArray。我已经成功地设置了一个关于如何做到这一点的基本测试,但它看起来如此丑陋和完全错误,我想要求一个更好的方法来做到这一点。

我的示例程序:

(在Windows 7/MSVC2010 SP1/QT4.7.3/MPIR2.3.1下编译)输出是正确的,但我怀疑它是一种有效甚至安全的存储mpz_t的方式。

请让我知道如何实现这一目标:)

0 投票
1 回答
1254 浏览

c++ - 安装 GMP 数学库

如何在 Windows 的代码块中使用 GMP?我浏览了整个互联网,但没有找到有关如何操作的说明。

  • 我找到的所有说明都是针对 VC++ 的,并且完全过时了。
  • 自述文件中的说明都是针对linux的,对我来说毫无用处。windows 不知道如何运行.autoconfig文件,我也不知道。
  • 没有文件夹可以添加到我的编译器搜索目录中,除非它是整个 gmp 文件夹本身。任何地方都没有 lib 或包含文件夹

  • 此外,下载的 tar.gz 或 tar.bz 中的任何地方都没有“gmp.h”文件,所以我不知道如何将它包含在我的程序中

我该怎么办?

0 投票
1 回答
758 浏览

c - gmp整数的字符串输入的最大长度?

我正在尝试实现加密功能。要求我的字符串输入长度可能为 10000 字节。因此,为了与 gmp 变量 (mpz_t) 一起使用,我必须将此字符串输入转换为 mpz_t 变量。

gmp(BigInteger)库手册对此只字未提:可以转换为 mpz_t 变量的字符串的最大长度是多少?

mpz_set_str() 函数是我遇到的唯一一个。如果有人能对这个问题有所了解,将不胜感激。

0 投票
1 回答
98 浏览

c - 使用 GMP 库执行文件时出错

我已经安装了很多次 gmp 库并运行了几个程序。每次在“成功”编译后运行我的第一个程序时,我都会遇到以下错误。

经过大量查看网络后,我无法正确解决此问题。

PS:其中一个论坛中的一个建议是在我认为/usr/lib 中创建指向库文件的链接。但它在同一个线程中受到了严厉的谴责。

最终我希望我的代码运行。对此问题的快速解决方案将不胜感激。

谢谢!!

0 投票
2 回答
1271 浏览

biginteger - GMP限制大整数

我对大整数的 GMP 库有疑问。我使用函数设置大整数

mpz_t 数;

mpz_init(num);

mpz_set_str(num,"123456789012345678901234567890123456789012345678901234567890123456789012341234567890123456789012345678901234567890123456789012345678901234567890123412345678901234567890123456789012345678901234567890123456",10);

当我打印这个数字 gmp_printf("%Zd",num) 结果是错误的。有什么限制吗?数字是不是太大了?我不认为...

0 投票
2 回答
4748 浏览

c - mpz_t 到 unsigned long long 的转换(gmp lib)

有没有办法在 C 中将 mpz_t 变量转换为 unsigned long long?反过来,从 ull 到 mpz_t 怎么样?gmp 库不支持这一点,因为 ull 是 C99 的一部分。我找到了这个,但它是用 c++ 编写的,我不知道如何用 c++ 编写代码。提前致谢。

0 投票
2 回答
47298 浏览

gnu - 如何向 LDFLAGS 添加路径

我正在尝试建立一个名为PBC(基于配对的密码学)的库。而这个库需要另一个名为GMP的库-(GNU 多精度库)。

我的问题是正确安装 GMP 后,PBC 给出错误:

未找到 gmp 库将其路径添加到 LDFLAGS

我不知道是什么LDFLAGS以及如何将其添加到路径中。

PS:我正在使用 MinGW。