1 /* Coefficient class implementation (non-inline functions). 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 "Coefficient_defs.hh" 26 27 namespace Parma_Polyhedra_Library { 28 29 #if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS) 30 void Coefficient_constants_initialize()31Coefficient_constants_initialize() { 32 } 33 34 void Coefficient_constants_finalize()35Coefficient_constants_finalize() { 36 } 37 #endif 38 39 #ifdef PPL_GMP_INTEGERS 40 const Coefficient* Coefficient_zero_p = 0; 41 const Coefficient* Coefficient_one_p = 0; 42 43 void Coefficient_constants_initialize()44Coefficient_constants_initialize() { 45 PPL_ASSERT(Coefficient_zero_p == 0); 46 Coefficient_zero_p = new Coefficient(0); 47 48 PPL_ASSERT(Coefficient_one_p == 0); 49 Coefficient_one_p = new Coefficient(1); 50 } 51 52 void Coefficient_constants_finalize()53Coefficient_constants_finalize() { 54 PPL_ASSERT(Coefficient_zero_p != 0); 55 delete Coefficient_zero_p; 56 Coefficient_zero_p = 0; 57 58 PPL_ASSERT(Coefficient_one_p != 0); 59 delete Coefficient_one_p; 60 Coefficient_one_p = 0; 61 } 62 #endif 63 64 } // namespace Parma_Polyhedra_Library 65