KTH framework for Nek5000 toolboxes; testing version  0.0.1
crs_xxt.c File Reference
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include <float.h>
#include <string.h>
#include <math.h>
#include "gslib.h"
+ Include dependency graph for crs_xxt.c:

Go to the source code of this file.

Data Structures

struct  sparse_cholesky
 
struct  csr_mat
 
struct  xxt
 
struct  dof
 
struct  yale_mat
 

Macros

#define crs_setup   PREFIXED_NAME(crs_xxt_setup)
 
#define crs_solve   PREFIXED_NAME(crs_xxt_solve)
 
#define crs_stats   PREFIXED_NAME(crs_xxt_stats)
 
#define crs_free   PREFIXED_NAME(crs_xxt_free )
 
#define UINT_BITS   (sizeof(uint)*CHAR_BIT)
 
#define BITS(i)   ((UINT_BITS+(1<<(i))-1)>>(i))
 
#define MASK(i)   ((((uint)1<<BITS(i)) - 1) << BITS(i))
 
#define CHECK(i)   if((BITS(i)!=1) && (v&MASK(i))) v>>=BITS(i), r+=BITS(i)
 

Functions

void sparse_cholesky_solve (double *x, const struct sparse_cholesky *fac, double *b)
 
void sparse_cholesky_factor (uint n, const uint *Arp, const uint *Aj, const double *A, struct sparse_cholesky *out, buffer *buf)
 
void sparse_cholesky_free (struct sparse_cholesky *fac)
 
struct xxtcrs_setup (uint n, const ulong *id, uint nz, const uint *Ai, const uint *Aj, const double *A, uint null_space, const struct comm *comm)
 
void crs_solve (double *x, struct xxt *data, const double *b)
 
void crs_stats (struct xxt *data)
 
void crs_free (struct xxt *data)
 

Macro Definition Documentation

◆ BITS

#define BITS (   i)    ((UINT_BITS+(1<<(i))-1)>>(i))

◆ CHECK

#define CHECK (   i)    if((BITS(i)!=1) && (v&MASK(i))) v>>=BITS(i), r+=BITS(i)

◆ crs_free

#define crs_free   PREFIXED_NAME(crs_xxt_free )

Definition at line 13 of file crs_xxt.c.

◆ crs_setup

#define crs_setup   PREFIXED_NAME(crs_xxt_setup)

Definition at line 10 of file crs_xxt.c.

◆ crs_solve

#define crs_solve   PREFIXED_NAME(crs_xxt_solve)

Definition at line 11 of file crs_xxt.c.

◆ crs_stats

#define crs_stats   PREFIXED_NAME(crs_xxt_stats)

Definition at line 12 of file crs_xxt.c.

◆ MASK

#define MASK (   i)    ((((uint)1<<BITS(i)) - 1) << BITS(i))

◆ UINT_BITS

#define UINT_BITS   (sizeof(uint)*CHAR_BIT)

Function Documentation

◆ crs_free()

void crs_free ( struct xxt data)

◆ crs_setup()

struct xxt* crs_setup ( uint  n,
const ulong *  id,
uint  nz,
const uint *  Ai,
const uint *  Aj,
const double *  A,
uint  null_space,
const struct comm *  comm 
)

Definition at line 859 of file crs_xxt.c.

References xxt::comm.

◆ crs_solve()

void crs_solve ( double *  x,
struct xxt data,
const double *  b 
)

Definition at line 921 of file crs_xxt.c.

References xxt::cn, xxt::fac_A_ll, xxt::ln, xxt::null_space, xxt::perm_u2c, xxt::sn, sparse_cholesky_solve(), xxt::un, xxt::vc, xxt::vl, xxt::vx, and xxt::xn.

+ Here is the call graph for this function:

◆ crs_stats()

void crs_stats ( struct xxt data)

Definition at line 961 of file crs_xxt.c.

References xxt::comm, xxt::ln, xxt::nsep, xxt::null_space, xxt::sep_size, xxt::sn, xxt::xn, and xxt::Xp.

◆ sparse_cholesky_factor()

void sparse_cholesky_factor ( uint  n,
const uint *  Arp,
const uint *  Aj,
const double *  A,
struct sparse_cholesky out,
buffer *  buf 
)

Definition at line 187 of file crs_xxt.c.

◆ sparse_cholesky_free()

void sparse_cholesky_free ( struct sparse_cholesky fac)

Definition at line 197 of file crs_xxt.c.

References sparse_cholesky::D, sparse_cholesky::L, sparse_cholesky::Lj, and sparse_cholesky::Lrp.

+ Here is the caller graph for this function:

◆ sparse_cholesky_solve()

void sparse_cholesky_solve ( double *  x,
const struct sparse_cholesky fac,
double *  b 
)

Definition at line 169 of file crs_xxt.c.

References sparse_cholesky::D, sparse_cholesky::L, sparse_cholesky::Lj, sparse_cholesky::Lrp, and sparse_cholesky::n.

+ Here is the caller graph for this function: