00001 /* Class declarations for several distances. 00002 Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> 00003 Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) 00004 00005 This file is part of the Parma Polyhedra Library (PPL). 00006 00007 The PPL is free software; you can redistribute it and/or modify it 00008 under the terms of the GNU General Public License as published by the 00009 Free Software Foundation; either version 3 of the License, or (at your 00010 option) any later version. 00011 00012 The PPL is distributed in the hope that it will be useful, but WITHOUT 00013 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00015 for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software Foundation, 00019 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. 00020 00021 For the most up-to-date information see the Parma Polyhedra Library 00022 site: http://www.cs.unipr.it/ppl/ . */ 00023 00024 #ifndef PPL_distances_defs_hh 00025 #define PPL_distances_defs_hh 1 00026 00027 #include "distances.types.hh" 00028 #include "Rounding_Dir.defs.hh" 00029 00030 template <typename Temp> 00031 struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization { 00032 static void combine(Temp& running, const Temp& current, Rounding_Dir dir); 00033 00034 static void finalize(Temp&, Rounding_Dir); 00035 }; 00036 00037 template <typename Temp> 00038 struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization { 00039 static void combine(Temp& running, Temp& current, Rounding_Dir dir); 00040 00041 static void finalize(Temp& running, Rounding_Dir dir); 00042 }; 00043 00044 00045 template <typename Temp> 00046 struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization { 00047 static void combine(Temp& running, const Temp& current, Rounding_Dir); 00048 00049 static void finalize(Temp&, Rounding_Dir); 00050 }; 00051 00052 #include "distances.inlines.hh" 00053 00054 #endif // !defined(PPL_distances_defs_hh)
1.6.3