#pragma once
#include <inttypes.h>
#define SUCCESSFUL_EXIT 0
#define ERROR_NULL_POINTER 100000
#define ERROR_MALLOC 200000
#define ERROR_VERSION 300000
#define ERROR_NOT_AVAILABLE 400000
#define ERROR_NEED_INITIALIZATION 500000
#define ERROR_NEED_FACTORIZATION 600000
#define ERROR_ALREADY_INITIALIZED 700000
#define C_TRUE 1
#define C_FALSE 0
#define C_BOOL int32_t
#define COMPLEX64 double
#define UMFPACK_PRINT_LEVEL_SILENT 0.0
#define UMFPACK_PRINT_LEVEL_VERBOSE 2.0
#define KLU_ERROR_ANALYZE -9
#define KLU_ERROR_FACTOR -8
#define KLU_ERROR_COND_EST -7
#define MUMPS_IGNORED 0
#define MUMPS_JOB_INITIALIZE -1
#define MUMPS_JOB_TERMINATE -2
#define MUMPS_JOB_ANALYZE 1
#define MUMPS_JOB_FACTORIZE 2
#define MUMPS_JOB_SOLVE 3
#define MUMPS_PAR_HOST_ALSO_WORKS 1
#define MUMPS_ICNTL5_ASSEMBLED_MATRIX 0
#define MUMPS_ICNTL18_CENTRALIZED 0
#define MUMPS_ICNTL6_PERMUT_AUTO 7
#define MUMPS_ICNTL28_SEQUENTIAL 1