00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef ACE_OS_NS_MATH_H
00018 # define ACE_OS_NS_MATH_H
00019 
00020 # include  "ace/pre.h"
00021 
00022 # include "ace/config-all.h"
00023 
00024 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 #  pragma once
00026 # endif 
00027 
00028 #include "ace/os_include/os_math.h"
00029 
00030 #include  "ace/ACE_export.h"
00031 
00032 #if defined (ACE_EXPORT_MACRO)
00033 #  undef ACE_EXPORT_MACRO
00034 #endif
00035 #define ACE_EXPORT_MACRO ACE_Export
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 inline double ace_log2_helper (double x)
00046 {
00047 #if defined (log2)
00048   return log2 (x);
00049 #undef log2
00050 #else
00051 #  if !defined (ACE_LACKS_LOG2)
00052   return ACE_STD_NAMESPACE::log2 (x);
00053 #  else
00054   
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076   
00077   
00078   double const _1_ln2 = 1.442695040888963407359924681002;
00079 
00080   return log (x) * _1_ln2;
00081 #  endif 
00082 #endif 
00083 }
00084 
00085 
00086 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00087 
00088 namespace ACE_OS
00089 {
00090 
00091   ACE_NAMESPACE_INLINE_FUNCTION
00092   double floor (double x);
00093 
00094 
00095   ACE_NAMESPACE_INLINE_FUNCTION
00096   double ceil (double x);
00097 
00098 
00099   ACE_NAMESPACE_INLINE_FUNCTION
00100   double log2 (double x);
00101 
00102 } 
00103 
00104 ACE_END_VERSIONED_NAMESPACE_DECL
00105 
00106 # if defined (ACE_HAS_INLINED_OSCALLS)
00107 #   if defined (ACE_INLINE)
00108 #     undef ACE_INLINE
00109 #   endif 
00110 #   define ACE_INLINE inline
00111 #   include "ace/OS_NS_math.inl"
00112 # endif 
00113 
00114 # include  "ace/post.h"
00115 #endif