Avatar
Taketo Sano 9/4/2019 2:20 PM
private func spasm_init(_ A: DMatrix<R>) -> UnsafeMutablePointer<spasm> { let nnz = A.components.count let Atrip = spasm_triplet_alloc(CInt(A.size.1), CInt(A.size.0), CInt(nnz), CInt(p.intValue), 1) // note: transposed for c in A.components { spasm_add_entry(Atrip, CInt(c.col), CInt(c.row), CInt(c.value.representative)) // note: transposed } let ptr = spasm_compress(Atrip)! spasm_triplet_free(Atrip) return ptr } こちらです。行列の要素をセットして CSR 形式に圧縮しています。 (edited)