2006-02-07 07:49:24 +08:00
|
|
|
/*BHEADER**********************************************************************
|
2008-07-18 09:34:48 +08:00
|
|
|
* Copyright (c) 2008, Lawrence Livermore National Security, LLC.
|
2006-07-28 07:26:57 +08:00
|
|
|
* Produced at the Lawrence Livermore National Laboratory.
|
2008-07-18 09:34:48 +08:00
|
|
|
* This file is part of HYPRE. See file COPYRIGHT for details.
|
2006-02-07 07:49:24 +08:00
|
|
|
*
|
2008-07-18 09:34:48 +08:00
|
|
|
* HYPRE is free software; you can redistribute it and/or modify it under the
|
|
|
|
|
* terms of the GNU Lesser General Public License (as published by the Free
|
|
|
|
|
* Software Foundation) version 2.1 dated February 1999.
|
2006-02-07 07:49:24 +08:00
|
|
|
*
|
|
|
|
|
* $Revision$
|
2006-07-28 07:26:57 +08:00
|
|
|
***********************************************************************EHEADER*/
|
|
|
|
|
|
2006-02-07 07:49:24 +08:00
|
|
|
|
2007-11-14 05:20:21 +08:00
|
|
|
|
2006-02-07 07:49:24 +08:00
|
|
|
#ifndef hypre_ERROR_HEADER
|
|
|
|
|
#define hypre_ERROR_HEADER
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
|
|
|
* Global variable used in hypre error checking
|
|
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
2010-12-21 03:27:44 +08:00
|
|
|
extern HYPRE_Int hypre__global_error;
|
2006-02-07 07:49:24 +08:00
|
|
|
#define hypre_error_flag hypre__global_error
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
|
|
|
* HYPRE error macros
|
|
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
2011-09-29 08:15:09 +08:00
|
|
|
void hypre_error_handler(const char *filename, HYPRE_Int line, HYPRE_Int ierr, const char *msg);
|
2011-09-23 04:39:35 +08:00
|
|
|
#define hypre_error(IERR) hypre_error_handler(__FILE__, __LINE__, IERR, NULL)
|
|
|
|
|
#define hypre_error_w_msg(IERR, msg) hypre_error_handler(__FILE__, __LINE__, IERR, msg)
|
2006-02-07 07:49:24 +08:00
|
|
|
#define hypre_error_in_arg(IARG) hypre_error(HYPRE_ERROR_ARG | IARG<<3)
|
|
|
|
|
#ifdef NDEBUG
|
|
|
|
|
#define hypre_assert(EX)
|
|
|
|
|
#else
|
2010-12-21 03:27:44 +08:00
|
|
|
#define hypre_assert(EX) if (!(EX)) {hypre_fprintf(stderr,"hypre_assert failed: %s\n", #EX); hypre_error(1);}
|
2006-02-07 07:49:24 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif
|