/usr/include/trilinos/ml_csolve.h is in libtrilinos-ml-dev 12.4.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | /* ******************************************************************** */
/* See the file COPYRIGHT for a complete copyright notice, contact */
/* person and disclaimer. */
/* ******************************************************************** */
/* ******************************************************************** */
/* Declaration of the ML_CSolve structure */
/* ******************************************************************** */
/* Author : Charles Tong (LLNL) and Raymond Tuminaro (SNL) */
/* Date : March, 1999 */
/* ******************************************************************** */
#ifndef __MLCSOLVE__
#define __MLCSOLVE__
/* ******************************************************************** */
/* data structure type definition */
/* ******************************************************************** */
typedef struct ML_CSolveFunc_Struct ML_CSolveFunc;
typedef struct ML_CSolve_Struct ML_CSolve;
/* ******************************************************************** */
/* local include files */
/* ******************************************************************** */
#include "ml_common.h"
#include "ml_defs.h"
#include "ml_memory.h"
#include "ml_1level.h"
#include "ml_solver.h"
#ifdef WKC
#include <Epetra_MultiVector.h>
#endif
/* ******************************************************************** */
/* data definition for the ML_CSolve Class */
/* ******************************************************************** */
/* -------------------------------------------------------------------- */
/* These data structures define the coarse solver object. */
/* -------------------------------------------------------------------- */
struct ML_CSolveFunc_Struct
{
int ML_id;
int (*func_ptr)(ML_Solver *, int, double *, int, double *);
};
struct ML_CSolve_Struct
{
int ML_id;
struct ML_1Level_Struct *my_level;
int ntimes;
double tol;
ML_CSolveFunc *func;
void *data;
void (*data_destroy)(void *);
double build_time, apply_time;
char *label;
};
/* ******************************************************************** */
/* ******************************************************************** */
/* User Interface Proto-types */
/* ******************************************************************** */
/* ******************************************************************** */
#ifndef ML_CPP
#ifdef __cplusplus
extern "C" {
#endif
#endif
extern int ML_CSolve_Create(ML_CSolve **);
extern int ML_CSolve_Set_Label(ML_CSolve *, char *label);
extern int ML_CSolve_Init(ML_CSolve *);
extern int ML_CSolve_Destroy(ML_CSolve **);
extern int ML_CSolve_Clean(ML_CSolve *);
extern int ML_CSolve_Check(ML_CSolve *);
extern int ML_CSolve_Set_1Level(ML_CSolve *, ML_1Level *);
extern int ML_CSolve_Apply(ML_CSolve *, int, double *, int, double *);
#ifdef WKC
/* WKC -- Added prototype */
extern int ML_CSolve_Apply(ML_CSolve *, int, Epetra_MultiVector &, int,
Epetra_MultiVector &);
#endif
extern int ML_CSolve_Aggr(ML_Solver *, int, double *, int, double *);
extern int ML_CSolve_Clean_Aggr(void *, ML_CSolveFunc *);
#ifndef ML_CPP
#ifdef __cplusplus
}
#endif
#endif
#endif
|