Swarm-NG  1.1
utils.hpp
Go to the documentation of this file.
1 /*************************************************************************
2  * Copyright (C) 2011 by Saleh Dindar and the Swarm-NG Development Team *
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 3 of the License. *
7  * *
8  * This program is distributed in the hope that it will be useful, *
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11  * GNU General Public License for more details. *
12  * *
13  * You should have received a copy of the GNU General Public License *
14  * along with this program; if not, write to the *
15  * Free Software Foundation, Inc., *
16  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
17  ************************************************************************/
18 
29 #pragma once
30 #include "types/ensemble.hpp"
31 #include "ensemble_alloc.hpp"
32 #include "types/config.hpp"
33 #include <ostream>
34 
48 #define $__(x,line) (std::cerr << __FUNCTION__ << ":" << line << ": " << #x << " = " << (x) << std::endl)
49 #define DEBUG_OUTPUT(level,message) ( (DEBUG_LEVEL >= level) ? (std::cerr << __FUNCTION__ << ":" << __LINE__ << ": " << message << std::endl) : std::cerr )
50 
51 #define INFO_OUTPUT(level,message) ( (DEBUG_LEVEL >= level) ? (std::cerr << message ) : std::cerr )
52 
56 std::ostream& operator << (std::ostream& o, const swarm::ensemble::range_t& r);
57 
69 
77 
91  (swarm::ensemble& ens, swarm::ensemble& reference_ens ) ;
92 
93 
94  swarm::ensemble::range_t energy_conservation_error_range(swarm::ensemble& ens, swarm::ensemble& reference_ensemble ) ;
95 
100 void outputConfigSummary(std::ostream& o,swarm::config& cfg);
101 
107 
117 bool compare_ensembles( swarm::ensemble& e1, swarm::ensemble &e2 , double & pos_diff, double & vel_diff, double & time_diff ) ;
118 
121