Ifpack Package Browser (Single Doxygen Collection) Development
Loading...
Searching...
No Matches
Macros | Functions
Ifpack_IC_Utils.cpp File Reference
#include "Ifpack_ConfigDefs.h"
#include "Ifpack_IC_Utils.h"
#include <stdio.h>
Include dependency graph for Ifpack_IC_Utils.cpp:

Go to the source code of this file.

Macros

#define SYMSTR   1 /* structurally symmetric version */
 
#define MIN(a, b)   ((a)<=(b) ? (a) : (b))
 
#define MAX(a, b)   ((a)>=(b) ? (a) : (b))
 
#define ABS(a)   ((a)>=0 ? (a) : -(a))
 
#define SHORTCUT(p, a, ja, ia)
 
#define MATNULL(p)
 

Functions

void Ifpack_AIJMatrix_alloc (Ifpack_AIJMatrix *a, int n, int nnz)
 
void Ifpack_AIJMatrix_dealloc (Ifpack_AIJMatrix *a)
 
static void qsplit (double *a, int *ind, int n, int ncut)
 
static void update_column (int k, const int *ia, const int *ja, const double *a, const int *ifirst, const int *ifirst2, const int *list2, const double *multipliers, const double *d, int *marker, double *ta, int *itcol, int *ptalen)
 
static void update_lists (int k, const int *ia, const int *ja, int *ifirst, int *list)
 
static void update_lists_newcol (int k, int isk, int iptr, int *ifirst, int *list)
 
void crout_ict (int n, const Ifpack_AIJMatrix *AL, const double *Adiag, double droptol, int lfil, Ifpack_AIJMatrix *L, double **pdiag)
 

Macro Definition Documentation

◆ SYMSTR

#define SYMSTR   1 /* structurally symmetric version */

Definition at line 46 of file Ifpack_IC_Utils.cpp.

◆ MIN

#define MIN ( a,
b )   ((a)<=(b) ? (a) : (b))

Definition at line 49 of file Ifpack_IC_Utils.cpp.

◆ MAX

#define MAX ( a,
b )   ((a)>=(b) ? (a) : (b))

Definition at line 50 of file Ifpack_IC_Utils.cpp.

◆ ABS

#define ABS ( a)    ((a)>=0 ? (a) : -(a))

Definition at line 51 of file Ifpack_IC_Utils.cpp.

◆ SHORTCUT

#define SHORTCUT ( p,
a,
ja,
ia )
Value:
(a) = (p)->val; \
(ja) = (p)->col; \
(ia) = (p)->ptr;

Definition at line 53 of file Ifpack_IC_Utils.cpp.

◆ MATNULL

#define MATNULL ( p)
Value:
(p).val = NULL; \
(p).col = NULL; \
(p).ptr = NULL;

Definition at line 58 of file Ifpack_IC_Utils.cpp.

Function Documentation

◆ Ifpack_AIJMatrix_alloc()

void Ifpack_AIJMatrix_alloc ( Ifpack_AIJMatrix * a,
int n,
int nnz )

Definition at line 63 of file Ifpack_IC_Utils.cpp.

◆ Ifpack_AIJMatrix_dealloc()

void Ifpack_AIJMatrix_dealloc ( Ifpack_AIJMatrix * a)

Definition at line 70 of file Ifpack_IC_Utils.cpp.

◆ qsplit()

static void qsplit ( double * a,
int * ind,
int n,
int ncut )
static

Definition at line 80 of file Ifpack_IC_Utils.cpp.

◆ update_column()

static void update_column ( int k,
const int * ia,
const int * ja,
const double * a,
const int * ifirst,
const int * ifirst2,
const int * list2,
const double * multipliers,
const double * d,
int * marker,
double * ta,
int * itcol,
int * ptalen )
static

Definition at line 135 of file Ifpack_IC_Utils.cpp.

◆ update_lists()

static void update_lists ( int k,
const int * ia,
const int * ja,
int * ifirst,
int * list )
static

Definition at line 205 of file Ifpack_IC_Utils.cpp.

◆ update_lists_newcol()

static void update_lists_newcol ( int k,
int isk,
int iptr,
int * ifirst,
int * list )
static

Definition at line 240 of file Ifpack_IC_Utils.cpp.

◆ crout_ict()

void crout_ict ( int n,
const Ifpack_AIJMatrix * AL,
const double * Adiag,
double droptol,
int lfil,
Ifpack_AIJMatrix * L,
double ** pdiag )

Definition at line 275 of file Ifpack_IC_Utils.cpp.