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.


struct  row_matrix
struct  cs_symbolic
struct  csr_numeric
struct  csr_dmperm_results


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


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


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.