Index: /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/BamgVertex.cpp	(revision 21865)
@@ -122,5 +122,5 @@
 	}
 	/*}}}*/
-	double  BamgVertex::Smoothing(Mesh &Th,const Mesh &BTh,Triangle* &tstart ,double omega){/*{{{*/
+	double  BamgVertex::Smoothing(Mesh &Th,Mesh &BTh,Triangle* &tstart ,double omega){/*{{{*/
 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Smoothing)*/
 
Index: /issm/trunk-jpl/src/c/bamg/BamgVertex.h
===================================================================
--- /issm/trunk-jpl/src/c/bamg/BamgVertex.h	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/BamgVertex.h	(revision 21865)
@@ -42,5 +42,5 @@
 			/*methods (No constructor and no destructors...)*/
 			BamgVertex();
-			double Smoothing(Mesh & ,const Mesh & ,Triangle  * & ,double =1);
+			double Smoothing(Mesh & ,Mesh & ,Triangle  * & ,double =1);
 			void   MetricFromHessian(const double Hxx,const double Hyx, const double Hyy, const double smin,const double smax,const double s,const double err,BamgOpts* bamgopts);
 			void   Echo();
Index: /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp	(revision 21865)
@@ -188,5 +188,5 @@
 	}
 	/*}}}*/
-	void ListofIntersectionTriangles::SplitEdge(const Mesh & Bh, const R2 &A,const R2  &B,int nbegin) {/*{{{*/
+	void ListofIntersectionTriangles::SplitEdge(Mesh & Bh, const R2 &A,const R2  &B,int nbegin) {/*{{{*/
 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ListofIntersectionTriangles)*/
 
Index: /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.h
===================================================================
--- /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.h	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/ListofIntersectionTriangles.h	(revision 21865)
@@ -63,5 +63,5 @@
 			int    NewItem(Triangle *tt,double d0,double d1,double d2);
 			int    NewItem(R2 ,const Metric &);
-			void   SplitEdge(const Mesh &,const R2 &,const R2 &,int nbegin=0);
+			void   SplitEdge(Mesh &,const R2 &,const R2 &,int nbegin=0);
 			double Length();
 			long   NewPoints(BamgVertex *,long &nbv,long maxnbv);
Index: /issm/trunk-jpl/src/c/bamg/Mesh.cpp
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/Mesh.cpp	(revision 21865)
@@ -2950,5 +2950,5 @@
 	}
 	/*}}}*/
-	Metric Mesh::MetricAt(const R2 & A) const { /*{{{*/
+	Metric Mesh::MetricAt(const R2 & A){ /*{{{*/
 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MetricAt)*/
 
@@ -3871,5 +3871,5 @@
 	}
 	/*}}}*/
-	Triangle * Mesh::TriangleFindFromCoord(const I2 & B,long long det3[3], Triangle *tstart) const {/*{{{*/
+	Triangle * Mesh::TriangleFindFromCoord(const I2 & B,long long det3[3], Triangle *tstart){/*{{{*/
 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FindTriangleContening)*/
 
@@ -3946,5 +3946,5 @@
 
 			if (k==0) break;
-			if (k==2 && BinaryRand()) Exchange(ii[0],ii[1]);
+			if (k==2 && this->RandomNumber(1)) Exchange(ii[0],ii[1]);
 			_assert_(k<3);
 			AdjacentTriangle t1 = t->Adj(jj=ii[0]);
@@ -4795,5 +4795,5 @@
 			 ToSwap =1; 
 			else // swap alleatoire 
-			 if (BinaryRand()) 
+			 if (this->RandomNumber(1)) 
 			  ToSwap =2; 
 		  }
Index: /issm/trunk-jpl/src/c/bamg/Mesh.h
===================================================================
--- /issm/trunk-jpl/src/c/bamg/Mesh.h	(revision 21864)
+++ /issm/trunk-jpl/src/c/bamg/Mesh.h	(revision 21865)
@@ -95,5 +95,5 @@
 			void TrianglesRenumberBySubDomain(bool justcompress=false);
 			void SmoothingVertex(int =3,double=0.3);
-			Metric MetricAt (const R2 &) const;
+			Metric MetricAt (const R2 &);
 			GeomEdge* ProjectOnCurve( Edge & AB, BamgVertex &  A, BamgVertex & B,double theta, BamgVertex & R,VertexOnEdge & BR,VertexOnGeom & GR);
 			long GetId(const Triangle & t) const;
@@ -104,5 +104,5 @@
 			long GetId(const Edge * t) const;
 			BamgVertex* NearestVertex(int i,int j) ;
-			Triangle* TriangleFindFromCoord(const I2 & ,long long [3],Triangle *tstart=0) const;
+			Triangle* TriangleFindFromCoord(const I2 & ,long long [3],Triangle *tstart=0);
 			void ReadMesh(int* index,double* x,double* y,int nods,int nels);
 			void ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts);
Index: sm/trunk-jpl/src/c/shared/Bamg/BinaryRand.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Bamg/BinaryRand.h	(revision 21864)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#ifndef _BINARYRAND_H_
-#define _BINARYRAND_H_
-
-#include <cstdlib>
-
-/*Return 1 or 0 randomly*/
-inline int BinaryRand(){
-	#ifdef RAND_MAX
-		/*RAND_MAX is defined by stdlib.h and is usually 32767*/
-		const long HalfRandMax = RAND_MAX/2;
-		return rand() < HalfRandMax;
-	#else
-		/*For sun machines, RAND_MAX is not defined, use 2^24*/
-		return rand() & 16384;
-	#endif
-} 
-
-#endif
Index: /issm/trunk-jpl/src/c/shared/Bamg/shared.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Bamg/shared.h	(revision 21864)
+++ /issm/trunk-jpl/src/c/shared/Bamg/shared.h	(revision 21865)
@@ -8,5 +8,4 @@
 #include "Abs.h"
 #include "BigPrimeNumber.h"
-#include "BinaryRand.h"
 #include "Exchange.h"
 #include "extrema.h"
