/* ----------------------------------------------------------------- * Programmer(s): Cody J. Balos, Aaron Collier and Radu Serban @ LLNL * ----------------------------------------------------------------- * LLNS/SMU Copyright Start * Copyright (c) 2002-2020, Southern Methodist University and * Lawrence Livermore National Security * * This work was performed under the auspices of the U.S. Department * of Energy by Southern Methodist University and Lawrence Livermore * National Laboratory under Contract DE-AC52-07NA27344. * Produced at Southern Methodist University and the Lawrence * Livermore National Laboratory. * * All rights reserved. * For details, see the LICENSE file. * LLNS/SMU Copyright End * ----------------------------------------------------------------- * SUNDIALS configuration header file. * -----------------------------------------------------------------*/ #include "sundials_export.h" /* ------------------------------------------------------------------ * Define SUNDIALS version numbers * -----------------------------------------------------------------*/ #define SUNDIALS_VERSION "@PACKAGE_VERSION@" #define SUNDIALS_VERSION_MAJOR @PACKAGE_VERSION_MAJOR@ #define SUNDIALS_VERSION_MINOR @PACKAGE_VERSION_MINOR@ #define SUNDIALS_VERSION_PATCH @PACKAGE_VERSION_PATCH@ #define SUNDIALS_VERSION_LABEL "@PACKAGE_VERSION_LABEL@" /* ------------------------------------------------------------------ * SUNDIALS build information * -----------------------------------------------------------------*/ /* Define precision of SUNDIALS data type 'realtype' * Depending on the precision level, one of the following * three macros will be defined: * #define SUNDIALS_SINGLE_PRECISION 1 * #define SUNDIALS_DOUBLE_PRECISION 1 * #define SUNDIALS_EXTENDED_PRECISION 1 */ @PRECISION_LEVEL@ /* Define type of vector indices in SUNDIALS 'sunindextype'. * Depending on user choice of index type, one of the following * two macros will be defined: * #define SUNDIALS_INT64_T 1 * #define SUNDIALS_INT32_T 1 */ @INDEX_TYPE@ /* Define the type of vector indices in SUNDIALS 'sunindextype'. * The macro will be defined with a type of the appropriate size. */ #define SUNDIALS_INDEX_TYPE @SUNDIALS_CINDEX_TYPE@ /* Use generic math functions * If it was decided that generic math functions can be used, then * #define SUNDIALS_USE_GENERIC_MATH */ #cmakedefine SUNDIALS_USE_GENERIC_MATH /* Use POSIX timers if available. * #define SUNDIALS_HAVE_POSIX_TIMERS */ #cmakedefine SUNDIALS_HAVE_POSIX_TIMERS /* CVODE should use fused kernels if utilizing * the CUDA NVector. */ #cmakedefine SUNDIALS_BUILD_PACKAGE_FUSED_KERNELS /* BUILD SUNDIALS with monitoring functionalities * the CUDA NVector. */ #cmakedefine SUNDIALS_BUILD_WITH_MONITORING /* ------------------------------------------------------------------ * SUNDIALS TPL macros * -----------------------------------------------------------------*/ @SUNDIALS_CONFIGH_TPLS@ /* Set if SUNDIALS is built with MPI support, then * #define SUNDIALS_MPI_ENABLED 1 * otherwise * #define SUNDIALS_MPI_ENABLED 0 */ #cmakedefine01 SUNDIALS_MPI_ENABLED /* SUPERLUMT threading type */ #cmakedefine SUNDIALS_SUPERLUMT_THREAD_TYPE "@SUPERLUMT_THREAD_TYPE@" /* Trilinos with MPI is available, then * #define SUNDIALS_TRILINOS_HAVE_MPI */ #cmakedefine SUNDIALS_TRILINOS_HAVE_MPI /* RAJA backends */ #cmakedefine SUNDIALS_RAJA_BACKENDS_HIP #cmakedefine SUNDIALS_RAJA_BACKENDS_CUDA /* ------------------------------------------------------------------ * SUNDIALS modules enabled * -----------------------------------------------------------------*/ @SUNDIALS_CONFIGH_BUILDS@ /* ------------------------------------------------------------------ * SUNDIALS fortran configuration * -----------------------------------------------------------------*/ /* FCMIX: Define Fortran name-mangling macro for C identifiers. * Depending on the inferred scheme, one of the following six * macros will be defined: * #define SUNDIALS_F77_FUNC(name,NAME) name * #define SUNDIALS_F77_FUNC(name,NAME) name ## _ * #define SUNDIALS_F77_FUNC(name,NAME) name ## __ * #define SUNDIALS_F77_FUNC(name,NAME) NAME * #define SUNDIALS_F77_FUNC(name,NAME) NAME ## _ * #define SUNDIALS_F77_FUNC(name,NAME) NAME ## __ */ @F77_MANGLE_MACRO1@ /* FCMIX: Define Fortran name-mangling macro for C identifiers * which contain underscores. */ @F77_MANGLE_MACRO2@ /* FNVECTOR: Allow user to specify different MPI communicator * If it was found that the MPI implementation supports MPI_Comm_f2c, then * #define SUNDIALS_MPI_COMM_F2C 1 * otherwise * #define SUNDIALS_MPI_COMM_F2C 0 */ @F77_MPI_COMM_F2C@ /* ------------------------------------------------------------------ * SUNDIALS inline macros. * -----------------------------------------------------------------*/ /* Mark SUNDIALS function as inline. */ #ifndef SUNDIALS_CXX_INLINE #define SUNDIALS_CXX_INLINE inline #endif #ifndef SUNDIALS_C_INLINE #define SUNDIALS_C_INLINE inline #endif #ifdef __cplusplus #define SUNDIALS_INLINE SUNDIALS_CXX_INLINE #else #define SUNDIALS_INLINE SUNDIALS_C_INLINE #endif /* Mark SUNDIALS function as static inline. */ #define SUNDIALS_STATIC_INLINE static SUNDIALS_INLINE