问题标签 [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 投票
1 回答
283 浏览

scala - scala 将 GMPUtil 用于 pidigits

Rex Kerr 发布了有关在 scala 中使用 GMP 的信息,特别是运行 pidigits 程序。libjpargmp.so 是使用 GmpUtil.c 生成的

我的问题是:我在哪里可以找到 GMPUtil.c?我的谷歌搜索没有出现任何东西。

问候,道格

0 投票
1 回答
242 浏览

php - 为什么 gmp_mod 在不同平台上会产生不同的结果?

请考虑这个片段(与How is 13 % 64= -13相关)

在我的 Win7、x64 上,这会产生

这很奇怪,因为在http://codepad.viper-7.com/gqN5aa它只产生 51 。

gmp_mod我在 PHP Bugtracker 上找不到错误。但是手册页上也没有任何内容暗示不同的可能结果。而且我不明白为什么它会产生不同的结果。

请运行上面的代码片段并发布输出以及您正在使用的操作系统和 CPU 架构,这样我可以确认它不仅仅是我的机器在运行。

此外,如果您知道这是一个已知问题还是预期行为,请指向错误跟踪器中的链接。否则我会用收集到的结果打开一个错误。

谢谢!

PS请让我知道我是否应该为此请求CW。否则,我会将指向 bugtracker 的链接作为答案(除非有人提出令人信服的解释)。

0 投票
2 回答
921 浏览

c++ - 使用 GNUMP 如何找到 base10 的对数

我在 C++ 中遇到问题。我需要一个比标准 C++ 双精度更精确的双精度。(C++ long double 甚至还不够)所以.. 我发现 GNUMP 确实让我满意.. 但是..

我如何找到给定数字的以 10 为底的对数..

0 投票
1 回答
525 浏览

c++ - BigInt 转换(gmp Bigint 到 botan bigint)

我正在使用 gmp 执行复杂的操作。我想用 Botan 来执行密码学功能。问题是它们都有自己的 Bigint 函数。因此,将 gmp 函数中使用的 bigint 值提供给 Botan 函数会产生问题。

有人可以帮忙吗?

0 投票
0 回答
752 浏览

c++ - win xP SP2下QT中使用gmp库的问题

我在 Windows XP SP2 下的 Qt 项目中使用 GMP 库时遇到问题。

当我运行我的 Qt 应用程序时,有时它可以工作,有时它不能。当应用程序崩溃时,它会显示一条带有消息“Microsoft Visual C++ 运行时库运行时错误”的警告或挂起几分钟。有时它有效(并且没有错误)

以下是一些细节:

我使用 QT 版本 4.3.2(开源)编译器:mingw32 版本:GNU Make 3.80 GCC:3.4.5(mingw 特殊)G++:3.4.5(mingw 特殊)gmp 4.3.2 我的 cpu 类型:x86 系列

我使用 MSYS 1.0.11 成功编译了 GMP 库:

./configure --prefix=/gmp/install --enable-cxx

制作

进行安装

这是我的 Qt pro.file 内容:

这是我在 Qt 中使用 GMP 库的应用程序功能的一部分:

跟踪问题后,我发现我的问题位于nilaiz.get_str(exponent, 10, 0)调用该mpf_get_str函数的函数处gmpxx.h

当我从我的应用程序中删除它(不调用nilaiz.get_str(exponent, 10, 0)函数)时,应用程序运行良好且没有错误。

但我需要将该函数转换mpf_t zQString(Qt 中的字符串或char *)。

为什么会这样?接下来我该怎么办?还是我在编译 GMP 库时遗漏了什么,或者我应该在配置 GMP 时添加一个 xtra 选项,还是使用该函数存在错误?

我需要帮助或建议。谢谢!

此致

aansd

0 投票
5 回答
25700 浏览

windows - 在 64 位 Windows 上构建 GMP

我已按照“Windows 平台的 GMP 安装说明”中的说明进行操作。我可以构建一个可用于 Visual Studio 的 32 位版本的 GMP。

然后我在另一台机器(运行 64 位 Windows)上安装了 mingw_w64 和 msys 并重新运行命令。

./configure 运行没有任何问题。但是,当我运行“make”时,我得到了以下信息。

如果我改用“gmake”,则会显示以下错误。

我不熟悉C++ make。我是否需要指定任何标志来通知 mingw_w64 我正在为 64 位构建?谢谢。

0 投票
1 回答
1145 浏览

gmp - 使用 Visual C++ 2010 编译 MPIR

我正在尝试从命令行编译 MPIR(对 Windows 友好的 GMP 分支)。我的设置非常标准,Windows Vista 32 位,Visual C++ 2010 速成版,我只是想要一个完全普通的 32 位静态库构建,而不是尝试使用 IDE。我可以通过谷歌搜索找到的信息说:

  1. 安装相应版本的 yasm。
  2. 进入 build.vc10
  3. 配置.bat
  4. 制作.bat

我设法达到第 3 步似乎可行,并通过第 4 步中的第一个障碍,但现在它在 make.bat 中的这条线上绊倒了:

据我运行的搜索可以确定,整个目录树中的任何地方都没有 gen-mpir ,也没有任何其他引用。我错过了什么?

0 投票
2 回答
1665 浏览

php - GMP 位移不适用于负数

我在 php.net 找到了这个函数。它似乎适用于正数,但对负数无效:

如何修复该功能以使用底片?

我有两个想法:

也许我可以做一些类似的事情

或者,也许我可以根据它们的价值从负面结果中减去一些东西..?

我只想获得 >> 会给出的值,但在我使用 GMP 时也获得 >32 位数字的值。

0 投票
3 回答
878 浏览

c - 关于 typedef 中的单实例数组的一些问题

我正在使用 GNU Multi-Precision (GMP) 库代码阅读一些使用任意长度整数的代码。MP 整数的类型mpz_t在 gmp.h 头文件中定义。

mpz_t但是,我对这个库定义类型的低级定义有一些疑问。在标题代码中:

第一个问题:[1]关联是否与__mpz_struct?换句话说,是否将类型typedef定义为一次出现的数组?mpz_t__mpz_struct

第二个问题:为什么是数组?(为什么只出现一次?)这是我听说过的那些结构黑客之一吗?

第三个问题(可能与第二个问题间接相关):该mpz_init_set(mpz_t, unsigned long int)函数的 GMP 文档说仅将其用作按值传递,尽管人们会假设该函数将在被调用函数中修改其内容(因此需要通过引用)语法。参考我的代码:

单次出现的数组是否会自动启用按引用传递(由于 C 中数组/指针语义的分解)?我坦率地承认我有点过度分析了这一点,但我当然喜欢对此进行任何讨论。谢谢!

0 投票
1 回答
5444 浏览

c++ - GMP整数位数

有没有一种简单的方法来确定 GMP 整数的位数?我知道您可以通过日志确定它,但我想知道库中是否有一些我缺少的东西。我在手册中找到的唯一内容是:

_mp_size 肢体的数量,或表示负整数时的负数。零由 _mp_size 设置为零表示,在这种情况下,_mp_d 数据未被使用。

但我的印象与我正在寻找的完全不同。

IE

124839 = 6 位数。