Changeset 19490
- Timestamp:
- 08/13/15 12:32:28 (10 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/externalpackages/adolc/install-withampi.sh
r17292 r19490 5 5 rm -rf install src 6 6 7 git clone -b ampi git://git.mcs.anl.gov/adol-c.git src7 git clone https://gitlab.com/adol-c/adol-c.git src 8 8 #git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad 9 9 -
issm/trunk-jpl/m4/issm_options.m4
r19407 r19490 722 722 fi 723 723 AM_CONDITIONAL([ADOLC], [test x$HAVE_ADOLC = xyes]) 724 AM_COND_IF(ADOLC,[CXXFLAGS+=" -std=c++11"]) 724 725 dnl }}} 725 726 dnl adolc-version{{{ -
issm/trunk-jpl/src/c/cores/ad_core.cpp
r19344 r19490 116 116 femmodel->parameters->FindParam(&driver,AutodiffDriverEnum); 117 117 118 /* these are always needed regardless of the interpreter */119 anEDF_for_solverx_p->dp_x=xNew<double>(anEDF_for_solverx_p->max_n);120 anEDF_for_solverx_p->dp_y=xNew<double>(anEDF_for_solverx_p->max_m);121 118 122 119 if (strcmp(driver,"fos_forward")==0){ /*{{{*/ … … 143 140 #endif 144 141 145 /*allocate the space for the parameters to invoke the EDF fos_forward:*/146 anEDF_for_solverx_p->dp_X=xNew<double>(anEDF_for_solverx_p->max_n);147 anEDF_for_solverx_p->dp_Y=xNew<double>(anEDF_for_solverx_p->max_m);148 142 149 143 /*call driver: */ … … 190 184 // anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx; 191 185 192 /*allocate the space for the parameters to invoke EDF fov_forward:*/193 anEDF_for_solverx_p->dpp_X=xNew<double>(anEDF_for_solverx_p->max_n, tangentDirNum);194 anEDF_for_solverx_p->dpp_Y=xNew<double>(anEDF_for_solverx_p->max_m, tangentDirNum);195 186 196 187 /*seed matrix: */ … … 252 243 #endif 253 244 254 /*allocate the space for the parameters to invoke the EDF fos_reverse :*/255 anEDF_for_solverx_p->dp_U=xNew<double>(anEDF_for_solverx_p->max_m);256 anEDF_for_solverx_p->dp_Z=xNew<double>(anEDF_for_solverx_p->max_n);257 245 258 246 /*call driver: */ … … 296 284 #endif 297 285 298 /*allocate the space for the parameters to invoke the EDF fos_reverse :*/299 anEDF_for_solverx_p->dpp_U=xNew<double>(weightNum,anEDF_for_solverx_p->max_m);300 anEDF_for_solverx_p->dpp_Z=xNew<double>(weightNum,anEDF_for_solverx_p->max_n);301 286 302 287 /*seed matrix: */ … … 331 316 else _error_("driver: " << driver << " not yet supported!"); 332 317 333 /* delete the allocated space for the parameters:*/334 xDelete(anEDF_for_solverx_p->dp_x);335 xDelete(anEDF_for_solverx_p->dp_X);336 xDelete(anEDF_for_solverx_p->dpp_X);337 xDelete(anEDF_for_solverx_p->dp_y);338 xDelete(anEDF_for_solverx_p->dp_Y);339 xDelete(anEDF_for_solverx_p->dpp_Y);340 xDelete(anEDF_for_solverx_p->dp_U);341 xDelete(anEDF_for_solverx_p->dpp_U);342 xDelete(anEDF_for_solverx_p->dp_Z);343 xDelete(anEDF_for_solverx_p->dpp_Z);344 318 345 319 if(VerboseAutodiff())_printf0_(" end AD core\n"); -
issm/trunk-jpl/src/c/shared/Numerics/isnan.h
r18125 r19490 13 13 14 14 /*If include cmath instead of math, isnan on linux64 murdo does not work: */ 15 #include < math.h>15 #include <cmath> 16 16 17 17 template <class T> int xIsNan(const T& X) { … … 19 19 return (X!=X)?1:0; 20 20 #else 21 return isnan(X);21 return std::isnan(X); 22 22 #endif 23 23 } -
issm/trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp
r18521 r19490 232 232 for(int i=0; i<n*n;i++)adoubleEDFin[i] =A[i]; // pack matrix 233 233 for(int i=0; i<n; i++)adoubleEDFin[i+n*n]=B[i]; // pack the right hand side 234 IssmPDouble* pdoubleEDFin=xNew<IssmPDouble>(n*(n+1)); // provide space to transfer inputs during call_ext_fct235 IssmPDouble* pdoubleEDFout=xNew<IssmPDouble>(n); // provide space to transfer outputs during call_ext_fct236 234 // call the wrapped solver through the registry entry we retrieve from parameters 237 235 call_ext_fct(xDynamicCast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p, 238 n*(n+1), pdoubleEDFin,adoubleEDFin,239 n, pdoubleEDFout,X);236 n*(n+1), adoubleEDFin, 237 n, X); 240 238 // for(int i=0; i<n; i++) {ADOLC_DUMP_MACRO(X[i]);} 241 239 xDelete(adoubleEDFin); 242 xDelete(pdoubleEDFin); 243 xDelete(pdoubleEDFout); 244 } 245 /*}}}*/ 246 #endif 240 } 241 /*}}}*/ 242 #endif
Note:
See TracChangeset
for help on using the changeset viewer.