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