Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 22737)
@@ -140,5 +140,5 @@
 			switch(mode){
 				case NORM_INF:
-					norm=0;
+					norm=0.;
 					for(i=0;i<this->M;i++){
 						absolute=0;
@@ -151,8 +151,8 @@
 					break; 
 				case NORM_FROB:
-					norm=0;
+					norm=0.;
 					for(i=0;i<this->M;i++){
 						for(j=0;j<this->N;j++){
-							norm+=pow(this->matrix[N*i+j],2);
+							norm+=this->matrix[N*i+j]*this->matrix[N*i+j];
 						}
 					}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 22737)
@@ -311,5 +311,5 @@
 			switch(mode){
 				case NORM_INF:
-					local_norm=0;
+					local_norm=0.;
 					for(i=0;i<this->m;i++){
 						absolute=0;
@@ -324,8 +324,8 @@
 					break; 
 				case NORM_FROB:
-					local_norm=0;
+					local_norm=0.;
 					for(i=0;i<this->m;i++){
 						for(j=0;j<this->N;j++){
-							local_norm+=pow(this->matrix[N*i+j],2);
+							local_norm+=this->matrix[N*i+j]*this->matrix[N*i+j];
 						}
 					}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h	(revision 22737)
@@ -24,5 +24,4 @@
 #include "./SparseRow.h"
 #include <math.h>
-
 /*}}}*/
 
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 22737)
@@ -461,6 +461,6 @@
 			switch(mode){
 				case NORM_INF:
-					//local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,fabs(this->vector[i]));
-					local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,this->vector[i]);
+					local_norm=0.; for(i=0;i<this->m;i++)local_norm=max(local_norm,fabs(this->vector[i]));
+					//local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,this->vector[i]);
 					ISSM_MPI_Reduce(&local_norm, &norm, 1, ISSM_MPI_DOUBLE, ISSM_MPI_MAX, 0, IssmComm::GetComm());
 					ISSM_MPI_Bcast(&norm,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
@@ -468,6 +468,6 @@
 					break;
 				case NORM_TWO:
-					local_norm=0; 
-					for(i=0;i<this->m;i++)local_norm+=pow(this->vector[i],2);
+					local_norm=0.; 
+					for(i=0;i<this->m;i++)local_norm+=this->vector[i]*this->vector[i];
 					ISSM_MPI_Reduce(&local_norm, &norm, 1, ISSM_MPI_DOUBLE, ISSM_MPI_SUM, 0, IssmComm::GetComm());
 					ISSM_MPI_Bcast(&norm,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h	(revision 22737)
@@ -226,11 +226,11 @@
 			switch(mode){
 				case NORM_INF:
-					//norm=0; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i]));
-					norm=0; for(i=0;i<this->M;i++)norm=max(norm,this->vector[i]);
+					norm=0.; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i]));
+					//norm=0.; for(i=0;i<this->M;i++)norm=max(norm,this->vector[i]);
 					return norm;
 					break;
 				case NORM_TWO:
-					norm=0; 
-					for(i=0;i<this->M;i++)norm+=pow(this->vector[i],2);
+					norm=0.; 
+					for(i=0;i<this->M;i++)norm+=this->vector[i]*this->vector[i];
 					return sqrt(norm);
 					break;
Index: /issm/trunk-jpl/src/c/toolkits/issm/SparseRow.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/SparseRow.h	(revision 22736)
+++ /issm/trunk-jpl/src/c/toolkits/issm/SparseRow.h	(revision 22737)
@@ -102,5 +102,5 @@
 
 			int i;
-			doubletype norm=0;
+			doubletype norm=0.;
 
 			switch(mode){
@@ -113,5 +113,5 @@
 				case NORM_FROB:
 					for(i=0;i<ncols;i++){
-						norm+=pow(values[i],2);
+						norm+=values[i]*values[i];
 					}
 					return norm;
