问题标签 [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 回答
858 浏览

c++ - How to send GMP or MPFR types with MPI

I trying to send variables of type mpfr_t using MPI_Scatter. For example:

It prints:

But it's work of MPI_Bcast. What I do wrong. Code C/C++, MPI lib is OpenMPI-1.6.

0 投票
0 回答
446 浏览

c++ - 析构函数中的 mpfr_free_cache - 好主意?

MPFRC++我需要 C++ 程序中的任意精度,因此我在多精度浮点 C-library 上使用众所周知的轻量级 C++ 包装器MPFR

我一直有记忆问题。即,malloc在 MPFR 功能内失败。(如果您有兴趣,请在底部显示一小段错误消息)。

MPFR 手册说(第 10 页)

MPFR 函数可能会创建缓存,例如,在计算诸如 pi 之类的常量时,要么是因为用户直接调用了类似 mpfr_const_pi 的函数,要么是因为 MPFR 库本身在内部调用了这样的函数来计算某个其他函数。

在任何时候,用户都可以使用 mpfr_free_cache 释放各种缓存。强烈建议在终止线程之前执行此操作...

我的程序是多线程的,所以我想我需要开始使用这个mpfr_free_cache.

问题: 我可以简单地放入包装类mpfr_free_cache()析构函数吗?这是安全和良好的做法吗?是否足以解决问题?(假设我已经正确识别出内存泄漏)

例如

// mpreal.cpp - 包装器的实现

我不是专业的开发人员,所以我不知道这是否真的是解决问题的最佳方法。但我对进入每个 OpenMP 多线程区域/for-loop 并挤进一个mpfr_free_cache()...

注意:我已经使用线程安全选项构建了 MPFR。


这是错误消息,如果您有兴趣...

错误消息中引用的代码:

0 投票
1 回答
1258 浏览

c++ - gcc 4.7.1 构建以未定义的引用结束

我得到一个

fortran/arith.o:在函数gfc_mpfr_to_mpz(__mpz_struct*, __mpfr_struct*, locus*)': arith.c:(.text+0x1169): undefined reference tompfr_get_z_2exp'

来自 gcc 4.7.1 构建过程。我正在关注

gcc-wiki

但是,我对

下载_先决条件

脚本。那就是我正在下载 gcc 的所有先决条件的最新版本,因为上面的链接是为 gcc 4.6 提供的,所以原始版本正在下载一些较旧的先决条件。但是,它找不到一些与 mpfr 库相关的符号。

一个相关的谷歌搜索给了我这个线程,但它也没有帮助我,也许其他人的理解与我不同:

类似的线程

有关如何解决此问题的任何提示?

0 投票
1 回答
2420 浏览

c++ - fast arbitrary precision c++ library: is __float128 faster than MPFR?

I know there are a couple of thread on similar topics ( What's the best (for speed) arbitrary-precision library for C++? and The best cross platform (portable) arbitrary precision math library ) and I take from these threads than GMP or something based on it like MPFR is the fastest lib available, but I am specifically wondering: if I only wanted say 30 dec places would __float128 of the quadmath lib be faster?

Also how does MAPM stack up against MPFR?

It looks from this website:

http://pari.math.u-bordeaux.fr/benchs/timings-mpfr.html

that MPFR does pretty well, but there are also CLN and apfloat?

0 投票
1 回答
784 浏览

gcc - gmp, mpc + mpfr:不是符号链接

我构建了 gcc 4.6.1,当我运行ldconfig它时,它会返回以下结果:

这是我使用库构建 gcc 的方式:

请说我不需要重建 gcc!这个符号链接问题真的会影响程序吗?或者它不会有任何区别,它会时不时地弹出,例如当我也是yum install某些事情的时候。提前致谢。

0 投票
2 回答
7678 浏览

c++ - 32 位 Linux 与 64 位 Linux 和 MPFR 上的 long long int

long long int与 64 位 Linux 相比,32 位 Linux 系统究竟如何处理?

在我的 32 位系统上,我对 MPFR 数据类型使用C++ 包装器;这个包装器有一个为long int但不是定义的构造函数long long int。然而,在 32 位系统上,这段代码可以正常工作:

这怎么可能?32 位 gcc 是否只是以某种方式将数据类型long long int转换long int为具有构造函数的语句如果上面的代码在 64 位 Linux 上运行,那么编译器会导致构造不明确的错误。mpreal

我知道有些人会告诉我根本不要long long int在 64 位上使用,但不幸的是,我正在使用另一个库(odeint),它内置在代码中以这种方式构造我给定的多精度数据类型,所以我不'认为我不能改变事情。

无论如何与64位long long int完全相同吗?long int如果我投到 会丢失数据long int吗?例如,如果我制作自己的构造函数,例如:

0 投票
1 回答
335 浏览

c - 如何创建 makefile 以使用 mpir 和 mpfr 库

我最近编写了一个使用公共域 mpir 和 mpfr 库的 C 程序。我一直在使用 Microsoft Visual C++ 10.0 编译器在 Windows 上编译它。为了让它发挥作用,我必须执行以下操作:

  • 从http://gladman.plushost.co.uk/oldsite/computing/gmp4win.php下载/构建 mpir 和 mpfr 库
  • 将文件移动mpir.hmpfr.hMicrosoft 编译器的 Include 目录中
  • 将文件mpir.lib、、mpir.pdb和移动mpfr.libmpfr.pdbMicrosoft 编译器的 lib 目录中
  • #include mpir.h并且mpfr.h在程序中
  • 编译使用cl <..module names..> /link mpir.lib mpfr.lib

我现在想将我编写的源文件/头文件发送给其他人,以及他们可以用来编译代码并检查它是否工作的 makefile。由于该人不会安装 mpir / mpfr 库,并且可能不会使用相同的编译器,因此我不太确定如何执行此操作。

这是我能做的:

  • 将二进制文件mpir.lib、、mpir.pdb以及源mpfr.lib/mpfr.pdb头文件发送给他们。

这是我不能做的:

  • 将我的整个 Microsoft Visual C++ 10.0 设置发送给他们
  • 要求他们将文件粘贴到他们的Include目录中lib(除非没有其他办法)

理想情况下,我应该能够向他们发送源/头文件,以及相关的 mpir/mpfr 二进制文件,以及他们可以运行以构建程序的 makefile。

在此先感谢您的帮助!

0 投票
0 回答
139 浏览

c++ - makefile 不适用于 c++ zkcm-library - 找不到 mpfr-functions

我有一个用于使用 zkcm 库的某些程序的 makefile,包括以下对象行:

编译器抱怨有一个“未定义的对 '_ imp _mpfr__inits2' 的引用”,并且每次使用 mpfr 函数时都是一样的。奇怪的是,makefile 中还有其他对象使用 mpfr 函数没有问题,例如主程序(第一行):

在这两种情况下,我都#include<mpfr.h>在源代码中,如您所见,使用-lmpfr. 任何想法为什么这适用于 SpMC.cpp 但不适用于 zkcm_c.cpp?

0 投票
1 回答
772 浏览

r - 使用带有 gmp 和机器限制的大整数

我想知道是否可以在 R 中使用大于.Machine$double.xmax( ~1.79e308) 值的整数。我认为通过在 R 中使用 egRmpfrgmp库,您可以分配任何大小的值,直到系统上的 RAM 限制?我认为这大于.Machine$double.xmax但显然不是。

有人可以解释为什么使用 64 位内存寻址的计算机不能存储大于 1.79e308 的值吗?抱歉 - 我没有计算机科学背景,但我正在努力学习。

谢谢。

0 投票
1 回答
463 浏览

compilation - 安装 MPFR (3.1.0) 时出错

我正在尝试使用此链接 (第 3 部分)中的说明安装 MPFR(3.1.0),但出现以下错误:

检查 gmp 内部文件...配置:错误:找不到头文件 gmp-impl.h 和 longlong.h

我已经使用同一页的说明安装了 gmp (5.0.5),看起来 gmp 的安装是成功的。

有人可以帮助我了解问题所在,或提出解决方法吗?

任何帮助是极大的赞赏!
编辑:我这样做后得到错误

./configure --with-gmp-build=GMPBUILD # GMPBUILD=/usr/gmp/gmp-5.0.5