Changeset 22737
- Timestamp:
- 05/03/18 10:00:45 (7 years ago)
- Location:
- issm/trunk-jpl/src/c/toolkits/issm
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h
r15104 r22737 140 140 switch(mode){ 141 141 case NORM_INF: 142 norm=0 ;142 norm=0.; 143 143 for(i=0;i<this->M;i++){ 144 144 absolute=0; … … 151 151 break; 152 152 case NORM_FROB: 153 norm=0 ;153 norm=0.; 154 154 for(i=0;i<this->M;i++){ 155 155 for(j=0;j<this->N;j++){ 156 norm+= pow(this->matrix[N*i+j],2);156 norm+=this->matrix[N*i+j]*this->matrix[N*i+j]; 157 157 } 158 158 } -
issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h
r18063 r22737 311 311 switch(mode){ 312 312 case NORM_INF: 313 local_norm=0 ;313 local_norm=0.; 314 314 for(i=0;i<this->m;i++){ 315 315 absolute=0; … … 324 324 break; 325 325 case NORM_FROB: 326 local_norm=0 ;326 local_norm=0.; 327 327 for(i=0;i<this->m;i++){ 328 328 for(j=0;j<this->N;j++){ 329 local_norm+= pow(this->matrix[N*i+j],2);329 local_norm+=this->matrix[N*i+j]*this->matrix[N*i+j]; 330 330 } 331 331 } -
issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h
r21615 r22737 24 24 #include "./SparseRow.h" 25 25 #include <math.h> 26 27 26 /*}}}*/ 28 27 -
issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h
r22591 r22737 461 461 switch(mode){ 462 462 case NORM_INF: 463 //local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,fabs(this->vector[i]));464 local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,this->vector[i]);463 local_norm=0.; for(i=0;i<this->m;i++)local_norm=max(local_norm,fabs(this->vector[i])); 464 //local_norm=0; for(i=0;i<this->m;i++)local_norm=max(local_norm,this->vector[i]); 465 465 ISSM_MPI_Reduce(&local_norm, &norm, 1, ISSM_MPI_DOUBLE, ISSM_MPI_MAX, 0, IssmComm::GetComm()); 466 466 ISSM_MPI_Bcast(&norm,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); … … 468 468 break; 469 469 case NORM_TWO: 470 local_norm=0 ;471 for(i=0;i<this->m;i++)local_norm+= pow(this->vector[i],2);470 local_norm=0.; 471 for(i=0;i<this->m;i++)local_norm+=this->vector[i]*this->vector[i]; 472 472 ISSM_MPI_Reduce(&local_norm, &norm, 1, ISSM_MPI_DOUBLE, ISSM_MPI_SUM, 0, IssmComm::GetComm()); 473 473 ISSM_MPI_Bcast(&norm,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm()); -
issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h
r19977 r22737 226 226 switch(mode){ 227 227 case NORM_INF: 228 //norm=0; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i]));229 norm=0; for(i=0;i<this->M;i++)norm=max(norm,this->vector[i]);228 norm=0.; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i])); 229 //norm=0.; for(i=0;i<this->M;i++)norm=max(norm,this->vector[i]); 230 230 return norm; 231 231 break; 232 232 case NORM_TWO: 233 norm=0 ;234 for(i=0;i<this->M;i++)norm+= pow(this->vector[i],2);233 norm=0.; 234 for(i=0;i<this->M;i++)norm+=this->vector[i]*this->vector[i]; 235 235 return sqrt(norm); 236 236 break; -
issm/trunk-jpl/src/c/toolkits/issm/SparseRow.h
r16452 r22737 102 102 103 103 int i; 104 doubletype norm=0 ;104 doubletype norm=0.; 105 105 106 106 switch(mode){ … … 113 113 case NORM_FROB: 114 114 for(i=0;i<ncols;i++){ 115 norm+= pow(values[i],2);115 norm+=values[i]*values[i]; 116 116 } 117 117 return norm;
Note:
See TracChangeset
for help on using the changeset viewer.