Isorropia: Partitioning, Load Balancing and more
Isorropia_ConfigDefs.hpp
Go to the documentation of this file.
1
2//@HEADER
3//************************************************************************
4//
5// Isorropia: Partitioning and Load Balancing Package
6// Copyright (2006) Sandia Corporation
7//
8//Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9//license for use of this work by or on behalf of the U.S. Government.
10//
11// Redistribution and use in source and binary forms, with or without
12// modification, are permitted provided that the following conditions are
13// met:
14//
15// 1. Redistributions of source code must retain the above copyright
16// notice, this list of conditions and the following disclaimer.
17//
18// 2. Redistributions in binary form must reproduce the above copyright
19// notice, this list of conditions and the following disclaimer in the
20// documentation and/or other materials provided with the distribution.
21//
22// 3. Neither the name of the Corporation nor the names of the
23// contributors may be used to endorse or promote products derived from
24// this software without specific prior written permission.
25//
26// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37//
38//************************************************************************
39//@HEADER
40
41#ifndef _Isorropia_ConfigDefs_hpp_
42#define _Isorropia_ConfigDefs_hpp_
43
44/*
45 The macros PACKAGE, PACKAGE_NAME, etc, get defined in the automatically-
46 generated header Isorropia_autoheader.h. So we need to undefine them before
47 including that header, in order to avoid warnings in cases where another
48 package's header is also included and has already defined them.
49*/
50#ifdef PACKAGE
51#undef PACKAGE
52#endif
53
54#ifdef PACKAGE_NAME
55#undef PACKAGE_NAME
56#endif
57
58#ifdef PACKAGE_BUGREPORT
59#undef PACKAGE_BUGREPORT
60#endif
61
62#ifdef PACKAGE_STRING
63#undef PACKAGE_STRING
64#endif
65
66#ifdef PACKAGE_TARNAME
67#undef PACKAGE_TARNAME
68#endif
69
70#ifdef PACKAGE_VERSION
71#undef PACKAGE_VERSION
72#endif
73
74#ifdef VERSION
75#undef VERSION
76#endif
77
78#include <Isorropia_config.h>
79
80#include <iostream>
81#include <fstream>
82#include <exception>
83#include <vector>
84#include <set>
85
86#ifdef HAVE_TIME_H
87#include <time.h>
88#endif
89
90#ifndef __deprecated
91#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
92#define __deprecated __attribute__((__deprecated__))
93#else
94#define __deprecated
95#endif /* __GNUC__ */
96#endif /* __deprecated */
97
98#endif //_Isorropia_ConfigDefs_hpp_
99