找回密码
 欢迎注册
楼主: chaoge

[原创] 发布大数软件包bgn_linux_v1.0.0

[复制链接]
 楼主| 发表于 2008-9-5 22:33:57 | 显示全部楼层
EBGNZ模块发布了,支持无限比特的有符号大整数 老地方:www.bgnvendor.com
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-19 16:22:52 | 显示全部楼层
61# chaoge 大家好!最近给软件包做了一个解释器,能支持循环,判断,函数调用,以及文件包含。Linux版本,目前只支持EBGNZ模块。还很简陋,bug不少,见笑了! 把test.009文件内容解释一下: # test.009 use test.009.01 use test.009.02 bgn a; bgn b; bgn sum; bgn pro; #a = 987654321; a = 1; sum = sum_def(a, a + 10 ); pro = pro_def(a, a + 10 ); print("a = ", a); print("sum = ", sum); print("pro = ", pro); print("pro1 = ", pro_def(100, 200)); print("sum1 = ", sum_def(100, 200)); 解释: 1. 文件包含用use,目前只支持包含当前目录的文件,文件名中须含字符"." 2. 申明变量用bgn,或者my也成。变量遵循先申明后使用的原则 3. 注释行用#开头 4. 打印输出的语法为print(MSG, EXPR)。 MSG是一个字符串,EXPR是一个变量或者表达式。功能有限,不支持格式化输出。 注意:表达式的值太大时,print会比较慢,呵呵 demo的用法: ./demo 比如:./demo test.009 来玩玩吧,哈!

test.009

283 Bytes, 下载次数: 0, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

test.009.01

136 Bytes, 下载次数: 0, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

test.009.02

135 Bytes, 下载次数: 0, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

demo.tar.gz

105.5 KB, 下载次数: 1, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-27 21:36:56 | 显示全部楼层
62# chaoge 哈,解释器现在可以支持浮点数和短符号整数了。有机会再发布。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-28 08:33:44 | 显示全部楼层
哦,楼主很辛苦啊 赞一下 争取超过PARI/GP
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-31 14:05:12 | 显示全部楼层
64# 无心人 升级脚本解释器到v0.9.6,支持短符号整数,浮点数计算,增加builtin函数支持浮点计算。 长符号整数类型名:bgn 短符号整数类型名:int 浮点数类型名:real builtin函数列表: real tan (real a); real sinh(real a); real cosh(real a); real tanh(real a); real ceil(real a); real floor(real a); real fabs(real a); real log(real a); real log10(real a); real sqrt(real a); real pow(real a, real b); real fmod(real a, real b); real atan2(real a, real b); 使用方式参考前贴。 内有一组test.xxx脚本示例供参考。

bgn_linux_v1.0.0.zip

121.54 KB, 下载次数: 1, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-8-9 22:22:19 | 显示全部楼层
65# chaoge 升级解释器到v0.9.7。主要是增加了内存回收,降低用户内存资源消耗。另外,增加了对函数递归的支持。比如test.018 int fibonacci(int n) { if( n < 2 ) { return 1; } return fibonacci(n - 1) + fibonacci(n - 2); } int n; for(n = 0; n < 20; n ++ ) { print(n); print("var_e = ", fibonacci(n)); } 题外话: 这是迄今为止次艰难的一个包,虽然还不是很满意,但我的目标已达到。内存的回收如此之难,在于对解释器技术的理解,所分配内存作用域的界定,以及内存的追踪上。做完内存的回收,大概能理解一二为什么第一个编译器Fortran耗费了十七年。虽然今天我们已经站在巨人的肩膀上,但是还是耗费了一个多礼拜才搞定这么一个看似简单的问题。对解释器、编译器技术感兴趣的朋友们可要谨慎研究细节。

bgn_linux_v1.0.0_parser_v0.9.7.zip

127.06 KB, 下载次数: 1, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-9-5 22:23:56 | 显示全部楼层
bgn_linux_v1.5.6相关说明: 1。 本版本是RELEASE版。如果在使用的过程中发现问题,请与我联系:bgnvendor@gmail.com。 2。 本版本基本调试开关为打开状态。 3。 本版本能处理的大整数比特长度不限。 4。 本版本适用于Linux平台。 5。 本版本提供对Z环,即整数环的支持 6。 本版本提供对Z_{2}环的支持 7。 本版本提供对Z_{n}环的支持 8。 本版本提供对F_{p}域的支持 09。本版本提供对F_{2^n}域的支持 10。本版本提供对EC(F_{2^n}),即F_{2^n}上的EC的支持。 11。本版本提供对EC(F_{p}),即F_{p}上的EC的支持。 12。本版本提供对ECC(F_{2^n}),即F_{2^n}上的ECC的支持。 13。本版本提供对ECC(F_{p}),即F_{p}上的ECC的支持。 14。本版本提供对POLY(Z_{2}),即Z_{2}上的多项式的支持。 15。本版本提供对POLY(Z_{n}),即Z_{n}上的多项式的支持。 16。本版本提供对POLY(F_{p}),即F_{p}上的多项式的支持。 17。本版本提供对POLY(F_{2^n}),即F_{2^n}上的多项式的支持。 18。本版本提供对MATRIX(R),即R上矩阵的支持。 19。本版本对各子软件包的支持已完全模块化。 20。本版本提供了对ECC的用户自定义随机数生成器和哈希散列接口的支持。 21。本版本提供了对内存的弹性管理以及内存呼吸功能。 22。本版本提供了对整个软件包的X-ray功能,提高了软件包的稳定性,容错性,错误重现和错误定位能力。 23。本版本提供了二进制,十进制和十六进制与大整数之间的相互转换。 注: 1. MATRIX(R)是指实数域上的矩阵,由于目前用double类型表示实数,因此只是在零点附近的局部实数区域。由于计算机对实数计算存在一定的精度误差,因此有时候结果存在一定的误差。 2. 本次提供的是静态库文件哟~~~,玩玩吧!

bgn_linux_v1.5.6.zip

350.92 KB, 下载次数: 2, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-11-16 21:58:38 | 显示全部楼层
高精度浮点计算模块EBGNR已基本成型。有需要的招呼一声,我来发布。目前支持的运算功能有加减乘除逆,平方,开方,对数ln(x),指数(e^x, x^y)。其它运算功能有功夫再扩展。 email: bgnvendor@gmail.com
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-12-14 12:33:03 | 显示全部楼层
开源就支持一个
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 16:31 , Processed in 0.027669 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表