Blender V2.61 - r43446
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
Go to the source code of this file.
Classes | |
struct | superlu_options_t |
struct | SuperLUStat_t |
Defines | |
#define | FIRSTCOL_OF_SNODE(i) (xsup[i]) |
#define | NO_MARKER 3 |
#define | NUM_TEMPV(m, w, t, b) ( SUPERLU_MAX(m, (t + b)*w) ) |
#define | USER_ABORT(msg) { fprintf(stderr, "%s", msg); exit (-1); } |
#define | ABORT(err_msg) |
#define | USER_MALLOC(size) superlu_malloc(size) |
#define | SUPERLU_MALLOC(size) USER_MALLOC(size) |
#define | USER_FREE(addr) superlu_free(addr) |
#define | SUPERLU_FREE(addr) USER_FREE(addr) |
#define | CHECK_MALLOC(where) |
#define | SUPERLU_MAX(x, y) ( (x) > (y) ? (x) : (y) ) |
#define | SUPERLU_MIN(x, y) ( (x) < (y) ? (x) : (y) ) |
#define | EMPTY (-1) |
#define | FALSE 0 |
#define | TRUE 1 |
Typedefs | |
typedef float | flops_t |
typedef unsigned char | Logical |
Enumerations | |
enum | yes_no_t { NO, YES } |
enum | fact_t { DOFACT, SamePattern, SamePattern_SameRowPerm, FACTORED } |
enum | rowperm_t { NOROWPERM, LargeDiag, MY_PERMR } |
enum | colperm_t { NATURAL, MMD_ATA, MMD_AT_PLUS_A, COLAMD, MY_PERMC } |
enum | trans_t { NOTRANS, TRANS, CONJ } |
enum | DiagScale_t { NOEQUIL, ROW, COL, BOTH } |
enum | IterRefine_t { NOREFINE, SINGLE = 1, SLU_DOUBLE, EXTRA } |
enum | MemType { LUSUP, UCOL, LSUB, USUB } |
enum | stack_end_t { HEAD, TAIL } |
enum | LU_space_t { SYSTEM, USER } |
enum | PhaseType { COLPERM, RELAX, ETREE, EQUIL, FACT, RCOND, SOLVE, REFINE, SLU_FLOAT, TRSV, GEMV, FERR, NPHASES } |
Functions | |
void | Destroy_SuperMatrix_Store (SuperMatrix *) |
void | Destroy_CompCol_Matrix (SuperMatrix *) |
void | Destroy_CompRow_Matrix (SuperMatrix *) |
void | Destroy_SuperNode_Matrix (SuperMatrix *) |
void | Destroy_CompCol_Permuted (SuperMatrix *) |
void | Destroy_Dense_Matrix (SuperMatrix *) |
void | get_perm_c (int, SuperMatrix *, int *) |
void | set_default_options (superlu_options_t *options) |
void | sp_preorder (superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *) |
void | superlu_abort_and_exit (char *) |
void * | superlu_malloc (size_t) |
int * | intMalloc (int) |
int * | intCalloc (int) |
void | superlu_free (void *) |
void | SetIWork (int, int, int, int *, int **, int **, int **, int **, int **, int **, int **) |
int | sp_coletree (int *, int *, int *, int, int, int *) |
void | relax_snode (const int, int *, const int, int *, int *) |
void | heap_relax_snode (const int, int *, const int, int *, int *) |
void | resetrep_col (const int, const int *, int *) |
int | spcoletree (int *, int *, int *, int, int, int *) |
int * | TreePostorder (int, int *) |
double | SuperLU_timer_ (void) |
int | sp_ienv (int) |
int | lsame_ (char *, char *) |
int | xerbla_ (char *, int *) |
void | ifill (int *, int, int) |
void | snode_profile (int, int *) |
void | super_stats (int, int *) |
void | PrintSumm (char *, int, int, int) |
void | StatInit (SuperLUStat_t *) |
void | StatPrint (SuperLUStat_t *) |
void | StatFree (SuperLUStat_t *) |
void | print_panel_seg (int, int, int, int, int *, int *) |
void | check_repfnz (int, int, int, int *) |
Definition in file intern/opennl/superlu/util.h.
#define ABORT | ( | err_msg | ) |
{ char msg[256];\ sprintf(msg,"%s at line %d in file %s\n",err_msg,__LINE__, __FILE__);\ USER_ABORT(msg); }
Definition at line 31 of file intern/opennl/superlu/util.h.
Referenced by at_plus_a(), check_perm(), check_repfnz(), floatCalloc(), floatMalloc(), get_colamd(), get_perm_c(), getata(), heap_relax_snode(), intCalloc(), intMalloc(), mxCallocInt(), scheck_tempv(), sCreate_CompCol_Matrix(), sCreate_CompRow_Matrix(), sCreate_Dense_Matrix(), sCreate_SuperNode_Matrix(), sgstrs(), sLUMemInit(), sp_preorder(), sp_sgemv(), sp_strsv(), and StatInit().
#define CHECK_MALLOC | ( | where | ) |
{ \ extern int superlu_malloc_total; \ printf("%s: malloc_total %d Bytes\n", \ where, superlu_malloc_total); \ }
Definition at line 54 of file intern/opennl/superlu/util.h.
#define EMPTY (-1) |
Definition at line 66 of file intern/opennl/superlu/util.h.
#define FALSE 0 |
Definition at line 68 of file intern/opennl/superlu/util.h.
Definition at line 20 of file intern/opennl/superlu/util.h.
#define NO_MARKER 3 |
Definition at line 23 of file intern/opennl/superlu/util.h.
Referenced by sgstrf(), sLUWorkInit(), and sQuerySpace().
#define NUM_TEMPV | ( | m, | |
w, | |||
t, | |||
b | |||
) | ( SUPERLU_MAX(m, (t + b)*w) ) |
Definition at line 24 of file intern/opennl/superlu/util.h.
Referenced by sLUWorkInit(), and sSetRWork().
#define SUPERLU_FREE | ( | addr | ) | USER_FREE(addr) |
Definition at line 52 of file intern/opennl/superlu/util.h.
Referenced by at_plus_a(), check_perm(), Destroy_CompCol_Matrix(), Destroy_CompCol_Permuted(), Destroy_CompRow_Matrix(), Destroy_Dense_Matrix(), Destroy_SuperMatrix_Store(), Destroy_SuperNode_Matrix(), finalize_disjoint_sets(), get_colamd(), get_perm_c(), getata(), heap_relax_snode(), sCompRow_to_CompCol(), sexpand(), sgssv(), sgstrf(), sgstrs(), sLUMemInit(), sLUWorkFree(), sp_coletree(), sp_preorder(), sp_strsv(), sp_symetree(), StatFree(), and TreePostorder().
#define SUPERLU_MALLOC | ( | size | ) | USER_MALLOC(size) |
Definition at line 46 of file intern/opennl/superlu/util.h.
Referenced by at_plus_a(), floatCalloc(), floatMalloc(), get_colamd(), get_perm_c(), getata(), intCalloc(), intMalloc(), mxCallocInt(), sCreate_CompCol_Matrix(), sCreate_CompRow_Matrix(), sCreate_Dense_Matrix(), sCreate_SuperNode_Matrix(), sexpand(), sgssv(), sLUMemInit(), sLUWorkInit(), sp_preorder(), and StatInit().
#define SUPERLU_MAX | ( | x, | |
y | |||
) | ( (x) > (y) ? (x) : (y) ) |
Definition at line 60 of file intern/opennl/superlu/util.h.
Referenced by getata(), scolumn_bmod(), sgssv(), sgstrs(), sinf_norm_error(), sLUMemInit(), and StatInit().
#define SUPERLU_MIN | ( | x, | |
y | |||
) | ( (x) < (y) ? (x) : (y) ) |
Definition at line 61 of file intern/opennl/superlu/util.h.
Referenced by heap_relax_snode(), sgstrf(), sp_coletree(), and spanel_bmod().
#define TRUE 1 |
Definition at line 69 of file intern/opennl/superlu/util.h.
#define USER_ABORT | ( | msg | ) | { fprintf(stderr, "%s", msg); exit (-1); } |
Definition at line 27 of file intern/opennl/superlu/util.h.
#define USER_FREE | ( | addr | ) | superlu_free(addr) |
Definition at line 49 of file intern/opennl/superlu/util.h.
#define USER_MALLOC | ( | size | ) | superlu_malloc(size) |
Definition at line 39 of file intern/opennl/superlu/util.h.
typedef float flops_t |
Definition at line 111 of file intern/opennl/superlu/util.h.
typedef unsigned char Logical |
Definition at line 112 of file intern/opennl/superlu/util.h.
enum colperm_t |
Definition at line 77 of file intern/opennl/superlu/util.h.
enum DiagScale_t |
Definition at line 79 of file intern/opennl/superlu/util.h.
enum fact_t |
Definition at line 75 of file intern/opennl/superlu/util.h.
enum IterRefine_t |
Definition at line 80 of file intern/opennl/superlu/util.h.
enum LU_space_t |
Definition at line 83 of file intern/opennl/superlu/util.h.
enum MemType |
Definition at line 81 of file intern/opennl/superlu/util.h.
enum PhaseType |
Definition at line 91 of file intern/opennl/superlu/util.h.
enum rowperm_t |
Definition at line 76 of file intern/opennl/superlu/util.h.
enum stack_end_t |
Definition at line 82 of file intern/opennl/superlu/util.h.
enum trans_t |
Definition at line 78 of file intern/opennl/superlu/util.h.
enum yes_no_t |
Definition at line 74 of file intern/opennl/superlu/util.h.
void check_repfnz | ( | int | , |
int | , | ||
int | , | ||
int * | |||
) |
Definition at line 365 of file intern/opennl/superlu/util.c.
References ABORT, EMPTY, and simple_enum_gen::w.
void Destroy_CompCol_Matrix | ( | SuperMatrix * | ) |
Definition at line 69 of file intern/opennl/superlu/util.c.
References SuperMatrix::Store, and SUPERLU_FREE.
Referenced by __nlFree_SUPERLU().
void Destroy_CompCol_Permuted | ( | SuperMatrix * | ) |
Definition at line 100 of file intern/opennl/superlu/util.c.
References SuperMatrix::Store, and SUPERLU_FREE.
Referenced by __nlFactorize_SUPERLU(), and sgssv().
void Destroy_CompRow_Matrix | ( | SuperMatrix * | ) |
Definition at line 78 of file intern/opennl/superlu/util.c.
References SuperMatrix::Store, and SUPERLU_FREE.
void Destroy_Dense_Matrix | ( | SuperMatrix * | ) |
Definition at line 109 of file intern/opennl/superlu/util.c.
References DNformat::nzval, SuperMatrix::Store, and SUPERLU_FREE.
void Destroy_SuperMatrix_Store | ( | SuperMatrix * | ) |
Definition at line 63 of file intern/opennl/superlu/util.c.
References SuperMatrix::Store, and SUPERLU_FREE.
Referenced by __nlFactorize_SUPERLU(), __nlInvert_SUPERLU(), and sgssv().
void Destroy_SuperNode_Matrix | ( | SuperMatrix * | ) |
Definition at line 87 of file intern/opennl/superlu/util.c.
References SuperMatrix::Store, and SUPERLU_FREE.
Referenced by __nlFree_SUPERLU().
void get_perm_c | ( | int | , |
SuperMatrix * | , | ||
int * | |||
) |
Definition at line 333 of file get_perm_c.c.
References ABORT, at_plus_a(), NCformat::colptr, genmmd_(), get_colamd(), getata(), i, SuperMatrix::ncol, NCformat::nnz, SuperMatrix::nrow, NULL, NCformat::rowind, SuperMatrix::Store, SUPERLU_FREE, and SUPERLU_MALLOC.
Referenced by __nlFactorize_SUPERLU(), and sgssv().
void heap_relax_snode | ( | const int | , |
int * | , | ||
const int | , | ||
int * | , | ||
int * | |||
) |
Definition at line 27 of file heap_relax_snode.c.
References ABORT, EMPTY, i, ifill(), intMalloc(), post, SUPERLU_FREE, SUPERLU_MIN, and TreePostorder().
Referenced by sgstrf().
void ifill | ( | int * | , |
int | , | ||
int | |||
) |
Definition at line 298 of file intern/opennl/superlu/util.c.
References i.
Referenced by heap_relax_snode(), relax_snode(), SetIWork(), sgstrf(), and super_stats().
int* intCalloc | ( | int | ) |
Definition at line 147 of file memory.c.
References ABORT, i, and SUPERLU_MALLOC.
Referenced by sCompRow_to_CompCol(), sLUWorkInit(), and StatInit().
int* intMalloc | ( | int | ) |
Definition at line 137 of file memory.c.
References ABORT, and SUPERLU_MALLOC.
Referenced by heap_relax_snode(), sallocateA(), sCompRow_to_CompCol(), sgssv(), sgstrf(), and sLUMemInit().
int lsame_ | ( | char * | , |
char * | |||
) |
Definition at line 7 of file lsame.c.
Referenced by sp_sgemv(), sp_strsv(), and strsv_().
void print_panel_seg | ( | int | , |
int | , | ||
int | , | ||
int | , | ||
int * | , | ||
int * | |||
) |
Definition at line 214 of file intern/opennl/superlu/util.c.
References simple_enum_gen::w.
void PrintSumm | ( | char * | , |
int | , | ||
int | , | ||
int | |||
) |
Definition at line 381 of file intern/opennl/superlu/util.c.
void relax_snode | ( | const int | , |
int * | , | ||
const int | , | ||
int * | , | ||
int * | |||
) |
void resetrep_col | ( | const int | , |
const int * | , | ||
int * | |||
) |
Definition at line 120 of file intern/opennl/superlu/util.c.
Referenced by sgstrf().
void set_default_options | ( | superlu_options_t * | options | ) |
Definition at line 47 of file intern/opennl/superlu/util.c.
References COLAMD, superlu_options_t::ColPerm, superlu_options_t::ConditionNumber, superlu_options_t::DiagPivotThresh, DOFACT, superlu_options_t::Equil, superlu_options_t::Fact, superlu_options_t::IterRefine, NO, NOREFINE, NOTRANS, superlu_options_t::PivotGrowth, superlu_options_t::PrintStat, superlu_options_t::SymmetricMode, superlu_options_t::Trans, and YES.
Referenced by __nlFactorize_SUPERLU().
void SetIWork | ( | int | , |
int | , | ||
int | , | ||
int * | , | ||
int ** | , | ||
int ** | , | ||
int ** | , | ||
int ** | , | ||
int ** | , | ||
int ** | , | ||
int ** | |||
) |
void snode_profile | ( | int | , |
int * | |||
) |
int sp_coletree | ( | int * | , |
int * | , | ||
int * | , | ||
int | , | ||
int | , | ||
int * | |||
) |
Definition at line 136 of file sp_coletree.c.
References finalize_disjoint_sets(), find(), initialize_disjoint_sets(), link(), make_set(), mxCallocInt(), p, MakeCursor::root, SUPERLU_FREE, and SUPERLU_MIN.
Referenced by sp_preorder().
int sp_ienv | ( | int | ) |
Definition at line 13 of file sp_ienv.c.
Referenced by __nlFactorize_SUPERLU(), scolumn_dfs(), sgssv(), sLUMemInit(), sLUWorkInit(), spanel_bmod(), sQuerySpace(), sSetRWork(), and StatInit().
void sp_preorder | ( | superlu_options_t * | , |
SuperMatrix * | , | ||
int * | , | ||
int * | , | ||
SuperMatrix * | |||
) |
Definition at line 10 of file sp_preorder.c.
References ABORT, at_plus_a(), check_perm(), NCPformat::colbeg, NCPformat::colend, NCformat::colptr, DOFACT, SuperMatrix::Dtype, superlu_options_t::Fact, i, SuperMatrix::Mtype, SuperMatrix::ncol, NCformat::nnz, NCPformat::nnz, NO, SuperMatrix::nrow, NCformat::nzval, NCPformat::nzval, post, print_int_vec(), NCformat::rowind, NCPformat::rowind, SLU_NCP, sp_coletree(), sp_symetree(), SuperMatrix::Store, SuperMatrix::Stype, SUPERLU_FREE, SUPERLU_MALLOC, superlu_options_t::SymmetricMode, and TreePostorder().
Referenced by __nlFactorize_SUPERLU(), and sgssv().
int spcoletree | ( | int * | , |
int * | , | ||
int * | , | ||
int | , | ||
int | , | ||
int * | |||
) |
void StatFree | ( | SuperLUStat_t * | ) |
Definition at line 271 of file intern/opennl/superlu/util.c.
References SuperLUStat_t::ops, SuperLUStat_t::panel_histo, SUPERLU_FREE, and SuperLUStat_t::utime.
Referenced by __nlFree_SUPERLU().
void StatInit | ( | SuperLUStat_t * | ) |
Definition at line 230 of file intern/opennl/superlu/util.c.
References ABORT, i, intCalloc(), NPHASES, SuperLUStat_t::ops, SuperLUStat_t::panel_histo, sp_ienv(), SUPERLU_MALLOC, SUPERLU_MAX, SuperLUStat_t::utime, and simple_enum_gen::w.
Referenced by __nlFactorize_SUPERLU().
void StatPrint | ( | SuperLUStat_t * | ) |
Definition at line 250 of file intern/opennl/superlu/util.c.
References credits_svn_gen::e, FACT, SuperLUStat_t::ops, SOLVE, and SuperLUStat_t::utime.
void super_stats | ( | int | , |
int * | |||
) |
Definition at line 312 of file intern/opennl/superlu/util.c.
References i, ifill(), max_sup_size, and NBUCKS.
void superlu_abort_and_exit | ( | char * | ) |
Definition at line 38 of file intern/opennl/superlu/util.c.
void superlu_free | ( | void * | ) |
Definition at line 87 of file memory.c.
References addon::engine::free().
double SuperLU_timer_ | ( | void | ) |
int* TreePostorder | ( | int | , |
int * | |||
) |
Definition at line 239 of file sp_coletree.c.
References etdfs(), mxCallocInt(), post, and SUPERLU_FREE.
Referenced by heap_relax_snode(), and sp_preorder().
int xerbla_ | ( | char * | srname, |
int * | info | ||
) |
Definition at line 8 of file xerbla.c.
Referenced by sgssv(), sgstrs(), sp_ienv(), sp_sgemv(), sp_strsv(), and strsv_().