是否支持ATS中的大整数算术运算?

时间:2018-01-09 21:06:49

标签: ats

例如,我可以按如下方式实现阶乘函数:

fun factorial(n: int): int =
  if n > 0 then n * factorial(n-1) else n

在100上调用factorial,由于整数溢出,我得到0。我需要一个大整数类型。

2 个答案:

答案 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