Math::BigInt::FastCalc - 速度更快的 Math::BigInt::Calc
# to use it with Math::BigInt
use Math::BigInt lib => 'FastCalc';
# to use it with Math::BigFloat
use Math::BigFloat lib => 'FastCalc';
# to use it with Math::BigRat
use Math::BigRat lib => 'FastCalc';
Math::BigInt::FastCalc 继承自 Math::BigInt::Calc。
提供对大整数计算的支持。不打算被其他模块使用。其他具有相同功能的模块也可以用来支持 Math::BigInt,如 Math::BigInt::GMP 或 Math::BigInt::Pari。
为了允许使用多个大整数库,Math::BigInt 被重写为使用库模块进行核心数学例程。任何遵循与此相同的 API 的模块都可以通过使用以下内容来代替
use Math::BigInt lib => 'libname';
'libname' 是长名称('Math::BigInt::Pari')或仅是短版本,如 'Pari'。要使用此库
use Math::BigInt lib => 'FastCalc';
默认行为是选择大整数的最佳内部表示,但内部表示中使用的基数长度可以明确指定。请注意,这必须在加载 Math::BigInt 之前完成。例如:
use Math::BigInt::FastCalc base_len => 3;
use Math::BigInt lib => 'FastCalc';
Math::BigInt::FastCalc 的工作方式与 Math::BigInt::Calc 完全相同。数字以十进制形式存储,并切分成多个部分。
以下函数现已在 FastCalc.xs 中实现
_is_odd _is_even _is_one _is_zero
_is_two _is_ten
_zero _one _two _ten
_acmp _len
_inc _dec
__strip_zeros _copy
请将任何错误或功能请求报告给 bug-math-bigint-fastcalc at rt.cpan.org
,或通过 https://rt.cpan.org/Ticket/Create.html?Queue=Math-BigInt-FastCalc 上的网络界面(需要登录)进行报告。我们会收到通知,然后当我在进行更改时,您将自动收到有关错误的进度通知。
安装后,可以使用 perldoc 命令查找此模块的文档。
perldoc Math::BigInt::FastCalc
您还可以在以下位置查找信息
https://rt.cpan.org/Dist/Display.html?Name=Math-BigInt-FastCalc
本程序是免费软件;您可以根据与 Perl 本身相同的条款重新分发和/或修改它。
原始数学代码由 Mark Biggar 编写,Tels http://bloodgate.com/ 在 2000 年底重新编写。
在 John Peacock 的帮助下从 Math::BigInt 中分离并塑造了 API。
由 Tels http://bloodgate.com 2001-2003 修复、加速和增强。Tels 2004-2007 进一步精简(api_version 1 等)。
由 Peter John Acklam <[email protected]> 2010-2021 维护。
Math::BigInt::Lib,用于 API 的描述。
备选库 Math::BigInt::Calc、Math::BigInt::GMP 和 Math::BigInt::Pari。
使用这些库的一些模块 Math::BigInt、Math::BigFloat 和 Math::BigRat。