source: issm/oecreview/Archive/19101-20495/ISSM-19489-19490.diff@ 20498

Last change on this file since 20498 was 20498, checked in by Mathieu Morlighem, 9 years ago

CHG: done with Archive/19101-20495

File size: 5.7 KB
  • ../trunk-jpl/m4/issm_options.m4

     
    721721                AC_SUBST([ADOLCLIB])
    722722        fi
    723723        AM_CONDITIONAL([ADOLC], [test x$HAVE_ADOLC = xyes])
     724        AM_COND_IF(ADOLC,[CXXFLAGS+=" -std=c++11"])
    724725        dnl }}}
    725726        dnl adolc-version{{{
    726727        AC_ARG_WITH([adolc-version],
  • ../trunk-jpl/externalpackages/adolc/install-withampi.sh

     
    44#Some cleanup
    55rm -rf install src
    66
    7 git clone -b ampi git://git.mcs.anl.gov/adol-c.git src
     7git clone https://gitlab.com/adol-c/adol-c.git src
    88#git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
    99
    1010#Compile ADOL-C
  • ../trunk-jpl/src/c/shared/Numerics/isnan.h

     
    1212#endif
    1313
    1414/*If include cmath instead of math, isnan on linux64 murdo does not work: */
    15 #include <math.h>
     15#include <cmath>
    1616
    1717template <class T> int xIsNan(const T& X) {
    1818#ifdef _INTEL_WIN_
    1919                return (X!=X)?1:0;
    2020#else
    21                 return isnan(X);
     21                return std::isnan(X);
    2222#endif
    2323}
    2424
  • ../trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp

     
    231231        IssmDouble*  adoubleEDFin=xNew<IssmDouble>(n*(n+1));  // packed inputs, i.e. matrix and right hand side
    232232        for(int i=0; i<n*n;i++)adoubleEDFin[i]    =A[i];      // pack matrix
    233233        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_fct
    235         IssmPDouble* pdoubleEDFout=xNew<IssmPDouble>(n);           // provide space to transfer outputs during call_ext_fct
    236234        // call the wrapped solver through the registry entry we retrieve from parameters
    237235        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);
    240238        // for(int i=0; i<n;  i++) {ADOLC_DUMP_MACRO(X[i]);}
    241239        xDelete(adoubleEDFin);
    242         xDelete(pdoubleEDFin);
    243         xDelete(pdoubleEDFout);
    244240}
    245241/*}}}*/
    246242#endif
  • ../trunk-jpl/src/c/cores/ad_core.cpp

     
    115115                        /*Branch according to AD driver: */
    116116                        femmodel->parameters->FindParam(&driver,AutodiffDriverEnum);
    117117
    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);
    121118
    122119                        if (strcmp(driver,"fos_forward")==0){ /*{{{*/
    123120
     
    142139                                anEDF_for_solverx_p->fos_forward=EDF_fos_forward_for_solverx;
    143140#endif
    144141
    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);
    148142
    149143                                /*call driver: */
    150144                                fos_forward(my_rank,num_dependents,num_independents, 0, xp, tangentDir, theOutput, jacTimesTangentDir );
     
    189183#endif
    190184                                // anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx;
    191185
    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);
    195186
    196187                                /*seed matrix: */
    197188                                seed=xNewZeroInit<double>(num_independents,tangentDirNum);
     
    251242                                anEDF_for_solverx_p->fos_reverse_iArr=fos_reverse_mumpsSolveEDF;
    252243#endif
    253244
    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);
    257245
    258246                                /*call driver: */
    259247                                fos_reverse(my_rank,num_dependents,num_independents, aWeightVector, weightVectorTimesJac );
     
    295283                                anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx;
    296284                                #endif
    297285
    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);
    301286
    302287                                /*seed matrix: */
    303288                                weights=xNewZeroInit<double>(weightNum,num_dependents);
     
    330315                        } /*}}}*/
    331316                        else _error_("driver: " << driver << " not yet supported!");
    332317
    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);
    344318
    345319                        if(VerboseAutodiff())_printf0_("   end AD core\n");
    346320
Note: See TracBrowser for help on using the repository browser.