如果输入太大,IDL程序将返回erronius结果

时间:2014-03-25 14:55:13

标签: idl-programming-language

我正在尝试通过我的IDL程序运行大量数据,但是当我这样做时,我得到了无意义的结果。

如果我将输入分开然后分别将每个部分分别放到程序中,然后将输出拼接在一起就能正常工作。这导致认为代码中某处出现溢出问题,但到目前为止我还没有运气调试。

有没有办法可以更改IDL中的默认数据类型大小,这样如果我声明一个变量,如...

A = functionCall(blah,blah2)

它会将变量作为32位值而不是16位(默认值)启动?

我知道你可以通过

手动完成
A = long(functionCall(blah,blah2))

我的代码是几千行,我宁愿不通过手动更改每个变量。

1 个答案:

答案 0 :(得分:2)

如果您要做的只是默认为32位整数,则可以在代码中放置compile_opt语句。放

compile_opt defint32

在你的日常工作中。或者,

compile_opt idl2

这是defint32和strictarr的简写(强制使用方括号进行索引)。这将使IDL在通常使用16位整数的任何地方使用32位整数。

但是,我不确定这是如何解决您的大数据的问题。问题。您可能想要使用

help, /mem

检查你的内存使用情况。