00001 00029 #ifndef COMMFUNC_H 00030 #define COMMFUNC_H 00031 00032 #include <itpp/base/mat.h> 00033 #include <itpp/base/vec.h> 00034 00035 00036 namespace itpp 00037 { 00038 00047 bmat graycode(int m); 00048 00053 int hamming_distance(const bvec &a, const bvec &b); 00054 00059 int weight(const bvec &a); 00060 00081 vec waterfilling(const vec& alpha, double P); 00082 00083 } // namespace itpp 00084 00085 #endif // #ifndef COMMFUNC_H