在ILNumerics中分配未初始化的数组

时间:2014-03-05 16:13:17

标签: c# arrays ilnumerics

我想在ILNumerics C#中分配一个未初始化为任何值的数组。我知道我将写入数组中的每个条目,因此不需要初始化。这将有助于计算密集型任务。

我是否需要深入了解ILMemoryPool才能执行此操作?拥有一个提供此功能的标准数组构造函数并且我无法找到它会很好。

谢谢, 埃里克

1 个答案:

答案 0 :(得分:0)

你是对的,内存必须来自内存池。但是有一个包装'ILMath.New(int)'以某种方式简化了访问:

double[] mem = ILMath.New<double>(1000000);
ILArray<double> A = ILMath.array(mem, ILMath.size(1000,1000)); 

请记住,如果您使用ILArray<T>内的内存,则无需手动跟踪内存。一旦ILArray超出范围,它将自动释放并返回到池中。

相反,如果您需要System.Array进行其他直接计算,ILNumerics内存管理无法帮助您需要手动将内存返回池中:

ILMath.free(mem);