33 #ifndef STRUMPACK_STRUCTURED_C_H
34 #define STRUMPACK_STRUCTURED_C_H
40 #include "StrumpackConfig.hpp"
42 #if defined(STRUMPACK_USE_MPI)
43 #define OMPI_SKIP_MPICXX 1
301 const float* A,
int ldA,
319 const double* A,
int ldA,
337 const float _Complex* A,
int ldA,
355 const double _Complex* A,
int ldA,
359 int SP_s_struct_from_elements(
CSPStructMat* S,
int rows,
int cols,
362 int SP_d_struct_from_elements(
CSPStructMat* S,
int rows,
int cols,
363 double(
int i,
int j),
365 int SP_c_struct_from_elements(
CSPStructMat* S,
int rows,
int cols,
366 float _Complex(
int i,
int j),
368 int SP_z_struct_from_elements(
CSPStructMat* S,
int rows,
int cols,
369 double _Complex(
int i,
int j),
373 #if defined(STRUMPACK_USE_MPI)
374 int SP_s_struct_from_dense2d(
CSPStructMat* S,
const MPI_Comm comm,
375 int rows,
int cols,
const float* A,
376 int IA,
int JA,
int* DESCA,
378 int SP_d_struct_from_dense2d(
CSPStructMat* S,
const MPI_Comm comm,
379 int rows,
int cols,
const double* A,
380 int IA,
int JA,
int* DESCA,
382 int SP_c_struct_from_dense2d(
CSPStructMat* S,
const MPI_Comm comm,
383 int rows,
int cols,
const float _Complex* A,
384 int IA,
int JA,
int* DESCA,
386 int SP_z_struct_from_dense2d(
CSPStructMat* S,
const MPI_Comm comm,
387 int rows,
int cols,
const double _Complex* A,
388 int IA,
int JA,
int* DESCA,
410 float A(
int i,
int j),
430 double A(
int i,
int j),
450 float _Complex A(
int i,
int j),
470 double _Complex A(
int i,
int j),
547 const float* B,
int ldB,
568 const double* B,
int ldB,
589 const float _Complex* B,
int ldB,
590 float _Complex* C,
int ldC);
610 const double _Complex* B,
int ldB,
611 double _Complex* C,
int ldC);
700 float _Complex* B,
int ldB);
715 double _Complex* B,
int ldB);
void SP_s_struct_default_options(CSPOptions *opts)
void SP_s_struct_destroy(CSPStructMat *S)
int SP_d_struct_from_dense(CSPStructMat *S, int rows, int cols, const double *A, int ldA, const CSPOptions *opts)
void SP_c_struct_destroy(CSPStructMat *S)
int SP_s_struct_begin_row(const CSPStructMat S)
void SP_c_struct_default_options(CSPOptions *opts)
int SP_c_struct_cols(const CSPStructMat S)
int SP_z_struct_from_dense(CSPStructMat *S, int rows, int cols, const double _Complex *A, int ldA, const CSPOptions *opts)
int SP_d_struct_rank(const CSPStructMat S)
int SP_c_struct_rows(const CSPStructMat S)
int SP_d_struct_factor(CSPStructMat S)
void SP_z_struct_destroy(CSPStructMat *S)
long long int SP_c_struct_memory(const CSPStructMat S)
int SP_s_struct_solve(const CSPStructMat S, int nrhs, float *B, int ldB)
int SP_s_struct_factor(CSPStructMat S)
int SP_c_struct_local_rows(const CSPStructMat S)
int SP_d_struct_cols(const CSPStructMat S)
long long int SP_s_struct_memory(const CSPStructMat S)
int SP_c_struct_mult(const CSPStructMat S, char trans, int m, const float _Complex *B, int ldB, float _Complex *C, int ldC)
int SP_z_struct_local_rows(const CSPStructMat S)
long long int SP_z_struct_memory(const CSPStructMat S)
SP_STRUCTURED_TYPE
Definition: StructuredMatrix.h:51
int SP_s_struct_local_rows(const CSPStructMat S)
int SP_z_struct_begin_row(const CSPStructMat S)
int SP_z_struct_cols(const CSPStructMat S)
int SP_c_struct_from_dense(CSPStructMat *S, int rows, int cols, const float _Complex *A, int ldA, const CSPOptions *opts)
int SP_s_struct_mult(const CSPStructMat S, char trans, int m, const float *B, int ldB, float *C, int ldC)
int SP_z_struct_solve(const CSPStructMat S, int nrhs, double _Complex *B, int ldB)
int SP_d_struct_begin_row(const CSPStructMat S)
void SP_d_struct_destroy(CSPStructMat *S)
int SP_d_struct_local_rows(const CSPStructMat S)
long long int SP_d_struct_nonzeros(const CSPStructMat S)
int SP_d_struct_shift(CSPStructMat S, double s)
int SP_d_struct_mult(const CSPStructMat S, char trans, int m, const double *B, int ldB, double *C, int ldC)
int SP_z_struct_from_elements_mpi(CSPStructMat *S, const MPI_Comm comm, int rows, int cols, double _Complex A(int i, int j), const CSPOptions *opts)
int SP_s_struct_rows(const CSPStructMat S)
int SP_c_struct_from_elements_mpi(CSPStructMat *S, const MPI_Comm comm, int rows, int cols, float _Complex A(int i, int j), const CSPOptions *opts)
int SP_z_struct_rank(const CSPStructMat S)
int SP_z_struct_rows(const CSPStructMat S)
int SP_c_struct_rank(const CSPStructMat S)
int SP_d_struct_from_elements_mpi(CSPStructMat *S, const MPI_Comm comm, int rows, int cols, double A(int i, int j), const CSPOptions *opts)
long long int SP_s_struct_nonzeros(const CSPStructMat S)
int SP_d_struct_rows(const CSPStructMat S)
long long int SP_z_struct_nonzeros(const CSPStructMat S)
int SP_c_struct_shift(CSPStructMat S, float _Complex s)
void SP_d_struct_default_options(CSPOptions *opts)
void * CSPStructMat
Type representing a structured matrix in the C interface.
Definition: StructuredMatrix.h:90
int SP_s_struct_cols(const CSPStructMat S)
int SP_c_struct_begin_row(const CSPStructMat S)
int SP_d_struct_solve(const CSPStructMat S, int nrhs, double *B, int ldB)
int SP_s_struct_from_dense(CSPStructMat *S, int rows, int cols, const float *A, int ldA, const CSPOptions *opts)
int SP_c_struct_solve(const CSPStructMat S, int nrhs, float _Complex *B, int ldB)
long long int SP_d_struct_memory(const CSPStructMat S)
int SP_z_struct_factor(CSPStructMat S)
int SP_z_struct_shift(CSPStructMat S, double _Complex s)
long long int SP_c_struct_nonzeros(const CSPStructMat S)
int SP_c_struct_factor(CSPStructMat S)
int SP_s_struct_rank(const CSPStructMat S)
int SP_s_struct_from_elements_mpi(CSPStructMat *S, const MPI_Comm comm, int rows, int cols, float A(int i, int j), const CSPOptions *opts)
int SP_z_struct_mult(const CSPStructMat S, char trans, int m, const double _Complex *B, int ldB, double _Complex *C, int ldC)
void SP_z_struct_default_options(CSPOptions *opts)
int SP_s_struct_shift(CSPStructMat S, float s)
Structure containing options for structured matrix compression, to be used with the C interface.
Definition: StructuredMatrix.h:73