44 #ifndef EPETRA_C_WRAPPERS_H
45 #define EPETRA_C_WRAPPERS_H
54 #define EPETRA_DEREF(a) *a
56 #ifdef EPETRA_ADDRESS64BIT
74 #define EPETRA_DEREF(a) a
83 #if defined(TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE)
86 #define MANGLE(x) x ## __
120 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
137 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
156 #ifndef EPETRA_FORTRAN
157 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
161 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
206 double* vals,
int* blk_col_inds);
213 EPETRA_MULTIVECTOR x,
214 EPETRA_MULTIVECTOR y);
228 double* vals,
int* col_inds);
239 EPETRA_MULTIVECTOR x,
240 EPETRA_MULTIVECTOR y);
262 double **in_multivector,
EPETRA_INT numvectors);
273 in_multivector,
EPETRA_INT numvectors,
int *vecIndices);
278 int MANGLE(epetra_multivector_putmultivector)(EPETRA_MULTIVECTOR multivector,
279 double **in_multivector);
283 int MANGLE(epetra_multivector_allocate)(EPETRA_MULTIVECTOR multivector,
286 int MANGLE(epetra_multivector_putscalar)(EPETRA_MULTIVECTOR multivector,
EPETRA_DOUBLE scalar);
288 int MANGLE(epetra_multivector_scale)
291 int MANGLE(epetra_multivector_scalecopy)
292 (EPETRA_MULTIVECTOR multiVector, EPETRA_MULTIVECTOR multiVector_in,
295 int MANGLE(epetra_multivector_dotprod)
296 (EPETRA_MULTIVECTOR multiVector, EPETRA_MULTIVECTOR multiVector_in,
299 int MANGLE(epetra_multivector_addvec)
301 EPETRA_MULTIVECTOR multiVector_in);
303 int MANGLE(epetra_multivector_norm1)(EPETRA_MULTIVECTOR multivector,
double *result);
305 int MANGLE(epetra_multivector_norm2)(EPETRA_MULTIVECTOR multivector,
double *result);
307 int MANGLE(epetra_multivector_lincomb)(EPETRA_MULTIVECTOR multivector,
308 EPETRA_MULTIVECTOR b,
311 int MANGLE(epetra_multivector_random)(EPETRA_MULTIVECTOR multivector);
315 int MANGLE(epetra_multivector_numvectors)(EPETRA_MULTIVECTOR multivector);
317 int MANGLE(epetra_multivector_reduce)(EPETRA_MULTIVECTOR multivector);
319 int MANGLE(eepetra_multivector_gemm)(EPETRA_MULTIVECTOR multivector,
321 EPETRA_MULTIVECTOR
A, EPETRA_MULTIVECTOR
B,
324 void MANGLE(epetra_multivector_destroy)(EPETRA_MULTIVECTOR multivector);
333 int* blockSizes,
EPETRA_INT indexBase, EPETRA_COMM comm);
337 int* blockSizes,
EPETRA_INT indexBase, EPETRA_COMM comm);
339 void MANGLE(epetra_blockmap_destroy)(EPETRA_BLOCKMAP blockmap);
348 void MANGLE(epetra_localmap_destroy)(EPETRA_LOCALMAP localmap);
365 void MANGLE(epetra_localblockmap_destroy)(EPETRA_LOCALBLOCKMAP localblockmap);