27 #ifndef __RADAR_DEBUG_HPP__ 28 #define __RADAR_DEBUG_HPP__ 45 #define DEBUG(values) do { std::cout.setf(std::ios::fixed); std::cout << "DEBUG: " << values << std::endl; } while (0) 46 #define DEBUGIF(cond,values) do { if (cond) { std::cout.setf(std::ios::fixed); std::cout << "DEBUG: " << values << std::endl; } } while (0) 48 #define DEBUG_WAIT { getchar(); } 49 #define DEBUG_HERE { std::cout << "DEBUG: " << __FUNCTION__ << std::endl; } 50 #define DEBUG_BEEP { putc(7, stdout); } 52 #define DEBUG_ASSERT(cond) do { bool res = cond; if (!res) { DEBUG("ASSERT FAILED: " << #cond << "\t("<< __FILE__ << ":" << __FUNCTION__ << ")"); DEBUG_BEEP; DEBUG_WAIT; } } while (0) 54 #define DEBUG_CODE if (1) 56 template <
class T>
inline void DEBUG_DUMP(
const char* str,
const T* values,
size_t num)
58 std::cout.setf(std::ios::fixed);
60 for (
size_t i=0; i<num; i++)
61 std::cout << (
int)values[i] <<
" ";
62 std::cout << std::endl;
64 template <
class T>
inline void DEBUG_DUMP(
const T* values,
size_t num)
66 DEBUG_DUMP<T>(
"", values, num);
68 inline void DEBUG_DUMP(
const char* value,
size_t num) { DEBUG_DUMP<char> (
"", value, num); }
69 inline void DEBUG_DUMP(
const unsigned char* value,
size_t num) { DEBUG_DUMP<unsigned char> (
"", value, num); }
70 inline void DEBUG_DUMP(
const short* value,
size_t num) { DEBUG_DUMP<short> (
"", value, num); }
71 inline void DEBUG_DUMP(
const unsigned short* value,
size_t num) { DEBUG_DUMP<unsigned short> (
"", value, num); }
72 inline void DEBUG_DUMP(
const int* value,
size_t num) { DEBUG_DUMP<int> (
"", value, num); }
73 inline void DEBUG_DUMP(
const unsigned int* value,
size_t num) { DEBUG_DUMP<unsigned int> (
"", value, num); }
74 inline void DEBUG_DUMP(
const long* value,
size_t num) { DEBUG_DUMP<long> (
"", value, num); }
75 inline void DEBUG_DUMP(
const unsigned long* value,
size_t num) { DEBUG_DUMP<unsigned long> (
"", value, num); }
76 inline void DEBUG_DUMP(
const float* value,
size_t num) { DEBUG_DUMP<float> (
"", value, num); }
77 inline void DEBUG_DUMP(
const double* value,
size_t num) { DEBUG_DUMP<double> (
"", value, num); }
81 #define DEBUG(values) do { } while (0) 82 #define DEBUGIF(cond,values) do { } while (0) 88 #define DEBUG_ASSERT(cond) do {} while(0) 90 #define DEBUG_CODE if (0) 92 template <
class T>
inline void DEBUG_DUMP(
const char* str,
const T* values,
size_t num) { }
93 template <
class T>
inline void DEBUG_DUMP(
const T* values,
size_t num) { }
95 inline void DEBUG_DUMP(
const char* value,
size_t num) { }
96 inline void DEBUG_DUMP(
const unsigned char* value,
size_t num) { }
97 inline void DEBUG_DUMP(
const short* value,
size_t num) { }
98 inline void DEBUG_DUMP(
const unsigned short* value,
size_t num) { }
99 inline void DEBUG_DUMP(
const int* value,
size_t num) { }
100 inline void DEBUG_DUMP(
const unsigned int* value,
size_t num) { }
101 inline void DEBUG_DUMP(
const long* value,
size_t num) { }
102 inline void DEBUG_DUMP(
const unsigned long* value,
size_t num) { }
103 inline void DEBUG_DUMP(
const float* value,
size_t num) { }
104 inline void DEBUG_DUMP(
const double* value,
size_t num) { }