Changeset 23305


Ignore:
Timestamp:
09/18/18 09:11:06 (7 years ago)
Author:
Mathieu Morlighem
Message:

CHG: FindParamAndMakePassive should always be compiled

Location:
issm/trunk-jpl/src/c/classes/Params
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Params/Parameters.cpp

    r23254 r23305  
    426426}
    427427/*}}}*/
     428void Parameters::FindParamAndMakePassive(IssmPDouble* pscalar,int param_enum){ _assert_(this);/*{{{*/
     429        _assert_(param_enum>ParametersSTARTEnum);
     430        _assert_(param_enum<ParametersENDEnum);
     431
     432        /*Get "active" parameter*/
     433        IssmDouble intermediary;
     434        int index = param_enum - ParametersSTARTEnum -1;
     435        if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set");
     436        this->params[index]->GetParameterValue(&intermediary);
     437
     438        /*cast to "passive"*/
     439        *pscalar=reCast<IssmPDouble>(intermediary);
     440}
     441/*}}}*/
    428442void Parameters::FindParamInDataset(IssmDouble** pIssmDoublearray,int* pM,int* pN,int dataset_type,int enum_type){/*{{{*/
    429443        _assert_(this);
     
    717731}
    718732/*}}}*/
    719 
    720 /*Specific case with ADOL-C, we might need to get double params for m1qn3*/
    721 #if defined(_HAVE_AD_) && !defined(_WRAPPERS_)
    722 void Parameters::FindParamAndMakePassive(double* pscalar,int param_enum){ _assert_(this);/*{{{*/
    723         _assert_(param_enum>ParametersSTARTEnum);
    724         _assert_(param_enum<ParametersENDEnum);
    725 
    726         /*Get "active" parameter*/
    727         IssmDouble intermediary;
    728         int index = param_enum - ParametersSTARTEnum -1;
    729         if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set");
    730         this->params[index]->GetParameterValue(&intermediary);
    731 
    732         /*cast to "passive"*/
    733         *pscalar=reCast<double>(intermediary);
    734 }
    735 /*}}}*/
    736 #endif
  • issm/trunk-jpl/src/c/classes/Params/Parameters.h

    r23254 r23305  
    5252                void  FindParam(FILE** pfid,int enum_type);
    5353                void  FindParam(DataSet** pdataset, int enum_type);
     54                void  FindParamAndMakePassive(IssmPDouble* pscalar, int enum_type);
    5455                void  FindParamInDataset(IssmDouble** pIssmDoublearray,int* pM,int* pN,int dataset_type,int enum_type);
    5556
     
    7071                Param* FindParamObject(int enum_type);
    7172
    72                 /*Specific instantiations for IssmDouble*: */
    73                 #if defined(_HAVE_AD_) && !defined(_WRAPPERS_)
    74                 void  FindParamAndMakePassive(double* pscalar, int enum_type);
    75                 #endif
    76 
    7773};
    7874
Note: See TracChangeset for help on using the changeset viewer.