Defines |
#define | LOOPMAX 10000 /* maximum count of search loop */ |
#define | ROUND(x) (floor((x)+0.5)) |
#define | SGN(x) ((x)<=0.0?-1.0:1.0) |
#define | SWAP(x, y) do {double tmp_; tmp_=x; x=y; y=tmp_;} while (0) |
Functions |
static void | eye2 (u32 n, double *M) |
void | gauss (int n, double *L, double *Z, int i, int j) |
int | lambda_reduction (int n, const double *Q, double *Z) |
int | lambda_solution (int n, int m, const double *a, const double *Q, double *F, double *s) |
int | LD (int n, const double *Q, double *L, double *D) |
void | matmul (const char *tr, integer n, integer k, integer m, double alpha, const double *A, const double *B, double beta, double *C) |
void | perm (int n, double *L, double *D, int j, double del, double *Z) |
void | reduction (int n, double *L, double *D, double *Z) |
static int | search (int n, int m, const double *L, const double *D, const double *zs, double *zn, double *s) |
int | solve (const char *tr, const double *A, const double *Y, integer n, integer m, double *X) |
static void | triu2 (u32 n, double *M) |
static s8 | udu2 (u32 n, double *M, double *U, double *D) |