Index: /issm/trunk-jpl/src/ad/todo
===================================================================
--- /issm/trunk-jpl/src/ad/todo	(revision 13061)
+++ /issm/trunk-jpl/src/ad/todo	(revision 13062)
@@ -43,2 +43,8 @@
 
 Replace memcpy, realloc with x layers.  Replace all calls to malloc and free in the code.
+
+
+
+Questions: 
+set of active IssmDouble variables different from set of independent variables activated with <<=? 
+same thing dependent variables? 
Index: /issm/trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp	(revision 13061)
+++ /issm/trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp	(revision 13062)
@@ -56,24 +56,24 @@
 	/*Intermediary: */
 	int     i;
-	double* doubleA=NULL;
-	double* doubleB=NULL;
-	double* doubleX=NULL;
+	IssmPDouble* pdoubleA=NULL;
+	IssmPDouble* pdoubleB=NULL;
+	IssmPDouble* pdoubleX=NULL;
 
 	/*First, transfer from IssmDouble to double all our matrices and vectors: */
-	doubleA=xNew<double>(n*n);
-	doubleB=xNew<double>(n);
-	for(i=0;i<n*n;i++)A[i]>>=doubleA[i];
-	for(i=0;i<n;i++)B[i]>>=doubleB[i];
+	pdoubleA=xNew<double>(n*n);
+	pdoubleB=xNew<double>(n);
+	for(i=0;i<n*n;i++)pdoubleA[i]=reCast<IssmPDouble>(A[i]);
+	for(i=0;i<n;i++)pdoubleB[i]=reCast<IssmPDouble>(B[i]);
 	
 	/*Call wrapped solver: */
-	SolverxSeq(&doubleX,doubleA, doubleB, n);
+	SolverxSeq(&pdoubleX,pdoubleA, pdoubleB, n);
 
 	/*Transfer solution vector from double to IssmDouble: */
 	X = xNew<IssmDouble>(n);
-	for(i=0;i<n;i++)X[i]<<=doubleX[i];
+	for(i=0;i<n;i++)X[i]=reCast<IssmDouble>(pdoubleX[i]);
 
 	/*Free ressources:*/
-	xDelete<double>(doubleA);
-	xDelete<double>(doubleB);
+	xDelete<IssmPDouble>(pdoubleA);
+	xDelete<IssmPDouble>(pdoubleB);
 
 	/*Assign output pointers: */
@@ -82,10 +82,5 @@
 /*}}}*/
 #endif
-//void SolverxSeq(double** pX,double* A,double* B,int n){ //{{{
-#ifdef _HAVE_ADOLC_
-void SolverxSeq(double** pX,double* A,double* B,int n){ 
-#else
-void SolverxSeq(IssmDouble** pX,IssmDouble* A,IssmDouble* B,int n){
-#endif
+void SolverxSeq(IssmPDouble** pX,IssmPDouble* A,IssmPDouble* B,int n){ //{{{
 	#ifdef _HAVE_GSL_
 	/*GSL Matrices and vectors: */
