例如,我可以按如下方式实现阶乘函数:
fun factorial(n: int): int =
if n > 0 then n * factorial(n-1) else n
在100上调用factorial
,由于整数溢出,我得到0。我需要一个大整数类型。
答案 0 :(得分:0)
您可以使用基于GMP库的unlimited precision intinf
types。有关基于intinf
的因子函数,请参阅this example。
答案 1 :(得分:0)
ATS中有一个API用于GMP库中的各种功能。 atscntrb-hx-intinf包是这个API的便利包。有关更多详细信息,请参阅以下示例:
https://github.com/ats-lang/ATS-CodeBook/tree/master/RECIPE/HX-intinf