* killed lots of #ifdef ... #endif which make the source quite unreadable
[olsrd.git] / src / mantissa.h
index 0f0b3c9..7764b1a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * The olsr.org Optimized Link-State Routing daemon(olsrd)
- * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
+ * Copyright (c) 2004, Andreas Tønnesen(andreto@olsr.org)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without 
@@ -36,7 +36,6 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: mantissa.h,v 1.8 2005/05/25 13:36:26 kattemat Exp $
  */
 
 
 #define _OLSR_MANTISSA
 
 #include "olsr_types.h"
-#include "olsr_protocol.h"
 
+/* olsr_reltime is a relative timestamp measured in microseconds */
+typedef olsr_u32_t olsr_reltime;
 
 /**
  * Macro for converting a mantissa/exponent 8bit value back
- * to double as described in RFC3626:
+ * to an integer (measured in microseconds) as described in RFC3626:
  *
  * value = C*(1+a/16)*2^b [in seconds]
  *
  * me is the 8 bit mantissa/exponent value
  *
  */
-#define ME_TO_DOUBLE(me) \
-  (double)(VTIME_SCALE_FACTOR*(1+(double)(me>>4)/16)*(double)(1<<(me&0x0F)))
+olsr_reltime me_to_reltime(const olsr_u8_t);
 
-#ifndef OLSR_PLUGIN
+olsr_u8_t reltime_to_me(const olsr_reltime);
 
-olsr_u8_t
-double_to_me(double);
-
-#endif
 #endif