我试图通过使用Swift的Accelerate框架来解决一组方程。我遇到了内存(泄漏)问题。
返回的结果没问题。但是,一旦我在dgesv_
函数周围循环,应用程序崩溃。
这个简单的例子已经证明了这个问题。在游乐场中运行它,没有循环(没有问题),循环(问题)可以自己查看。
我正在使用其他加速功能而没有任何问题,所以我看不出这个有什么特别之处。
for _ in 0...5
{
var count : Int32 = 3
var info : Int32 = 0
var pivot : [Int32] = []
//example problem from Wikipedia
//var a : [Double] = [3, 2.0, -1.0,
// 2, -2.0, 4.0,
// -1, 0.5, -1.0]
//tranposed matrix is required
var a : [Double] = [3, 2.0, -1.0,
2, -2.0, 0.5,
-1, 4, -1.0] //A (left-hand side)
var output : [Double] = [1,-2,0] //b (right-hand side)
dgesv_(&count,
&count,
&a,
&count,
&pivot,
&output,
&count,
&info)
print(output) //expected: 1, -2, -2
}