1 /* Definitions of global objects.
2 Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
3 Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
4
5 This file is part of the Parma Polyhedra Library (PPL).
6
7 The PPL is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11
12 The PPL is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
20
21 For the most up-to-date information see the Parma Polyhedra Library
22 site: http://bugseng.com/products/ppl/ . */
23
24 #include "ppl-config.h"
25 #include "globals_defs.hh"
26 #include "Constraint_defs.hh"
27 #include "Generator_defs.hh"
28
29 namespace Parma_Polyhedra_Library {
30
~Throwable()31 Throwable::~Throwable() {
32 }
33
34 const Throwable* volatile abandon_expensive_computations = 0;
35
36 // Initialize Weightwatch_Traits static data members.
37 Weightwatch_Traits::Threshold Weightwatch_Traits::weight = 0;
38 void (*Weightwatch_Traits::check_function)(void) = 0;
39
40 #ifndef NDEBUG
41
42 unsigned int In_Assert::count = 0;
43
44 #endif
45
46
47 dimension_type
check_space_dimension_overflow(const dimension_type dim,const dimension_type max,const char * domain,const char * method,const char * reason)48 check_space_dimension_overflow(const dimension_type dim,
49 const dimension_type max,
50 const char* domain,
51 const char* method,
52 const char* reason) {
53 if (dim > max) {
54 std::ostringstream s;
55 s << domain << method << ":" << std::endl
56 << reason << ".";
57 throw std::length_error(s.str());
58 }
59 return dim;
60 }
61
62 } // namespace Parma_Polyhedra_Library
63