CLAPACK, Apple LAPACK, iOS 4.0 .
#define N 3
#define NRHS 1
#define LDA N
#define LDB N
void solve_system() {
__CLPK_integer n = N, nrhs = NRHS, lda = LDA, ldb = LDB, info;
__CLPK_integer ipiv[N];
__CLPK_real a[LDA * N] = {
4, -2, 0,
3, 3, 2,
-1, 8, 6,
};
__CLPK_real b[LDB * NRHS] = {
2, 0, -1,
};
sgesv_(&n, &nrhs, a, &lda, ipiv, b, &ldb, &info);
if(info > 0) {
}
print_matrix(N, NRHS, b);
}
void print_matrix(size_t rows, size_t columns, __CLPK_real *mat) {
for(size_t r = 0; r < rows; ++r) {
for(size_t c = 0; c < columns; ++c) {
printf("%6.2f ", mat[r * columns + c]);
}
printf("\n");
}
}
LAPACK SGESV, "" . , , LAPACK FORTRAN, . __CLPK_integer __CLPK_real typedefs long float .