`
- 浏览:
12889711 次
- 性别:
- 来自:
大连
-
gmp简介:
GMP是一个任意精度的开源算术库,可用于符号整数,有理数,浮点数计算。算数库对于有没有实际的限制,唯一的限制是计算机的内存。 GMP具有丰富的函数集并且函数都有通用的接口。
gmp的安装:
环境:ubuntu11.10
Terminal中运行:
sudo apt-get install libgmp3-dev
gmp的调试:
新建.c文件,输入一下代码。
#include<gmp.h>
#include<stdio.h>
void main()
{
mpz_t s,n;
int i;
mpz_init(s);//init s,the value is 0
mpz_init(n);
for(i=1;i<1111111111;i++)
{
mpz_add_ui(n,n,1);//set n to n+1
mpz_addmul(s,n,n);//add n*n to s
}
gmp_printf("the sum is %Zd\n",s);
mpz_clear(s);
}
Termial 中编译:
gcc test.c -o test -lgmp
Termial中运行:
./test
算了大概3分钟,得到结果:
the sum is 457247370073159579654778235
函数封装:
封装的目的是给出通用的接口,下面实现的就是大数的乘法。
#include<gmp.h>
#include<stdio.h>
char* BigMul(char* m,char* n);
void main()
{
char* p=NULL;
char *a="12345678";
char *b="23456789";
p=BigMul(a,b);
printf("the result is %s./n",p);
}
char* BigMul(char* m,char* n)
{
int i,j;
char* pt=NULL;
mpz_t s,p,q;
mpz_init(s);
i=mpz_init_set_str(p,m,10);//get number from m
j=mpz_init_set_str(q,n,10);
//printf("i,j:%d,%d\n",i,j);
gmp_printf("%Zd\n%Zd\n",p,q);
mpz_addmul(s,p,q);//calculate result
//gmp_printf("the result is %Zd\n",s);
pt=mpz_get_str(pt,10,s);//get string from s
//printf("%s\n",pt);
mpz_clear(s);
return pt;
}
通过两个字符串变量将乘数传进去,再传回结果指针。
算得结果:
the result is 289589963907942.
下一步是在sipesc力学平台上做成插件。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
智能计算开源算法库cilib-master.zip
数论算法:大数类(兼容浮点数、整数、与内置类型兼容运算)*、RSA加解密系统*、解同余方程*、孙子定理解同余方程组*、Miller_Rabin素数测试(产生大质数)*、随机数(实数、大数)*、欧几里得算法*。 计算几何算法:...
一个开源的FFT算法库,包含几个计算音频数据的函数,用来做音频解析实现求取幅度值。 一个开源的FFT算法库,包含几个计算音频数据的函数,用来做音频解析实现求取幅度值。 一个开源的FFT算法库,包含几个计算音频...
Opencv相比目前的工业机器视觉上应用较多的halcon、visionpro、NIvision等机器视觉算法库,具有开源的优势,而且有志在机器视觉算法方面有深入研究的话,opencv是很好的算法学习资料。
数论算法:大数类(兼容浮点数、整数、与内置类型兼容运算)*、RSA加解密系统*、解同余方程*、孙子定理解同余方程组*、Miller_Rabin素数测试(产生大质数)*、随机数(实数、大数)*、欧几里得算法*。 计算几何算法:...
C++开源算法库OpenSAL1.1(Open Standardized Algorithm Library) ——静态链接库 OpenSAL1.1 包含了算法导论中所有数据结构和算法以及其他内容,本资源为该算法库的静态链接库 内容如下(*号表示1.1版本新增内容)...
Wykobi即Wykobi Computational Geometry Library 参考网站即http://www.wykobi.com C++语言实现的开源几何算法库
semseg用PyTorch实现的语义分割/场景解析开源库。 它可以方便帮助开发者用于各种语义分割数据集的训练和测试。 该库主要使用ResNet50 / 101/152作为主干网,也可以很容易地改成其他分类网络结构。 目前已经实现了...
gmp是一个开源算法库,这个手册是讲关于gmp的各类函数的函数原型以及使用。
TalkingData 开源大规模机器学习算法库 Fregata
从开源网站搜到的一个C算法,简单易用,可能没有STL那么通用,但是是学习数据结构和算法的好东西
流行的开源BI平台SapgoBI v3.x版本的中文化安装、配置使用说明手册,综合了现在网上的相关资料,结合作者的部分安装配置使用经验,内容较为详尽
开源几何算法库,目前非常流行,并且不断在进行改进。对GIS等行业的开发者帮助很大
开源云opennebula中文安装手册
凸优化算法库(COAL)提供了一个用C ++编写的灵活算法框架,该框架将求解器依赖于数学问题的某些通用属性(例如微分,线性,特定约束形式等)连接到应用程序,这些应用程序的模型展示了这些功能。特性。
Kodiak 是一个 C 库,它实现了一个严格数值逼近的通用分支定界算法。分支定界算法的特定实例可以让用户重新定义并且隔离非线性方程、不等式、全局优化问题、微分方程集合系统。 标签:Kodiak
串口调试助手在调试串口设备是非常适用的一个工具,在Windows有很多很好用的串口调试助手,但是在Linux系统上好像还没找到一个好用的带界面的软件(用命令行调试的工具还是有很多的),但是总感觉没有那么方便使用。...
由于文件较大,附了开源代码的下载地址。主要利用QT库的串口调试助手,实现了串口识别,接发受数据,供学习交流使用。
Keil uVision开发需要版权费,而网上开源的单片机、微控制器平台和资料比较少,有一些人用Eclipse。这篇文档讲解Eclipse + CDT...可以查看本人另一篇编写的文档:《EmBlocks + J-Link,STM32开源开发环境搭建与调试》。