在使用Ctrl-C中断后,如何配置gp以允许恢复代码?

时间:2014-10-19 19:24:29

标签: configuration pari pari-gp gp

我有一台Linux PC(Ubuntu),我从命令行安装了PARI / GP(当你在shell中输入gp时,它说程序不在那里,但是给你一个可以用来命令的命令把它全部安装完毕),然后我有一台Windows机器,我通过PARI / GP主页上的self-installing distribution (.exe)安装了PARI / GP。

当我用Ctrl+C(或Ctrl+Break)中断函数调用时,我发现行为有所不同。在Linux版本中,它会出现如下消息:

  ***   user interrupt after 358 ms
  ***   Break loop: <Return> to continue; 'break' to go back to GP prompt

它允许我检查局部变量(其范围限于被终止的函数内),例如循环变量。但是,在我的Windows机器上它完全离开了这个功能,并且按照通常的提示进行操作,在我按下Ctrl+C之前,我无法看到所有状态是什么样的。

对于一个人为的例子,代码如下:

for(i=1,10^30,if(ispseudoprime(i^i+1),print(i)))

在Ubuntu系统上,我可以打破并检查i的当前大小,然后决定停止或继续,而在另一台机器上,这是不可能的。

为什么这两个安装之间存在这种差异,这是我可以自己配置的吗?

1 个答案:

答案 0 :(得分:2)

(回答我自己的问题)

这是由名为breakloop的所谓默认控制的。您可以在GP中看到其值(应该是01):

default(breakloop)

您可以使用例如:

将其更改为新值
default(breakloop, 1)

在您的Linux系统上,您没有首选项文件(gprc文件),因此名为breakloop默认采用其“默认”值{{{ 1}}在你使用GP时。

另一方面,在MS Windows系统上,安装附带一个首选项文件1,其中存在一行:

C:\Program Files (x86)\Pari-2-7-2\gprc.txt

您可以完全删除该行,或将其注释掉:

breakloop = 0

您可以将\\breakloop = 0 更改为0

请注意,当您编辑1时,您需要一个文本编辑器,(1)可以读取行结尾只有gprc.txt的文本文件(而不是通常的Windows约定LF ),和(2)“以管理员身份运行”。