问题标签 [mpfr]

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 回答
3047 浏览

linux - libmpfr.so.4 依赖与 --disable-shared

每个人!我有同样的结果**

加载共享库时出错:libmpfr.so.4:无法打开共享对象文件:没有这样的文件或目录

但在另一个配置下:

在 GCC 源代码树中存在 gmp、mpc、mpfr

我的问题是如何--disable-shared 将 cc1 与 gcc 构建结果中存在的libmpfr.so.4insteed static链接起来:libmpfr.a

0 投票
1 回答
404 浏览

c++ - 与 boost::multiprecision 或其他选项配合得很好的多精度 Python 库?

我正在开发一个围绕多精度“复杂”数字的项目,特别是它是一个基于 Mandelbrot 集的应用程序,但需要在(快速)C++ py 扩展模块(boost、cython 或其他...) 以及可能想要使用它的纯 python 模块。

现在,我正在使用 boost::multiprecision 来包装 MPFR 原始类型,是的,如果我只是想将 mpfr_t 传递给 python,那将是一回事。但是,对于这个应用程序,我需要将 C++ 模块的结果存储为稍后将由 Python 模块解释的字符串,并且需要提供相同的数字。

BigFloat 应该是 MPFR python 包装器,但它不会以与 boost::multiprecision 的 data() 方法完全相同的方式解释 X 精度浮点的字符串文字。

有谁知道库的组合加上一种确实导致 C++ 和 Python 字符串文字之间精确对应的任意精度浮点数的方法?

如果需要说明问题,我可以提供代码摘录,但我认为这太神秘了,如果有人有答案,他们就会确切地知道我的意思以及如何解决它。

0 投票
2 回答
1845 浏览

python - python 'bigfloat' 包安装问题

我正在尝试在我的 Mac(OS X 10.8.4)上安装包“bigfloat”,但遇到了一些问题。包“bigfloat”需要另外两个依赖项:1) mpfr 和 2) gmp。

我在这里安装了 gmp:http: //gmplib.org/ <-- 这似乎工作正常。

但是安装 mpfr 并不容易(http://www.mpfr.org/mpfr-current/mpfr.html#Installing-MPFR)。他们说只需 ./configure、make 和 make install 即可运行,但我收到此错误:

我用谷歌搜索,人们建议在配置命令中指定路径,但到目前为止我还没有运气。任何帮助,将不胜感激!

作为参考,我正在查看 mpfr-3.1.2(位于目录:/Users/myusername)和 gmp-5.1.2(位于同一目录中)。

谢谢!

0 投票
0 回答
109 浏览

c++ - 是否可以简化 MPFR 中的价值创造/使用?

假设我想使用MPFR来计算 pi;我有以下代码,它有效:

这相当于“pi = 2 * arcsin(1)”。我认识到 MPFR 永远不会完全退出键盘,但我是这个库的新手,我想知道是否有办法避免定义变量“one”;即,我希望代码看起来像这样:

我可以很容易地自己写一些东西,它需要一个 double 并返回一个 mpfr_t 对象,以代替 <...>。我真正的问题是:这是否已经内置到 MPFR 的某个地方?

编辑:我忘了提到自己构建一个函数来返回一个 mpfr_t 对象不是一个好的解决方案,因为它会导致内存泄漏。该变量必须在效用函数内部进行初始化,然后就无法清除它。我知道的唯一解决方案是为所有特殊函数编写包装器,例如 arcsin 和 log。我想要一个更清洁的解决方案,最好使用 MPFR 内置的东西。

0 投票
0 回答
620 浏览

c++ - 如何在 mpir 和 mpfr 之间进行选择

我需要用大量数字进行一些计算,而且我需要非常高效和快速地完成它。大多数数字都是整数,但最后我将其中的两个除以得到一个有理数,我可以使用双精度数来保持。

我使用 Microsoft Visual Studio(在 Windows 上编写 c++ 或 c),据我所知,MPIR 是最佳选择。但也许 MPFR 更适合我的需求?我应该什么时候选择 MPFR,什么时候选择 MPIR?

谢谢!

0 投票
1 回答
330 浏览

c - 我需要将 mpfr 实数转换为 gmp 位整数

我正在编写一个程序,它对整数和浮点数进行运算。起初,我为它们使用了 GMP 库,但 GMP 在浮点上没有诸如 sin、cos、exp 等函数。所以,我切换到 MPFR 库,所有文件都去了。但是现在(在第一步计算之后),我需要截断结果,并将它们存储在 GMP 大整数(mpz_t)中。MPFR 没有整数函数。但是我的结果在 mpfr_t 中,我怎样才能将它们转换为 mpz_t?(或在 mpf_t 中,然后我可以自己将它们转换为 mpz_t)。

0 投票
0 回答
161 浏览

c++ - 使用字节数组初始化 mpfr::real 变量

我正在使用mpfr::realMPFR 的包装器来进行固定的任意精度计算。有没有一种将模板化mpfr::real类型初始化为任意大小的整数(表示为字节数组)的好方法?例如,一个 128 位整数可以用 表示unsigned int[4]

0 投票
1 回答
6253 浏览

c++ - 在哪里可以找到 MPFR 的 Visual Studio 2008 项目构建文件?或者如何自己创建这样的构建文件?

我是一个新的 C++ 用户,并且只安装了 Visual Studio 2008。从这个链接看来: Brian Gladman's Home Page

已经有“Visual Studio 2010 project build files for building MPFR”,仅适用于VC2010,我的VS无法打开。 mpfr.svn.build.vc10.zip

我的问题是:1)在哪里可以找到 VS2008 的版本?2) 或者我如何自己制作它,因为已经有新的 mpfr 更新?mpfr 的项目文件

谢谢你!

######### 问题解决了

解决方法:下载这个预编译好的mpfr并配置VC编译器就OK了! mpfr_mpir_x86_x64_msvc2010.zip

0 投票
3 回答
16782 浏览

c++ - How to install MPFR and GMP for C++ on visual studio

As I understand, I should first install GMP. The only tutorial I found for this purpose is http://cs.nyu.edu/exact/core/gmp/ and when I reach step 3: "Open gmp.dsw (gmp.vcproj for VC++.Net) to build GMP" I get many building errors. You can download it here: http://www.f2h.co.il/msbz68nzzip. There are many errors like "fatal error C1083: Cannot open include file: 'fib_table.h': No such file or directory".

Is there an other tutorial? What should I do?

I'm using Visual Studio 2010 on Windows 7.

0 投票
1 回答
3752 浏览

visual-studio-2010 - 如何在我自己的电脑上重建 mpfr.svn.build.vc10.zip?

这个问题是关于如何在 Windows 操作系统中使用 Visual Studio 2010 安装“mpfr”。

虽然我实际上已经通过使用预编译的 mpfr 库解决了mpfr安装问题(请参阅此处的详细信息:通过预编译的 mpfr 库安装 mpfr),但我仍然更愿意自己重建它,因为我是新手并且可以在 C++ 和Visual Studio 通过这样的经历。

但是,根据Brian Gladman 的 GMP/MPIR/MPFR/MPC 页面中的指南,并在下载mpfr.svn.build.vc10mpfr-3.0.0.build.vc10 后,我没有按照里面的 readme.txt 自己重建它们.

有没有人成功重建它们?我需要为新手提供更详细的指南。

谢谢!