41 lines
847 B
C
41 lines
847 B
C
#include "test.h"
|
|
|
|
datatype *A[2];
|
|
int info[2];
|
|
int n;
|
|
|
|
void pre() {
|
|
int i;
|
|
x2matgen(n, n, A[0], A[1]);
|
|
for (i = 0; i < n; i++) {
|
|
// set diagonal
|
|
A[0][x1 * (i + n * i)] =
|
|
A[1][x1 * (i + n * i)] = (datatype) rand() / RAND_MAX;
|
|
// set first row
|
|
A[0][x1 * (n * i)] =
|
|
A[1][x1 * (n * i)] = (datatype) rand() / RAND_MAX + n;
|
|
}
|
|
}
|
|
|
|
void post() {
|
|
error = x2vecerr(n * n, A[0], A[1]);
|
|
}
|
|
|
|
void tests() {
|
|
A[0] = xmalloc(n * n);
|
|
A[1] = xmalloc(n * n);
|
|
|
|
#define ROUTINE XPREF(pbtrf)
|
|
|
|
const int
|
|
kd1 = n / 4,
|
|
kd2 = n * 3 / 4;
|
|
TEST("L", &n, &kd1, A[i], &n, &info[i]);
|
|
TEST("L", &n, &kd2, A[i], &n, &info[i]);
|
|
TEST("U", &n, &kd1, A[i] - x1 * kd1, &n, &info[i]);
|
|
TEST("U", &n, &kd2, A[i] - x1 * kd2, &n, &info[i]);
|
|
|
|
free(A[0]);
|
|
free(A[1]);
|
|
}
|