pari-gp函数编程中的指针可选参数



请看这个例子

f(a,{e})={ispower(a,3,&e)}

我这样做是为了将结果存储在e中,但当我调用函数时f(27,t(程序不存储";3〃;in t有什么帮助吗

您不能有指向自己函数的指针可选参数(至少在2.11版本中没有(

如果您更改f的定义以按值返回值e

f(a)={my(e); [ispower(a,3,&e), e]}

现在f(27)返回数组[1, 3]

在最新的2.13中,应该有一种通过引用传递参数的方法:请参阅https://pari.math.u-bordeaux.fr/archives/pari-announce-20/msg00006.html

但是,语法建议您需要定义f(a, ~e) = ispower(a,3,&e),并且仍然需要将其用作f(a, ~t)f(a, &t),以便将值输入t。(老实说,我不确定这是否可行——2.13增强的目的是允许通过引用地图和列表进行调用,在以前的版本中,这些地图和列表是按值复制调用的(。

顺便说一句,{}不会将参数标记为可选参数。所有参数始终是可选的。如果不提供值,则PARI将保留未分配的参数。

相关内容

  • 没有找到相关文章

最新更新