source: pacpussensors/trunk/Vislab/lib3dv/eigen/bench/btl/generic_bench/utils/utilities.h@ 136

Last change on this file since 136 was 136, checked in by ldecherf, 7 years ago

Doc

File size: 2.7 KB
Line 
1//=============================================================================
2// File : utilities.h
3// Created : mar jun 19 13:18:14 CEST 2001
4// Author : Antoine YESSAYAN, Paul RASCLE, EDF
5// Project : SALOME
6// Copyright : EDF 2001
7// $Header$
8//=============================================================================
9
10/* --- Definition macros file to print information if _DEBUG_ is defined --- */
11
12# ifndef UTILITIES_H
13# define UTILITIES_H
14
15# include <stdlib.h>
16//# include <iostream> ok for gcc3.01
17# include <iostream>
18
19/* --- INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */
20
21# define HEREWEARE cout<<flush ; cerr << __FILE__ << " [" << __LINE__ << "] : " << flush ;
22# define INFOS(chain) {HEREWEARE ; cerr << chain << endl ;}
23# define PYSCRIPT(chain) {cout<<flush ; cerr << "---PYSCRIPT--- " << chain << endl ;}
24
25/* --- To print date and time of compilation of current source on stdout --- */
26
27# if defined ( __GNUC__ )
28# define COMPILER "g++" ;
29# elif defined ( __sun )
30# define COMPILER "CC" ;
31# elif defined ( __KCC )
32# define COMPILER "KCC" ;
33# elif defined ( __PGI )
34# define COMPILER "pgCC" ;
35# else
36# define COMPILER "undefined" ;
37# endif
38
39# ifdef INFOS_COMPILATION
40# error INFOS_COMPILATION already defined
41# endif
42# define INFOS_COMPILATION {\
43 cerr << flush;\
44 cout << __FILE__ ;\
45 cout << " [" << __LINE__ << "] : " ;\
46 cout << "COMPILED with " << COMPILER ;\
47 cout << ", " << __DATE__ ; \
48 cout << " at " << __TIME__ << endl ;\
49 cout << "\n\n" ;\
50 cout << flush ;\
51 }
52
53# ifdef _DEBUG_
54
55/* --- the following MACROS are useful at debug time --- */
56
57# define HERE cout<<flush ; cerr << "- Trace " << __FILE__ << " [" << __LINE__ << "] : " << flush ;
58# define SCRUTE(var) HERE ; cerr << #var << "=" << var << endl ;
59# define MESSAGE(chain) {HERE ; cerr << chain << endl ;}
60# define INTERRUPTION(code) HERE ; cerr << "INTERRUPTION return code= " << code << endl ; exit(code) ;
61
62# ifndef ASSERT
63# define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;}
64# endif /* ASSERT */
65
66#define REPERE cout<<flush ; cerr << " --------------" << endl << flush ;
67#define BEGIN_OF(chain) {REPERE ; HERE ; cerr << "Begin of: " << chain << endl ; REPERE ; }
68#define END_OF(chain) {REPERE ; HERE ; cerr << "Normal end of: " << chain << endl ; REPERE ; }
69
70
71
72# else /* ifdef _DEBUG_*/
73
74# define HERE
75# define SCRUTE(var)
76# define MESSAGE(chain)
77# define INTERRUPTION(code)
78
79# ifndef ASSERT
80# define ASSERT(condition)
81# endif /* ASSERT */
82
83#define REPERE
84#define BEGIN_OF(chain)
85#define END_OF(chain)
86
87
88# endif /* ifdef _DEBUG_*/
89
90# endif /* ifndef UTILITIES_H */
Note: See TracBrowser for help on using the repository browser.