Ifpack Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs | Functions
Ifpack_IKLU_Utils.h File Reference
#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
Include dependency graph for Ifpack_IKLU_Utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  row_matrix
 
struct  cs_symbolic
 
struct  csr_numeric
 
struct  csr_dmperm_results
 

Macros

#define CS_MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define CS_MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define CS_FLIP(i)   (-(i)-2)
 
#define CS_UNFLIP(i)   (((i) < 0) ? CS_FLIP(i) : (i))
 
#define CS_MARKED(w, j)   (w [j] < 0)
 
#define CS_MARK(w, j)   { w [j] = CS_FLIP (w [j]) ; }
 
#define CS_CSC(A)   (A && (A->nz == -1))
 
#define CS_TRIPLET(A)   (A && (A->nz >= 0))
 

Typedefs

typedef struct row_matrix csr
 
typedef struct cs_symbolic css
 
typedef struct csr_numeric csrn
 
typedef struct csr_dmperm_results csrd
 

Functions

csrcsr_add (const csr *A, const csr *B, double alpha, double beta)
 
csrcsr_multiply (const csr *A, const csr *B)
 
double csr_norm (const csr *A)
 
int csr_print (const csr *A, int brief)
 
csrcsr_transpose (const csr *A, int values)
 
void * csr_realloc (void *p, int n, size_t size, int *ok)
 
csrcsr_spalloc (int m, int n, int nzmax, int values, int triplet)
 
csrcsr_spfree (csr *A)
 
int csr_sprealloc (csr *A, int nzmax)
 
int * csr_amd (int order, const csr *A)
 
int csr_droptol (csr *A, double tol)
 
int csr_dropzeros (csr *A)
 
int csr_lsolve (const csr *L, double *x)
 
csrncsr_lu (const csr *A, const css *S, double tol)
 
csrcsr_permute (const csr *A, const int *pinv, const int *q, int values)
 
csscsr_sqr (int order, const csr *A)
 
int csr_usolve (const csr *U, double *x)
 
csscsr_sfree (css *S)
 
csrdcsr_dfree (csrd *D)
 
csrncsr_nfree (csrn *N)
 
double csr_cumsum (int *p, int *c, int n)
 
int csr_dfs (int j, csr *G, int top, int *xi, int *pstack, const int *pinv)
 
int csr_reach (csr *G, const csr *B, int k, int *xi, const int *pinv)
 
int csr_scatter (const csr *A, int j, double beta, int *w, double *x, int mark, csr *C, int nz)
 
csrdcsr_scc (csr *A)
 
int csr_spsolve (csr *G, const csr *B, int k, int *xi, double *x, const int *pinv, int up)
 
int csr_tdfs (int j, int k, int *head, const int *next, int *post, int *stack)
 
csrdcsr_dalloc (int m, int n)
 
csrdcsr_ddone (csrd *D, csr *C, void *w, int ok)
 
csrcsr_done (csr *C, void *w, void *x, int ok)
 
int * csr_idone (int *p, csr *C, void *w, int ok)
 
csrncsr_ndone (csrn *N, csr *C, void *w, void *x, int ok)
 
int csr_fkeep (csr *A, int(*fkeep)(int, int, double, void *), void *other)
 

Macro Definition Documentation

#define CS_MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition at line 155 of file Ifpack_IKLU_Utils.h.

#define CS_MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 156 of file Ifpack_IKLU_Utils.h.

#define CS_FLIP (   i)    (-(i)-2)

Definition at line 157 of file Ifpack_IKLU_Utils.h.

#define CS_UNFLIP (   i)    (((i) < 0) ? CS_FLIP(i) : (i))

Definition at line 158 of file Ifpack_IKLU_Utils.h.

#define CS_MARKED (   w,
 
)    (w [j] < 0)

Definition at line 159 of file Ifpack_IKLU_Utils.h.

#define CS_MARK (   w,
 
)    { w [j] = CS_FLIP (w [j]) ; }

Definition at line 160 of file Ifpack_IKLU_Utils.h.

#define CS_CSC (   A)    (A && (A->nz == -1))

Definition at line 161 of file Ifpack_IKLU_Utils.h.

#define CS_TRIPLET (   A)    (A && (A->nz >= 0))

Definition at line 162 of file Ifpack_IKLU_Utils.h.

Typedef Documentation

typedef struct row_matrix csr
typedef struct cs_symbolic css
typedef struct csr_numeric csrn
typedef struct csr_dmperm_results csrd

Function Documentation

csr* csr_add ( const csr A,
const csr B,
double  alpha,
double  beta 
)

Definition at line 199 of file Ifpack_IKLU_Utils.cpp.

csr* csr_multiply ( const csr A,
const csr B 
)

Definition at line 252 of file Ifpack_IKLU_Utils.cpp.

double csr_norm ( const csr A)

Definition at line 986 of file Ifpack_IKLU_Utils.cpp.

int csr_print ( const csr A,
int  brief 
)

Definition at line 939 of file Ifpack_IKLU_Utils.cpp.

csr* csr_transpose ( const csr A,
int  values 
)

Definition at line 227 of file Ifpack_IKLU_Utils.cpp.

void* csr_realloc ( void *  p,
int  n,
size_t  size,
int *  ok 
)

Definition at line 80 of file Ifpack_IKLU_Utils.cpp.

csr* csr_spalloc ( int  m,
int  n,
int  nzmax,
int  values,
int  triplet 
)

Definition at line 51 of file Ifpack_IKLU_Utils.cpp.

csr* csr_spfree ( csr A)

Definition at line 89 of file Ifpack_IKLU_Utils.cpp.

int csr_sprealloc ( csr A,
int  nzmax 
)

Definition at line 66 of file Ifpack_IKLU_Utils.cpp.

int* csr_amd ( int  order,
const csr A 
)

Definition at line 583 of file Ifpack_IKLU_Utils.cpp.

int csr_droptol ( csr A,
double  tol 
)
int csr_dropzeros ( csr A)
int csr_lsolve ( const csr L,
double *  x 
)
csrn* csr_lu ( const csr A,
const css S,
double  tol 
)

Definition at line 403 of file Ifpack_IKLU_Utils.cpp.

csr* csr_permute ( const csr A,
const int *  pinv,
const int *  q,
int  values 
)
css* csr_sqr ( int  order,
const csr A 
)

Definition at line 293 of file Ifpack_IKLU_Utils.cpp.

int csr_usolve ( const csr U,
double *  x 
)
css* csr_sfree ( css S)

Definition at line 100 of file Ifpack_IKLU_Utils.cpp.

csrd* csr_dfree ( csrd D)
csrn* csr_nfree ( csrn N)

Definition at line 112 of file Ifpack_IKLU_Utils.cpp.

double csr_cumsum ( int *  p,
int *  c,
int  n 
)

Definition at line 160 of file Ifpack_IKLU_Utils.cpp.

int csr_dfs ( int  j,
csr G,
int  top,
int *  xi,
int *  pstack,
const int *  pinv 
)

Definition at line 335 of file Ifpack_IKLU_Utils.cpp.

int csr_reach ( csr G,
const csr B,
int  k,
int *  xi,
const int *  pinv 
)

Definition at line 317 of file Ifpack_IKLU_Utils.cpp.

int csr_scatter ( const csr A,
int  j,
double  beta,
int *  w,
double *  x,
int  mark,
csr C,
int  nz 
)

Definition at line 177 of file Ifpack_IKLU_Utils.cpp.

csrd* csr_scc ( csr A)
int csr_spsolve ( csr G,
const csr B,
int  k,
int *  xi,
double *  x,
const int *  pinv,
int  up 
)

Definition at line 522 of file Ifpack_IKLU_Utils.cpp.

int csr_tdfs ( int  j,
int  k,
int *  head,
const int *  next,
int *  post,
int *  stack 
)

Definition at line 371 of file Ifpack_IKLU_Utils.cpp.

csrd* csr_dalloc ( int  m,
int  n 
)
csrd* csr_ddone ( csrd D,
csr C,
void *  w,
int  ok 
)
csr* csr_done ( csr C,
void *  w,
void *  x,
int  ok 
)

Definition at line 125 of file Ifpack_IKLU_Utils.cpp.

int* csr_idone ( int *  p,
csr C,
void *  w,
int  ok 
)

Definition at line 142 of file Ifpack_IKLU_Utils.cpp.

csrn* csr_ndone ( csrn N,
csr C,
void *  w,
void *  x,
int  ok 
)

Definition at line 133 of file Ifpack_IKLU_Utils.cpp.

int csr_fkeep ( csr A,
int(*)(int, int, double, void *)  fkeep,
void *  other 
)

Definition at line 1001 of file Ifpack_IKLU_Utils.cpp.