Fix small bugs in fpm handling to keep GCC quiet
[olsrd.git] / src / fpm.h
index 9fdad8d..d471f82 100644 (file)
--- a/src/fpm.h
+++ b/src/fpm.h
@@ -1,33 +1,34 @@
+
 /*
  * The olsr.org Optimized Link-State Routing daemon(olsrd)
  * Copyright (c) 2008, Sven-Ola Tuecke (sven-ola@gmx.de)
  * All rights reserved.
  *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
  * are met:
  *
- * * Redistributions of source code must retain the above copyright 
+ * * Redistributions of source code must retain the above copyright
  *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright 
- *   notice, this list of conditions and the following disclaimer in 
- *   the documentation and/or other materials provided with the 
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in
+ *   the documentation and/or other materials provided with the
  *   distribution.
- * * Neither the name of olsr.org, olsrd nor the names of its 
- *   contributors may be used to endorse or promote products derived 
+ * * Neither the name of olsr.org, olsrd nor the names of its
+ *   contributors may be used to endorse or promote products derived
  *   from this software without specific prior written permission.
  *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
  * Visit http://www.olsr.org for more information.
 
 #if 0
 
-/* 
+/*
  * Use this to find implicit number conversions when compiling
  * Note: comparing pointers is unsigned, so do not use to run.
  */
-typedef voidfpm;
+typedef void *fpm;
 typedef signed long sfpm;
 typedef unsigned long ufpm;
 #define FPM_BIT 12
@@ -72,8 +73,8 @@ typedef unsigned long long ufpm;
 typedef long fpm;
 typedef signed long sfpm;
 typedef unsigned long ufpm;
-#define FPM_BIT 12
+#define FPM_BIT 10
+
 #endif
 
 #define FPM_NUM (1 << FPM_BIT)
@@ -105,6 +106,7 @@ typedef unsigned long ufpm;
 #define fpmidiv_def(a, b) (fpm)((sfpm)(a) / (int)(b))
 
 #if 0
+
 /*
  * Special: uses long long for larger numbers, currently unused
  */
@@ -151,7 +153,7 @@ fpm fpmidiv(fpm a, int b);
 fpm fpmlmul(fpm a, fpm b);
 fpm fpmldiv(fpm a, fpm b);
 #endif
-  
+
 #endif /* NDEBUG */
 
 #define INFINITE_ETX itofpm(FPM_MAX)
@@ -160,6 +162,9 @@ fpm fpmldiv(fpm a, fpm b);
 #define CEIL_LQDIFF ftofpm(1.1)
 #define FLOOR_LQDIFF ftofpm(0.9)
 
+fpm atofpm(const char *);
+const char *fpmtoa(fpm);
+
 #else /* USE_FPM */
 
 #define INFINITE_ETX ((float)(1 << 30))
@@ -168,20 +173,16 @@ fpm fpmldiv(fpm a, fpm b);
 #define CEIL_LQDIFF 1.1
 #define FLOOR_LQDIFF 0.9
 
-#endif /* USE_FPM */
+float atofpm(const char *);
+const char *fpmtoa(float);
 
-const char *olsr_etx_to_string(
-#ifdef USE_FPM
-fpm
-#else
-float
-#endif
-);
+#endif /* USE_FPM */
 
 #endif
 
 /*
  * Local Variables:
  * c-basic-offset: 2
+ * indent-tabs-mode: nil
  * End:
  */