/* * GKlib.h * * George's library of most frequently used routines * * $Id: GKlib.h 13005 2012-10-23 22:34:36Z karypis $ * */ #ifndef _GKLIB_H_ #define _GKLIB_H_ 1 #define GKMSPACE #if defined(_MSC_VER) #define __MSC__ #endif #if defined(__ICC) #define __ICC__ #endif #include "gk_arch.h" /*!< This should be here, prior to the includes */ /************************************************************************* * Header file inclusion section **************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include /* -------------------------------------------------------------------------- */ /* Added for SuiteSparse, to disable signal handling when incorporated into * a MATLAB mexFunction. Tim Davis, Jan 30, 2016, Texas A&M University. */ #ifdef MATLAB_MEX_FILE #include "mex.h" #define SIGABRT 6 #define SIGTERM 15 #define jmp_buf int #define raise(sig) { mexErrMsgTxt ("METIS error") ; } #define signal(sig,func) NULL #define longjmp(env,val) { mexErrMsgTxt ("METIS error") ; } #define setjmp(x) (0) #define exit(x) { mexErrMsgTxt ("METIS error") ; } #else #include #include #endif /* -------------------------------------------------------------------------- */ #include #include #if 0 // regex.h and gk_regex.h disabled for SuiteSparse, Jan 1, 2023. #if defined(__WITHPCRE__) #include #else #if defined(USE_GKREGEX) #include "gkregex.h" #else #include #endif /* defined(USE_GKREGEX) */ #endif /* defined(__WITHPCRE__) */ #endif #if defined(__OPENMP__) #include #endif /* -------------------------------------------------------------------------- */ /* Added for incorporation into SuiteSparse. Tim Davis, Oct 31, 2022, Texas A&M University. */ #include "SuiteSparse_config.h" #define malloc SuiteSparse_config_malloc #define calloc SuiteSparse_config_calloc #define realloc SuiteSparse_config_realloc #define free(p) \ { \ if ((p) != NULL) \ { \ SuiteSparse_config_free (p) ; \ (p) = NULL ; \ } \ } /* -------------------------------------------------------------------------- */ #include "gk_types.h" #include "gk_struct.h" #include "gk_externs.h" #include "gk_defs.h" #include "gk_macros.h" #include "gk_getopt.h" #include "gk_mksort.h" #include "gk_mkblas.h" #include "gk_mkmemory.h" #include "gk_mkpqueue.h" #include "gk_mkpqueue2.h" #include "gk_mkrandom.h" #include "gk_mkutils.h" #include "gk_proto.h" #endif /* GKlib.h */