diff -rupN metis-4.0/Lib/kmetis.c metis-4.0.NEW/Lib/kmetis.c
--- metis-4.0/Lib/kmetis.c	1998-11-30 17:26:47.000000000 +0100
+++ metis-4.0.NEW/Lib/kmetis.c	2010-04-29 17:49:55.000000000 +0200
@@ -66,7 +66,7 @@ void METIS_WPartGraphKway(int *nvtxs, id
     ctrl.dbglvl = options[OPTION_DBGLVL];
   }
   ctrl.optype = OP_KMETIS;
-  ctrl.CoarsenTo = amax((*nvtxs)/(40*log2(*nparts)), 20*(*nparts));
+  ctrl.CoarsenTo = amax((*nvtxs)/(40*log2_function(*nparts)), 20*(*nparts));
   ctrl.maxvwgt = 1.5*((graph.vwgt ? idxsum(*nvtxs, graph.vwgt) : (*nvtxs))/ctrl.CoarsenTo);
 
   InitRandom(-1);
diff -rupN metis-4.0/Lib/kvmetis.c metis-4.0.NEW/Lib/kvmetis.c
--- metis-4.0/Lib/kvmetis.c	1998-11-30 17:26:47.000000000 +0100
+++ metis-4.0.NEW/Lib/kvmetis.c	2010-04-29 17:49:55.000000000 +0200
@@ -66,7 +66,7 @@ void METIS_WPartGraphVKway(int *nvtxs, i
     ctrl.dbglvl = options[OPTION_DBGLVL];
   }
   ctrl.optype = OP_KVMETIS;
-  ctrl.CoarsenTo = amax((*nvtxs)/(40*log2(*nparts)), 20*(*nparts));
+  ctrl.CoarsenTo = amax((*nvtxs)/(40*log2_function(*nparts)), 20*(*nparts));
   ctrl.maxvwgt = 1.5*((graph.vwgt ? idxsum(*nvtxs, graph.vwgt) : (*nvtxs))/ctrl.CoarsenTo);
 
   InitRandom(-1);
diff -rupN metis-4.0/Lib/mkmetis.c metis-4.0.NEW/Lib/mkmetis.c
--- metis-4.0/Lib/mkmetis.c	1998-11-30 17:26:48.000000000 +0100
+++ metis-4.0.NEW/Lib/mkmetis.c	2010-04-29 17:49:55.000000000 +0200
@@ -47,7 +47,7 @@ void METIS_mCPartGraphKway(int *nvtxs, i
     ctrl.dbglvl = options[OPTION_DBGLVL];
   }
   ctrl.optype = OP_KMETIS;
-  ctrl.CoarsenTo = amax((*nvtxs)/(20*log2(*nparts)), 30*(*nparts));
+  ctrl.CoarsenTo = amax((*nvtxs)/(20*log2_function(*nparts)), 30*(*nparts));
 
   ctrl.nmaxvwgt = 1.5/(1.0*ctrl.CoarsenTo);
 
diff -rupN metis-4.0/Lib/proto.h metis-4.0.NEW/Lib/proto.h
--- metis-4.0/Lib/proto.h	1998-11-30 17:26:50.000000000 +0100
+++ metis-4.0.NEW/Lib/proto.h	2010-04-29 17:49:55.000000000 +0200
@@ -459,7 +459,7 @@ double drand48();
 void srand48(long);
 int ispow2(int);
 void InitRandom(int);
-int log2(int);
+int log2_function(int);
 
 
 
diff -rupN metis-4.0/Lib/rename.h metis-4.0.NEW/Lib/rename.h
--- metis-4.0/Lib/rename.h	1998-11-30 17:26:50.000000000 +0100
+++ metis-4.0.NEW/Lib/rename.h	2010-04-29 17:49:55.000000000 +0200
@@ -410,7 +410,8 @@
 #define RandomPermute			__RandomPermute
 #define ispow2				__ispow2
 #define InitRandom			__InitRandom
-#define log2				__log2
+/* Correction bug Nadir SOUALEM*/
+#define log2_function				__log2_function
 
 
 
diff -rupN metis-4.0/Lib/util.c metis-4.0.NEW/Lib/util.c
--- metis-4.0/Lib/util.c	1998-11-30 17:26:50.000000000 +0100
+++ metis-4.0.NEW/Lib/util.c	2010-04-29 17:49:55.000000000 +0200
@@ -507,9 +507,9 @@ void InitRandom(int seed)
 }
 
 /*************************************************************************
-* This function returns the log2(x)
+* This function returns the log2_function(x)
 **************************************************************************/
-int log2(int a)
+int log2_function(int a)
 {
   int i;
 

