Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations | Functions

util.h File Reference

#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 *)

Detailed Description

Definition in file intern/opennl/superlu/util.h.


Define Documentation

#define ABORT (   err_msg)
#define CHECK_MALLOC (   where)
Value:
{                 \
    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.

#define FIRSTCOL_OF_SNODE (   i)    (xsup[i])

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,
 
)    ( 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)
#define SUPERLU_MALLOC (   size)    USER_MALLOC(size)
#define SUPERLU_MAX (   x,
 
)    ( (x) > (y) ? (x) : (y) )
#define SUPERLU_MIN (   x,
 
)    ( (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 Documentation

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.


Enumeration Type Documentation

enum colperm_t
Enumerator:
NATURAL 
MMD_ATA 
MMD_AT_PLUS_A 
COLAMD 
MY_PERMC 

Definition at line 77 of file intern/opennl/superlu/util.h.

Enumerator:
NOEQUIL 
ROW 
COL 
BOTH 

Definition at line 79 of file intern/opennl/superlu/util.h.

enum fact_t
Enumerator:
DOFACT 
SamePattern 
SamePattern_SameRowPerm 
FACTORED 

Definition at line 75 of file intern/opennl/superlu/util.h.

Enumerator:
NOREFINE 
SINGLE 
SLU_DOUBLE 
EXTRA 

Definition at line 80 of file intern/opennl/superlu/util.h.

enum LU_space_t
Enumerator:
SYSTEM 
USER 

Definition at line 83 of file intern/opennl/superlu/util.h.

enum MemType
Enumerator:
LUSUP 
UCOL 
LSUB 
USUB 

Definition at line 81 of file intern/opennl/superlu/util.h.

enum PhaseType
Enumerator:
COLPERM 
RELAX 
ETREE 
EQUIL 
FACT 
RCOND 
SOLVE 
REFINE 
SLU_FLOAT 
TRSV 
GEMV 
FERR 
NPHASES 

Definition at line 91 of file intern/opennl/superlu/util.h.

enum rowperm_t
Enumerator:
NOROWPERM 
LargeDiag 
MY_PERMR 

Definition at line 76 of file intern/opennl/superlu/util.h.

Enumerator:
HEAD 
TAIL 

Definition at line 82 of file intern/opennl/superlu/util.h.

enum trans_t
Enumerator:
NOTRANS 
TRANS 
CONJ 

Definition at line 78 of file intern/opennl/superlu/util.h.

enum yes_no_t
Enumerator:
NO 
YES 

Definition at line 74 of file intern/opennl/superlu/util.h.


Function Documentation

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 *   
)
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 *   
)

Definition at line 27 of file relax_snode.c.

References EMPTY, and ifill().

Referenced by sgstrf().

void resetrep_col ( const int  ,
const int *  ,
int *   
)

Definition at line 120 of file intern/opennl/superlu/util.c.

References EMPTY, and i.

Referenced by sgstrf().

void set_default_options ( superlu_options_t options)
void SetIWork ( int  ,
int  ,
int  ,
int *  ,
int **  ,
int **  ,
int **  ,
int **  ,
int **  ,
int **  ,
int **   
)

Definition at line 99 of file memory.c.

References EMPTY, and ifill().

Referenced by sgstrf().

void snode_profile ( int  ,
int *   
)
int sp_coletree ( int *  ,
int *  ,
int *  ,
int  ,
int  ,
int *   
)
int sp_ienv ( int  )
void sp_preorder ( superlu_options_t ,
SuperMatrix ,
int *  ,
int *  ,
SuperMatrix  
)
int spcoletree ( int *  ,
int *  ,
int *  ,
int  ,
int  ,
int *   
)
void StatFree ( SuperLUStat_t )
void StatInit ( SuperLUStat_t )
void StatPrint ( SuperLUStat_t )
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().

void* superlu_malloc ( size_t  )

Definition at line 80 of file memory.c.

double SuperLU_timer_ ( void  )

Definition at line 44 of file superlu_timer.c.

References CLK_TCK.

Referenced by sgssv().

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_().