Fix for ticket:54 .
authormichaelld <michaelld@221aa14e-8319-0410-a670-987f0aec2ac5>
Sat, 26 Aug 2006 19:20:27 +0000 (19:20 +0000)
committermichaelld <michaelld@221aa14e-8319-0410-a670-987f0aec2ac5>
Sat, 26 Aug 2006 19:20:27 +0000 (19:20 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@3428 221aa14e-8319-0410-a670-987f0aec2ac5

gr-error-correcting-codes/src/lib/libecc/mld/n2bs.cc
gr-error-correcting-codes/src/lib/libecc/mld/n2bs.h

index 64c0cf16e960e546e8b158440f4a559cbdcb0bb1..d32dec8652d049b36ac0759c037e49bc5a91ee14 100644 (file)
 
 static const int g_num_bits_per_byte = 8;
 
-std::string DoIt (int64_t number, size_t digits)
+std::string DoIt (long long number, char digits)
 {
   std::string retVal (digits, '0');
   if (number != 0)
-    for (int n = --digits; n >= 0; n--) {
+    for (char n = digits-1; n >= 0; n--) {
       if (number & 1) {
        retVal[n] = '1';
       }
@@ -38,51 +38,63 @@ std::string DoIt (int64_t number, size_t digits)
   return (retVal);
 }
 
-std::string n2bs (int8_t number, size_t digits)
+std::string n2bs (char number, unsigned char digits)
 {
-  if (digits > (sizeof (int8_t) * g_num_bits_per_byte))
-    digits = sizeof (int8_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (char) * g_num_bits_per_byte))
+    digits = sizeof (char) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
-std::string n2bs (int16_t number, size_t digits)
+std::string n2bs (short number, unsigned char digits)
 {
-  if (digits > (sizeof (int16_t) * g_num_bits_per_byte))
-    digits = sizeof (int16_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (short) * g_num_bits_per_byte))
+    digits = sizeof (short) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
-std::string n2bs (int32_t number, size_t digits)
+std::string n2bs (int number, unsigned char digits)
 {
-  if (digits > (sizeof (int32_t) * g_num_bits_per_byte))
-    digits = sizeof (int32_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (int) * g_num_bits_per_byte))
+    digits = sizeof (int) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
-std::string n2bs (int64_t number, size_t digits)
+std::string n2bs (long number, unsigned char digits)
 {
-  if (digits > (sizeof (int64_t) * g_num_bits_per_byte))
-    digits = sizeof (int64_t);
-  return DoIt (number, digits);
+  if (digits > (unsigned char)(sizeof (long long) * g_num_bits_per_byte))
+    digits = sizeof (long long) * g_num_bits_per_byte;
+  return DoIt (number, (char) digits);
 }
-std::string n2bs (u_int8_t number, size_t digits)
+std::string n2bs (long long number, unsigned char digits)
 {
-  if (digits > (sizeof (u_int8_t) * g_num_bits_per_byte))
-    digits = sizeof (u_int8_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (long long) * g_num_bits_per_byte))
+    digits = sizeof (long long) * g_num_bits_per_byte;
+  return DoIt (number, (char) digits);
 }
-std::string n2bs (u_int16_t number, size_t digits)
+std::string n2bs (unsigned char number, unsigned char digits)
 {
-  if (digits > (sizeof (u_int16_t) * g_num_bits_per_byte))
-    digits = sizeof (u_int16_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (unsigned char) * g_num_bits_per_byte))
+    digits = sizeof (unsigned char) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
-std::string n2bs (u_int32_t number, size_t digits)
+std::string n2bs (unsigned short number, unsigned char digits)
 {
-  if (digits > (sizeof (u_int32_t) * g_num_bits_per_byte))
-    digits = sizeof (u_int32_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (unsigned short) * g_num_bits_per_byte))
+    digits = sizeof (unsigned short) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
-std::string n2bs (u_int64_t number, size_t digits)
+std::string n2bs (unsigned int number, unsigned char digits)
 {
-  if (digits > (sizeof (u_int64_t) * g_num_bits_per_byte))
-    digits = sizeof (u_int64_t);
-  return DoIt ((int64_t) number, digits);
+  if (digits > (unsigned char)(sizeof (unsigned int) * g_num_bits_per_byte))
+    digits = sizeof (unsigned int) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
+}
+std::string n2bs (unsigned long number, unsigned char digits)
+{
+  if (digits > (unsigned char)(sizeof (unsigned long long) * g_num_bits_per_byte))
+    digits = sizeof (unsigned long long) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
+}
+std::string n2bs (unsigned long long number, unsigned char digits)
+{
+  if (digits > (unsigned char)(sizeof (unsigned long long) * g_num_bits_per_byte))
+    digits = sizeof (unsigned long long) * g_num_bits_per_byte;
+  return DoIt ((long long) number, (char) digits);
 }
index 16ef4d758dc88beaec9cc50baeb717d3253637c7..5bd95c991e2b4e05f701e2d440b8d7a9c0bd0f5c 100644 (file)
 
 #include <string>
 
-std::string n2bs (int8_t number, size_t digits);
-std::string n2bs (int16_t number, size_t digits);
-std::string n2bs (int32_t number, size_t digits);
-#if 1
-std::string n2bs (long number, size_t digits);
-#endif
-std::string n2bs (int64_t number, size_t digits);
-std::string n2bs (u_int8_t number, size_t digits);
-std::string n2bs (u_int16_t number, size_t digits);
-std::string n2bs (u_int32_t number, size_t digits);
-#if 1
-std::string n2bs (unsigned long number, size_t digits);
-#endif
-std::string n2bs (u_int64_t number, size_t digits);
-
-void cout_binary (int number, int digits);
+std::string n2bs (char number, unsigned char digits);
+std::string n2bs (short number, unsigned char digits);
+std::string n2bs (int number, unsigned char digits);
+std::string n2bs (long number, unsigned char digits);
+std::string n2bs (long long number, unsigned char digits);
+std::string n2bs (unsigned char number, unsigned char digits);
+std::string n2bs (unsigned short number, unsigned char digits);
+std::string n2bs (unsigned int number, unsigned char digits);
+std::string n2bs (unsigned long number, unsigned char digits);
+std::string n2bs (unsigned long long number, unsigned char digits);
+
+inline std::string n2bs (char number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, char digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, unsigned short digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, short digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, unsigned int digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, int digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, unsigned long digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, long digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, unsigned long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+
+inline std::string n2bs (char number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (short number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (int number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (long long number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned char number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned short number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned int number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
+inline std::string n2bs (unsigned long long number, long long digits)
+{return (n2bs (number, (unsigned char) digits));};
 
 #endif /* INCLUDED_N2BS_H */