问题标签 [mpir]
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.
c++ - MPIR gcc compilation - cannot find -lmpir
I am trying to compile a simple C program using GCC with MPIR under MinGW on my Windows 7 machine. I installed MPIR successfully (I guess) with configure, make, make check and make install (did not use "sudo" - what is this?).
The program is called "mytest.cpp", sits in the top folder of MPIR, namely C:/MPIR/mpir-2.7.0/, where also "mpir.h" is sitting (is it "the" (correct one? are there several?) mpir.h?):
I tried compiling via
gcc mytest.c -o mytest -lmpir -I/C:/MPIR/mpir-2.7.0/
with the hope that GCC would then be able to locate mpir.h, "-lmpir" because a helpful developer told me to; but then it says:
"C:/mingw/ [...] /bin/ld.exe: cannot find -lmpir"
where "[...]" stands for some directory up-and-down-climbs inside the "minGW" directory. However, I am with the shell currently in the C:/MPIR/mpir-2.7.0/ directory.
What is wrong? How to make GCC find the mpir files? Should the compile option "-I" be spelled differently? I also heard about some "-L" option but could not find that anywhere. Thanks.
c++ - VS2015 mpirxx 错误 C4146
我正在使用 Visual Studio 社区 2015,我想用 mpirxx 建立一个项目。
最近我已经编译了 mpirxx 代码来获取调试库文件。在我的项目中,我包含了 mpirxx.h 文件并链接了 mpirxx.lib,但是当我尝试编译时,我从 mpirxx.h 的代码周围的多行中得到 17 个相同的错误。
这是一个例子:
这是图书馆的已知问题吗?我应该改变它吗?任何帮助表示赞赏。
c++ - 从函数返回 mpz_t
我在 C++ 中使用 mpir 库时遇到问题。是否可以从函数返回 mpz_t 值?当我尝试这样做时,出现以下错误:
gmp - Visual Studio 错误 2784:无法从 FLINT 推导出 GMP 的模板参数
我在 Visual Studio 2012 中运行“使用 YASHE 和 FV 水平同态密码系统的同态西蒙加密”(https://github.com/tlepoint/homomorphic-simon )的源代码时遇到问题。
我正在使用 FLINT 2.5.2、MPIR 2.7.2、MPFR 1.3.1 并收到许多错误,如下所示:
}
错误 C2784: '__gmp_expr,mpir_ui,__gmp_binary_multiplies>> operator *(const __gmp_expr &,unsigned __int64)' : 无法从 'int' fvkey.cpp 推导出 'const __gmp_expr &' 的模板参数 115 错误 C2784: '__gmp_expr,__gmp_binary_multiplies> > operator *(unsigned short,const __gmp_expr &)' : 无法从 'flint::fmpzxx' 推导出 'const __gmp_expr &' 的模板参数
错误 C2784: '__gmp_expr,__gmp_binary_minus>> operator -(unsigned short,const __gmp_expr &) ' : 无法从 'const flint::fmpzxx' fvkey.cpp 116 推导出 'const __gmp_expr &' 的模板参数错误 C2784: '__gmp_expr,__gmp_binary_divides>> operator /(unsigned short,const __gmp_expr &)' : 无法从 'flint::fmpzxx' fvkey.cpp 推导出 'const __gmp_expr &' 的模板参数 135 错误 C2784: '__gmp_expr,__gmp_binary_multiplies >> operator *(signed char,const __gmp_expr &)' : 无法从 'flint::fmpzxx' fvkey.cpp 115 推导出 'const __gmp_expr &' 的模板参数
错误 C2784: '__gmp_expr,__gmp_binary_minus>> operator -(long double,const __gmp_expr &)' : 无法从 'const flint::fmpzxx' 'flint::fmpzxx' fvkey.cpp 116 推导出 'const __gmp_expr &' 的模板参数
错误 C2784: '__gmp_expr,mpir_ui,__gmp_binary_multiplies>> operator *(const __gmp_expr &,unsigned int)' : 无法从 'int' 'flint::fmpzxx' fvkey.cpp 115 推导出 'const __gmp_expr &' 的模板参数
错误 C2678:二进制“<<”:未找到采用“flint::fmpzxx_expression”类型的左侧操作数的运算符(或没有可接受的转换)fvkey.cpp 50
我试图解决它几个星期,但仍然没有成功。是否是由fmpz-conversions.h
FLINT的“”引起的?
请帮助我弄清楚我做错了什么。我已将我的视觉项目上传到http://1drv.ms/1LFpCI4。
c - 使用 MPIR (GMP) 库将 mpf_t 值保存到文件
我正在尝试将我的号码保存在文件中,但程序不断崩溃:
而不是 fprintf 我试过:
gmp_fscanf(f, "%F", &zbroj)
mpz_out_str(f, 10, zbroj)
sprintf(f, "%F", zbroj)
c++ - Mpir Windows 使用 --enable-gmpcompat 构建?
根据mpir 文档,在运行时使用--enable-gmpcompat
switch./configure
将产生gmp.lib
和gmp.h
兼容性。但是,在 Windows 构建中没有一个词如何做到这一点。如何在 Visual Studio 项目中执行此操作?我假设标志不只是重命名目标,而是在幕后做一些其他的事情。
visual-studio - 如何让 Visual Studio 2008 进入程序文件?(64 位)
因此,我按照说明安装 MPIR(更大的整数库),这是我在 GMP 之前选择的,因为在 Windows 下载中可以获得更多信息,并且对于典型用户来说更容易安装。基本上我找到了这个简单的教程:http ://www.exploringbinary.com/how-to-install-and-run-gmp-on-windows-using-mpir/
我所做的与本教程唯一不同的是我的 Visual Studio 9.0 存储在 Program Files (x86) 中,然后当我继续打开 Visual Studio 2008 时,它在我的解决方案“mpir”中找不到任何项目。
所以我不需要妥协教程中所述的步骤(必须在确切的目录中有 Visual Studio),然后看看事情会如何发展。
这是我当前的Visual Studio 2008 (Express Edition All-in-One DVD ISO)下载:https ://go.microsoft.com/fwlink/?LinkId=104679,然后我使用WinRAR打开它并运行允许的设置应用程序我可以从四个(C#、C++、Basic、Web Developer)中进行选择。我选择C++并继续将设置为 Program Files (x86) 的目标文件夹更改为Program Files,但安装后我总是以 Visual Studio 结束 Program Files (x86)。(我可以创建一个具有随机名称的文件并在该文件中安装 Visual Studio,我也可以移动Visual Studio 从 Program Files (x86) 或随机文件到Program Files,但随后将无法检测到 Visual Studio,我将无法在其中打开“mpir.sln”。)
c# - 为什么 C# BigInteger 比 C++ MPIR 快?
我写了一个简单的单线程应用程序来检查给定的数字是否是素数。它旨在支持任意大的整数,所以我在 C# 中使用了BigInteger类。这是代码:
但是,我想研究用 C++ 编写相同的应用程序。我设法通过使用 Windows 上的MPIR库来实现这一点。完整的代码代码和 Visual Studio 项目可以在 GitHub 上找到:https ://github.com/mathusummut/PrimeCheckerCpp ,但这里是主循环:
当我运行 C# 可执行文件以检查是否2305843009213693951
为素数时,我得到以下输出:
而当我运行 C++ 可执行文件时,我得到以下输出:
为什么 C++ 实现较慢?MPIR 库在这里有问题,还是我做错了什么?
注意:两者都在 64 位发布模式下编译和测试,启用了完全优化,没有附加调试器。
注意:@hatchet 是对的,当我尝试使用 64 位无法表示的整数时,C++ 实现更快。比如trying 108446744073709551647
,C#版本用了13.5分钟,而C++版本只用了6.5分钟!
vba - VBA7 64位的MPIR?
我能够使用 MSYS2 和 Mingw-w64 构建 MPIR
导致 libmpir-23.dll。我有带有 VBA7 的 64 位 Excel,我想用它来调用大整数函数的 dll。我认为这应该是可能的,因为 64 位版本的 MPIR 和 VBA 应该使用 fastcall,并且 MPIR 大整数类型的组件已经很好地对齐到四个或八个字节块。但是,在运行初步测试以尝试设置和读取 MPIR 大整数时,我没有得到预期的结果:
结果L
是 0,而不是 525,在第一次诊断时,mpz_get_str(es, p, f)
是一个空字符串,并且es
没有从"jjjj"
. 在最后一次诊断中,L
不是 12,而是 100977072。
我没有 VS,也没有任何构建 dll 的经验。我在网上找到的所有关于 MPIR 或 GMP 的答案都与 32 位版本的 VBA 和 dll 相关,而且它们似乎不适用于 64 位的情况。
我想知道是否可以使用 MSYS2 构建 MPIR 并在 VBA7 64 位中使用生成的 dll。
uwp - 为 UWP Visual Studio 2017 构建 MPFR 和 MPIR
有谁知道是否可以使用 Visual Studio 2017 15.3构建MPFR和MPIR库以在 UWP 应用程序中使用?
顺便说一句,即使不是 UWP,我也无法构建这些库 - 错误太多:(
我正在尝试按照自述文件和安装说明进行操作,但某些文件总是丢失或出现错误,例如
MSB3721 命令 ""C:\Program Files\yasm\"vsyasm.exe .......\mpn\x86w\umul_ppmm.asm" 以代码 1 退出。