- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/Psi3Parser_Parameters.cpp
r0aa122 re45c1d 29 29 #include "Psi3Parser_Parameters.hpp" 30 30 31 #include "Parser/Parameters/ContinuousParameter.hpp" 32 #include "Parser/Parameters/DiscreteParameter.hpp" 33 #include "Parser/Parameters/StringParameter.hpp" 34 35 // TODO: ContinuousValue<bool>::get() must be defined inline otherwise we get multiple definition of virtual thunk compilation errors 31 #include "Parameters/Parameter.hpp" 32 33 // TODO: Value<bool>::getAsString() must be defined inline otherwise we get multiple definition of virtual thunk compilation errors 36 34 template <> 37 inline const std::string ContinuousValue<bool>::get() const38 { 39 ASSERT(ValueSet,40 "ContinuousValue<bool>::get() - requesting unset value.");35 inline const std::string Value<bool>::getAsString() const throw(ParameterValueException) 36 { 37 if(!ValueSet) 38 throw ParameterValueException(); 41 39 if (value) 42 40 return std::string("yes"); … … 45 43 } 46 44 47 // TODO: ContinuousValue<bool>::setmust be defined inline otherwise we get multiple definition of virtual thunk compilation errors45 // TODO: Value<bool>::setAsString must be defined inline otherwise we get multiple definition of virtual thunk compilation errors 48 46 template <> 49 inline void ContinuousValue<bool>::set(const std::string _value)47 inline void Value<bool>::setAsString(const std::string _value) throw(ParameterException) 50 48 { 51 49 if (_value == std::string("yes")) { 52 set Value(true);50 set(true); 53 51 } else if (_value == std::string("no")) { 54 set Value(false);52 set(false); 55 53 } else { 56 ASSERT(0, 57 "void ContinuousValue<bool>::set() - value "+_value+" is neither yes or no."); 54 throw ParameterValueException(); 58 55 } 59 56 } … … 103 100 ValidFreezeCore[LARGE]="large"; 104 101 appendParameter( 105 new DiscreteParameter<std::string>(102 new Parameter<std::string>( 106 103 ParamNames[freeze_coreParam], 107 104 ValidFreezeCore, … … 116 113 ValidUnits[bohr]="bohr"; 117 114 appendParameter( 118 new DiscreteParameter<std::string>(115 new Parameter<std::string>( 119 116 ParamNames[unitsParam], 120 117 ValidUnits, … … 128 125 ValidDerivativeType[NONE]="none"; 129 126 appendParameter( 130 new DiscreteParameter<std::string>(127 new Parameter<std::string>( 131 128 ParamNames[dertypeParam], 132 129 ValidDerivativeType, … … 142 139 ValidUniqueAxis[Z]="z"; 143 140 appendParameter( 144 new DiscreteParameter<std::string>(141 new Parameter<std::string>( 145 142 ParamNames[unique_axisParam], 146 143 ValidUniqueAxis, … … 160 157 ValidJobtypes[RESPONSE]="response"; 161 158 appendParameter( 162 new DiscreteParameter<std::string>(159 new Parameter<std::string>( 163 160 ParamNames[jobtypeParam], 164 161 ValidJobtypes, … … 184 181 ValidWavefunction[ZAPTN]="zaptn"; 185 182 appendParameter( 186 new DiscreteParameter<std::string>(183 new Parameter<std::string>( 187 184 ParamNames[wavefunctionParam], 188 185 ValidWavefunction, … … 199 196 ValidReference[TWOCON]="twocon"; 200 197 appendParameter( 201 new DiscreteParameter<std::string>(198 new Parameter<std::string>( 202 199 ParamNames[referenceParam], 203 200 ValidReference, … … 207 204 // add all continuous parameters 208 205 { 209 appendParameter(new StringParameter(ParamNames[labelParam], std::string("unknown job")));210 appendParameter(new ContinuousParameter<int>(ParamNames[maxiterParam], 80));211 appendParameter(new StringParameter(ParamNames[basisParam], std::string("cc-pVTZ")));212 appendParameter(new StringParameter(ParamNames[originParam], std::string("(0.0\t0.0\t0.0)"))); // TODO: this should be a vector213 appendParameter(new ContinuousParameter<int>(ParamNames[multiplicityParam], 1));214 appendParameter(new ContinuousParameter<int>(ParamNames[chargeParam], 0));215 appendParameter(new StringParameter(ParamNames[soccParam], std::string("()")));216 appendParameter(new StringParameter(ParamNames[doccParam], std::string("()")));217 appendParameter(new StringParameter(ParamNames[subgroupParam], std::string("")));206 appendParameter(new Parameter<string>(ParamNames[labelParam], std::string("unknown job"))); 207 appendParameter(new Parameter<int>(ParamNames[maxiterParam], 80)); 208 appendParameter(new Parameter<string>(ParamNames[basisParam], std::string("cc-pVTZ"))); 209 appendParameter(new Parameter<string>(ParamNames[originParam], std::string("(0.0\t0.0\t0.0)"))); // TODO: this should be a vector 210 appendParameter(new Parameter<int>(ParamNames[multiplicityParam], 1)); 211 appendParameter(new Parameter<int>(ParamNames[chargeParam], 0)); 212 appendParameter(new Parameter<string>(ParamNames[soccParam], std::string("()"))); 213 appendParameter(new Parameter<string>(ParamNames[doccParam], std::string("()"))); 214 appendParameter(new Parameter<string>(ParamNames[subgroupParam], std::string(""))); 218 215 } 219 216 } … … 229 226 const std::string Psi3Parser_Parameters::getParameter(const enum Parameters param) const 230 227 { 231 return FormatParser_Parameters::getParameter(ParamNames[param])->get ();228 return FormatParser_Parameters::getParameter(ParamNames[param])->getAsString(); 232 229 } 233 230 … … 240 237 { 241 238 const std::string &name = getParameterName(param); 242 FormatParser_Parameters::getParameter(name)->set (_value);239 FormatParser_Parameters::getParameter(name)->setAsString(_value); 243 240 } 244 241
Note:
See TracChangeset
for help on using the changeset viewer.