$NetBSD: patch-ab,v 1.1 2007/01/14 16:28:40 rillig Exp $

SunPro complains about an overloading abiguity when std::log(2) is
called. It doesn't know whether to take log(double) or log(long double).

There also seems to be some namespace issues, maybe an #include
directive for a standard header has been placed into a namespace?

--- 7z/AriBitCoder.cc.orig	2003-02-10 20:25:06.000000000 +0100
+++ 7z/AriBitCoder.cc	2007-01-14 17:00:56.250636464 +0100
@@ -10,10 +10,12 @@ static const double kDummyMultMid = (1.0
 
 CPriceTables::CPriceTables()
 {
-  double aLn2 = log(2);
-  double aLnAll = log(kBitModelTotal >> kNumMoveReducingBits);
+  using ::std::log;
+  using ::std::fabs;
+  double aLn2 = log(2.0);
+  double aLnAll = log((double)(kBitModelTotal >> kNumMoveReducingBits));
   for(UINT32 i = 1; i < (kBitModelTotal >> kNumMoveReducingBits) - 1; i++)
-    m_StatePrices[i] = UINT32((fabs(aLnAll - log(i)) / aLn2 + kDummyMultMid) * kBitPrice);
+    m_StatePrices[i] = UINT32((fabs(aLnAll - log((double)i)) / aLn2 + kDummyMultMid) * kBitPrice);
 }
 
 CPriceTables g_PriceTables;
