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
|
/*
*
* This file is part of MUMPS 5.8.1, released
* on Wed Jul 30 16:49:18 UTC 2025
*
*
* Copyright 1991-2025 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
* Mumps Technologies, University of Bordeaux.
*
* This version of MUMPS is provided to you free of charge. It is
* released under the CeCILL-C license
* (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
* https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
*
*/
/* libseq is currently compiled independently of MUMPS
* and mumps_c_types.h and default integer size relies
* on compilation with -DINTSIZE64
*/
#include <inttypes.h>
#ifdef INTSIZE64
#define LIBSEQ_INT int64_t
#define LIBSEQ_INT8 int64_t
#else
#define LIBSEQ_INT int
#define LIBSEQ_INT8 int64_t
#endif
#if ! defined(LIBSEQ_CALL)
#if defined(_WIN32) && ! defined(__MINGW32__)
/* Choose between next lines or modify according
* to your Windows calling conventions:
#define LIBSEQ_CALL
#define LIBSEQ_CALL __declspec(dllexport)
#define LIBSEQ_CALL __declspec(dllexport) */
#define LIBSEQ_CALL
#else
#define LIBSEQ_CALL
#endif
#endif
#ifndef MUMPS_MPI_H
#define MUMPS_MPI_H
/* We define all symbols as extern "C" for users who call MUMPS with its
libseq from a C++ driver. */
#ifdef __cplusplus
extern "C" {
#endif
/* This is the minimum to have the C interface to MUMPS work with the
* C example provided. Other stub functions of the MPI standard may be
* added as needed. */
typedef LIBSEQ_INT MPI_Comm; /* Simple type for MPI communicator */
static MPI_Comm MPI_COMM_WORLD=(MPI_Comm)0;
int LIBSEQ_CALL MPI_Init(int *pargc, char ***pargv);
int LIBSEQ_CALL MPI_Comm_rank(MPI_Comm comm, int *rank);
int LIBSEQ_CALL MPI_Finalize(void);
MPI_Comm LIBSEQ_CALL MPI_Comm_f2c(LIBSEQ_INT comm);
/* For MPI_IS_IN_PLACE tests */
void LIBSEQ_CALL MUMPS_CHECKADDREQUAL(char *a, char*b, LIBSEQ_INT8 *i);
void LIBSEQ_CALL MUMPS_CHECKADDREQUAL_(char *a, char*b, LIBSEQ_INT8 *i);
void LIBSEQ_CALL mumps_checkaddrequal_(char *a, char*b, LIBSEQ_INT8 *i);
void LIBSEQ_CALL mumps_checkaddrequal__(char *a, char*b, LIBSEQ_INT8 *i);
double LIBSEQ_CALL MPI_Wtime(void);
#ifdef __cplusplus
}
#endif
#endif /* MUMPS_MPI_H */
|