2

我有一台 Linux PC (Ubuntu),我从命令行安装了 PARI/GP(当你输入gpshell 时,它说程序不存在,但给你一个命令,你可以用它来安装它),然后我有一台 Windows 机器,我通过自安装发行版安装了 PARI/GP ( .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然后决定停止或继续,而在另一台机器上,这是不可能的。

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

4

1 回答 1

2

(回答我自己的问题)

这是由一个名为name的所谓默认值breakloop控制的。您可以从 GP中看到它的值(应该是0或):1

default(breakloop)

您可以将其更改为新值,例如:

default(breakloop, 1)

在您的 Linux 系统上,您没有偏好文件 ( gprcfile),因此命名的默认值采用您使用 GP 时breakloop的“默认”值。1

另一方面,在您的 MS Windows 系统上,安装附带一个首选项文件C:\Program Files (x86)\Pari-2-7-2\gprc.txt,其中存在一行:

breakloop = 0

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

\\breakloop = 0

或者您可以将其更改01.

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

于 2014-10-19T19:24:28.887 回答