diff options
Diffstat (limited to 'eigen/bench/btl/generic_bench/utils/utilities.h')
-rw-r--r-- | eigen/bench/btl/generic_bench/utils/utilities.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/eigen/bench/btl/generic_bench/utils/utilities.h b/eigen/bench/btl/generic_bench/utils/utilities.h new file mode 100644 index 0000000..d2330d0 --- /dev/null +++ b/eigen/bench/btl/generic_bench/utils/utilities.h @@ -0,0 +1,90 @@ +//============================================================================= +// File : utilities.h +// Created : mar jun 19 13:18:14 CEST 2001 +// Author : Antoine YESSAYAN, Paul RASCLE, EDF +// Project : SALOME +// Copyright : EDF 2001 +// $Header$ +//============================================================================= + +/* --- Definition macros file to print information if _DEBUG_ is defined --- */ + +# ifndef UTILITIES_H +# define UTILITIES_H + +# include <stdlib.h> +//# include <iostream> ok for gcc3.01 +# include <iostream> + +/* --- INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */ + +# define HEREWEARE cout<<flush ; cerr << __FILE__ << " [" << __LINE__ << "] : " << flush ; +# define INFOS(chain) {HEREWEARE ; cerr << chain << endl ;} +# define PYSCRIPT(chain) {cout<<flush ; cerr << "---PYSCRIPT--- " << chain << endl ;} + +/* --- To print date and time of compilation of current source on stdout --- */ + +# if defined ( __GNUC__ ) +# define COMPILER "g++" ; +# elif defined ( __sun ) +# define COMPILER "CC" ; +# elif defined ( __KCC ) +# define COMPILER "KCC" ; +# elif defined ( __PGI ) +# define COMPILER "pgCC" ; +# else +# define COMPILER "undefined" ; +# endif + +# ifdef INFOS_COMPILATION +# error INFOS_COMPILATION already defined +# endif +# define INFOS_COMPILATION {\ + cerr << flush;\ + cout << __FILE__ ;\ + cout << " [" << __LINE__ << "] : " ;\ + cout << "COMPILED with " << COMPILER ;\ + cout << ", " << __DATE__ ; \ + cout << " at " << __TIME__ << endl ;\ + cout << "\n\n" ;\ + cout << flush ;\ + } + +# ifdef _DEBUG_ + +/* --- the following MACROS are useful at debug time --- */ + +# define HERE cout<<flush ; cerr << "- Trace " << __FILE__ << " [" << __LINE__ << "] : " << flush ; +# define SCRUTE(var) HERE ; cerr << #var << "=" << var << endl ; +# define MESSAGE(chain) {HERE ; cerr << chain << endl ;} +# define INTERRUPTION(code) HERE ; cerr << "INTERRUPTION return code= " << code << endl ; exit(code) ; + +# ifndef ASSERT +# define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;} +# endif /* ASSERT */ + +#define REPERE cout<<flush ; cerr << " --------------" << endl << flush ; +#define BEGIN_OF(chain) {REPERE ; HERE ; cerr << "Begin of: " << chain << endl ; REPERE ; } +#define END_OF(chain) {REPERE ; HERE ; cerr << "Normal end of: " << chain << endl ; REPERE ; } + + + +# else /* ifdef _DEBUG_*/ + +# define HERE +# define SCRUTE(var) +# define MESSAGE(chain) +# define INTERRUPTION(code) + +# ifndef ASSERT +# define ASSERT(condition) +# endif /* ASSERT */ + +#define REPERE +#define BEGIN_OF(chain) +#define END_OF(chain) + + +# endif /* ifdef _DEBUG_*/ + +# endif /* ifndef UTILITIES_H */ |