渐近线 cygwin 异常

渐近线 cygwin 异常

我有一个 Asymptote 脚本,它计算一对的值K。这些值不断增加,当达到下面的一对时,我得到一个“cygwin 异常”。

K= (-1.53675691024507e+74,-4.05209495030412e+74)
                                pair G = K / ((1.0, 0.0) - K - K*K);
    ^
colorMap4.asy: 107.5: runtime:       0 [asy] asy 713 cygwin_exception::open_stackdumpfile: Dumping stack trace to asy.exe.stackdump 

我不知道如何处理此消息。我尝试重新安装 Asymptote,但我没有管理员权限,并且由于我的笔记本电脑上的禁止符号链接而出现错误。

这个 stackdump 文件在哪里?有用吗?像 4e+74 这样的数字并不是很大,那么为什么它会崩溃呢?

G我刚刚尝试通过将分子和分母除以 来替换 的表达式K,以避免乘积K*K。现在崩溃已经消失,但还有另一个:

K= (-183907760887.815,-118807190831.258)
  _shipout(prefix,f,currentpatterns,format,wait,view,t);
          ^
C:/PortableApps/Asymptote/plain_shipout.asy: 116.11: Trying to use uninitialized value.

答案1

第一个问题确实是浮点溢出。通过删除K*K,问题就解决了。

对于第二个问题,我必须修改plain_shipout.asy

  string prefix="ZOZO"; // this is my modification
  _shipout(prefix,f,currentpatterns,format,wait,view,t);

然后程序生成ZOZO.eps。也许还有其他方法来给出输出名称。

相关内容