This c++ example compresses a matrix representing discretized Green's function ansatz for Helmholtz equations in 2D inhomogenous media, using entry-evaluation-based APIs. The entry evaluation function is generated from running matlab coder. The example works on the double-complex data type.
More...
#include <iostream>
#include <math.h>
#include <fstream>
#include <time.h>
#include <stdlib.h>
#include <sstream>
#include <string>
#include <iomanip>
#include <pthread.h>
#include <cmath>
#include <cassert>
#include <random>
#include <vector>
#include <atomic>
#include <mpi.h>
#include <complex.h>
#include <memory>
#include "G2D/rt_nonfinite.h"
#include "G2D/G2D.h"
#include "G2D/bessel.h"
#include "zC_BPACK_wrapper.h"
|
void | C_FuncZmn (int *m, int *n, _Complex double *val, C2Fptr quant) |
|
void | C_FuncDistmn (int *m, int *n, double *val, C2Fptr quant) |
|
void | C_FuncNearFar (int *m, int *n, int *val, C2Fptr quant) |
|
void | C_FuncZmnBlock (int *Ninter, int *Nallrows, int *Nallcols, int64_t *Nalldat_loc, int *allrows, int *allcols, _Complex double *alldat_loc, int *rowidx, int *colidx, int *pgidx, int *Npmap, int *pmaps, C2Fptr quant) |
|
void | C_FuncHMatVec (char const *trans, int *nin, int *nout, int *nvec, _Complex double const *xin, _Complex double *xout, C2Fptr quant) |
|
void | C_FuncBMatVec (char const *trans, int *nin, int *nout, int *nvec, _Complex double const *xin, _Complex double *xout, C2Fptr quant, _Complex double *a, _Complex double *b) |
|
void | readoption (F2Cptr *option, int *ii, int argc, char *argv[]) |
|
int | main (int argc, char *argv[]) |
|
|
const double | BPACK_pi = 4.0*atan(1.0) |
|
const _Complex double | Im ={0.0,1.0} |
|
This c++ example compresses a matrix representing discretized Green's function ansatz for Helmholtz equations in 2D inhomogenous media, using entry-evaluation-based APIs. The entry evaluation function is generated from running matlab coder. The example works on the double-complex data type.
◆ C_FuncBMatVec()
void C_FuncBMatVec |
( |
char const * |
trans, |
|
|
int * |
nin, |
|
|
int * |
nout, |
|
|
int * |
nvec, |
|
|
_Complex double const * |
xin, |
|
|
_Complex double * |
xout, |
|
|
C2Fptr |
quant, |
|
|
_Complex double * |
a, |
|
|
_Complex double * |
b |
|
) |
| |
|
inline |
◆ C_FuncDistmn()
void C_FuncDistmn |
( |
int * |
m, |
|
|
int * |
n, |
|
|
double * |
val, |
|
|
C2Fptr |
quant |
|
) |
| |
|
inline |
◆ C_FuncHMatVec()
void C_FuncHMatVec |
( |
char const * |
trans, |
|
|
int * |
nin, |
|
|
int * |
nout, |
|
|
int * |
nvec, |
|
|
_Complex double const * |
xin, |
|
|
_Complex double * |
xout, |
|
|
C2Fptr |
quant |
|
) |
| |
|
inline |
◆ C_FuncNearFar()
void C_FuncNearFar |
( |
int * |
m, |
|
|
int * |
n, |
|
|
int * |
val, |
|
|
C2Fptr |
quant |
|
) |
| |
|
inline |
◆ C_FuncZmn()
void C_FuncZmn |
( |
int * |
m, |
|
|
int * |
n, |
|
|
_Complex double * |
val, |
|
|
C2Fptr |
quant |
|
) |
| |
|
inline |
◆ C_FuncZmnBlock()
void C_FuncZmnBlock |
( |
int * |
Ninter, |
|
|
int * |
Nallrows, |
|
|
int * |
Nallcols, |
|
|
int64_t * |
Nalldat_loc, |
|
|
int * |
allrows, |
|
|
int * |
allcols, |
|
|
_Complex double * |
alldat_loc, |
|
|
int * |
rowidx, |
|
|
int * |
colidx, |
|
|
int * |
pgidx, |
|
|
int * |
Npmap, |
|
|
int * |
pmaps, |
|
|
C2Fptr |
quant |
|
) |
| |
|
inline |
◆ main()
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
◆ readoption()
void readoption |
( |
F2Cptr * |
option, |
|
|
int * |
ii, |
|
|
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
|
inline |
◆ BPACK_pi
const double BPACK_pi = 4.0*atan(1.0) |
◆ Im
const _Complex double Im ={0.0,1.0} |