Changeset 118f1e for src/Parser
- Timestamp:
- Jun 6, 2012, 1:04:21 PM (13 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- b9c69d
- Parents:
- 6c05d8
- git-author:
- Michael Ankele <ankele@…> (04/18/12 12:56:29)
- git-committer:
- Michael Ankele <ankele@…> (06/06/12 13:04:21)
- Location:
- src/Parser
- Files:
-
- 20 deleted
- 12 edited
-
FormatParser_Parameters.cpp (modified) (5 diffs)
-
FormatParser_Parameters.hpp (modified) (2 diffs)
-
Makefile.am (modified) (1 diff)
-
MpqcParser_Parameters.cpp (modified) (7 diffs)
-
MpqcParser_Parameters.hpp (modified) (1 diff)
-
Parameters/ContinuousParameter.hpp (deleted)
-
Parameters/ContinuousParameter_impl.hpp (deleted)
-
Parameters/ContinuousValue.hpp (deleted)
-
Parameters/ContinuousValue_impl.hpp (deleted)
-
Parameters/DiscreteParameter.hpp (deleted)
-
Parameters/DiscreteParameter_impl.hpp (deleted)
-
Parameters/DiscreteValue.hpp (deleted)
-
Parameters/DiscreteValue_impl.hpp (deleted)
-
Parameters/Parameter.hpp (deleted)
-
Parameters/ParameterStorage.cpp (modified) (2 diffs)
-
Parameters/ParameterStorage.hpp (modified) (2 diffs)
-
Parameters/StringParameter.cpp (deleted)
-
Parameters/StringParameter.hpp (deleted)
-
Parameters/ValueInterface.hpp (deleted)
-
Parameters/unittests/ContinuousParameterUnitTest.cpp (deleted)
-
Parameters/unittests/ContinuousParameterUnitTest.hpp (deleted)
-
Parameters/unittests/ContinuousValueUnitTest.cpp (deleted)
-
Parameters/unittests/ContinuousValueUnitTest.hpp (deleted)
-
Parameters/unittests/DiscreteParameterUnitTest.cpp (deleted)
-
Parameters/unittests/DiscreteParameterUnitTest.hpp (deleted)
-
Parameters/unittests/DiscreteValueUnitTest.cpp (deleted)
-
Parameters/unittests/DiscreteValueUnitTest.hpp (deleted)
-
Parameters/unittests/Makefile.am (modified) (4 diffs)
-
Parameters/unittests/ParameterStorageUnitTest.cpp (modified) (2 diffs)
-
Parameters/unittests/StringParameterUnitTest.cpp (modified) (4 diffs)
-
Psi3Parser_Parameters.cpp (modified) (12 diffs)
-
Psi3Parser_Parameters.hpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/FormatParser_Parameters.cpp
r6c05d8 r118f1e 29 29 #include "CodePatterns/Log.hpp" 30 30 31 #include "Parameters/Parameter .hpp"31 #include "Parameters/ParameterAsString.hpp" 32 32 #include "FormatParser_Parameters.hpp" 33 33 … … 87 87 * @param instance parameter to add 88 88 */ 89 void FormatParser_Parameters::appendParameter(Par serParameter*instance)89 void FormatParser_Parameters::appendParameter(ParameterAsString *instance) 90 90 { 91 91 storage->registerInstance(instance); … … 109 109 * @return pointer to instance with this \a _name 110 110 */ 111 Par serParameter*FormatParser_Parameters::getParameter(const std::string &_name) const111 ParameterAsString *FormatParser_Parameters::getParameter(const std::string &_name) const 112 112 { 113 113 return storage->getByName(_name); … … 129 129 iter != params.storage->getEndIter(); 130 130 ++iter) 131 if (!iter->second->get ().empty())132 output << iter->first << "=" << iter->second->get () << ";";131 if (!iter->second->getAsString().empty()) 132 output << iter->first << "=" << iter->second->getAsString() << ";"; 133 133 ost << output.str(); 134 134 return ost; … … 187 187 +key+"' with value "+valuestream.str()+"!"); 188 188 if (params.haveParameter(key)) { 189 Par serParameter*instance = params.getParameter(key);190 instance->set (valuestream.str());189 ParameterAsString *instance = params.getParameter(key); 190 instance->setAsString(valuestream.str()); 191 191 } 192 192 } else { -
src/Parser/FormatParser_Parameters.hpp
r6c05d8 r118f1e 20 20 #include "Parser/Parameters/ParameterStorage.hpp" 21 21 22 class Par serParameter;22 class ParameterAsString; 23 23 24 24 /** This class is an interface to the internal parameters of any FormatParser. … … 41 41 42 42 // accessing parameters in storage 43 void appendParameter(Par serParameter*instance);43 void appendParameter(ParameterAsString *instance); 44 44 bool haveParameter(const std::string &_name) const; 45 Par serParameter*getParameter(const std::string &_name) const;45 ParameterAsString *getParameter(const std::string &_name) const; 46 46 47 47 protected: -
src/Parser/Makefile.am
r6c05d8 r118f1e 57 57 58 58 PARSERPARAMETERSSOURCE = \ 59 Parser/Parameters/ParameterStorage.cpp \ 60 Parser/Parameters/StringParameter.cpp 59 Parser/Parameters/ParameterStorage.cpp 61 60 62 61 PARSERPARAMETERSHEADER = \ 63 62 Parser/Parameters/ParameterStorage.hpp \ 64 Parser/Parameters/ContinuousParameter.hpp \ 65 Parser/Parameters/ContinuousParameter_impl.hpp \ 66 Parser/Parameters/ContinuousValue.hpp \ 67 Parser/Parameters/ContinuousValue_impl.hpp \ 68 Parser/Parameters/DiscreteParameter.hpp \ 69 Parser/Parameters/DiscreteParameter_impl.hpp \ 70 Parser/Parameters/DiscreteValue.hpp \ 71 Parser/Parameters/DiscreteValue_impl.hpp \ 72 Parser/Parameters/Parameter.hpp \ 73 Parser/Parameters/StringParameter.hpp \ 74 Parser/Parameters/ValueInterface.hpp 63 Parameters/Parameter.hpp \ 64 Parameters/Parameter_impl.hpp \ 65 Parameters/ParameterAsString.hpp \ 66 Parameters/ParameterInterface.hpp \ 67 Parameters/Validators/DiscreteValidator.hpp \ 68 Parameters/Validators/DiscreteValidator_impl.hpp \ 69 Parameters/Validators/RangeValidator.hpp \ 70 Parameters/Validators/RangeValidator_impl.hpp \ 71 Parameters/Validators/Validator.hpp \ 72 Parameters/Value.hpp \ 73 Parameters/Value_impl.hpp \ 74 Parameters/ValueAsString.hpp \ 75 Parameters/ValueInterface.hpp 75 76 76 77 PUGIXMLSOURCE = \ -
src/Parser/MpqcParser_Parameters.cpp
r6c05d8 r118f1e 27 27 #include "MpqcParser_Parameters.hpp" 28 28 29 #include "Parser/Parameters/ContinuousParameter.hpp" 30 #include "Parser/Parameters/DiscreteParameter.hpp" 31 #include "Parser/Parameters/StringParameter.hpp" 29 #include "Parameters/Parameter.hpp" 32 30 33 31 template <> 34 const std::string ContinuousValue<bool>::get() const32 const std::string Value<bool>::getAsString() const 35 33 { 36 34 ASSERT(ValueSet, 37 " ContinuousValue<bool>::get() - requesting unset value.");35 "Value<bool>::getAsString() - requesting unset value."); 38 36 if (value) 39 37 return std::string("yes"); … … 43 41 44 42 template <> 45 void ContinuousValue<bool>::set(const std::string _value)43 void Value<bool>::setAsString(const std::string _value) 46 44 { 47 45 if (_value == std::string("yes")) { 48 set Value(true);46 set(true); 49 47 } else if (_value == std::string("no")) { 50 set Value(false);48 set(false); 51 49 } else { 52 50 ASSERT(0, 53 "void ContinuousValue<bool>::set() - value "+_value+" is neither yes or no.");51 "void Value<bool>::setAsString() - value "+_value+" is neither yes or no."); 54 52 } 55 53 } … … 92 90 ValidTheories[MBPT2_R12]="MBPT2_R12"; 93 91 appendParameter( 94 new DiscreteParameter<std::string>(92 new Parameter<std::string>( 95 93 ParamNames[theoryParam], 96 94 ValidTheories, … … 105 103 ValidIntegrationMethods[IntegralCints] = "IntegralCints"; 106 104 appendParameter( 107 new DiscreteParameter<std::string>(105 new Parameter<std::string>( 108 106 ParamNames[integrationParam], 109 107 ValidIntegrationMethods, … … 113 111 // add all continuous parameters 114 112 { 115 appendParameter(new ContinuousParameter<bool>(ParamNames[hessianParam], false));116 appendParameter(new ContinuousParameter<bool>(ParamNames[savestateParam], false));117 appendParameter(new ContinuousParameter<bool>(ParamNames[do_gradientParam], true));118 appendParameter(new ContinuousParameter<int>(ParamNames[maxiterParam], 1000));119 appendParameter(new ContinuousParameter<int>(ParamNames[memoryParam], 16000000));120 appendParameter(new StringParameter(ParamNames[stdapproxParam], "A'"));121 appendParameter(new ContinuousParameter<int>(ParamNames[nfzcParam], 1));122 appendParameter(new StringParameter(ParamNames[basisParam], "3-21G"));123 appendParameter(new StringParameter(ParamNames[aux_basisParam], "aug-cc-pVDZ"));113 appendParameter(new Parameter<bool>(ParamNames[hessianParam], false)); 114 appendParameter(new Parameter<bool>(ParamNames[savestateParam], false)); 115 appendParameter(new Parameter<bool>(ParamNames[do_gradientParam], true)); 116 appendParameter(new Parameter<int>(ParamNames[maxiterParam], 1000)); 117 appendParameter(new Parameter<int>(ParamNames[memoryParam], 16000000)); 118 appendParameter(new Parameter<std::string>(ParamNames[stdapproxParam], "A'")); 119 appendParameter(new Parameter<int>(ParamNames[nfzcParam], 1)); 120 appendParameter(new Parameter<std::string>(ParamNames[basisParam], "3-21G")); 121 appendParameter(new Parameter<std::string>(ParamNames[aux_basisParam], "aug-cc-pVDZ")); 124 122 } 125 123 } … … 135 133 const std::string MpqcParser_Parameters::getParameter(const enum Parameters param) const 136 134 { 137 return FormatParser_Parameters::getParameter(ParamNames[param])->get ();135 return FormatParser_Parameters::getParameter(ParamNames[param])->getAsString(); 138 136 } 139 137 … … 146 144 { 147 145 const std::string &name = getParameterName(param); 148 FormatParser_Parameters::getParameter(name)->set (_value);146 FormatParser_Parameters::getParameter(name)->setAsString(_value); 149 147 } 150 148 -
src/Parser/MpqcParser_Parameters.hpp
r6c05d8 r118f1e 23 23 #include "Parser/FormatParser_Parameters.hpp" 24 24 25 #include "Parser/Parameters/ContinuousParameter.hpp" 25 #include "Parameters/Parameter.hpp" 26 #include "Parameters/Value.hpp" 26 27 27 28 // specialization for bool (we want "yes/no" not "1/0") 28 template <> const std::string ContinuousValue<bool>::get() const;29 template <> void ContinuousValue<bool>::set(const std::string _value);29 template <> const std::string Value<bool>::getAsString() const; 30 template <> void Value<bool>::setAsString(const std::string _value); 30 31 31 32 class MpqcParser; -
src/Parser/Parameters/ParameterStorage.cpp
r6c05d8 r118f1e 37 37 { 38 38 for (const_iterator iter = _storage.getBeginIter(); iter != _storage.getEndIter(); ++iter) { 39 Par serParameter*instance = (iter->second)->clone();39 ParameterAsString *instance = (iter->second)->clone(); 40 40 registerInstance(instance); 41 41 } … … 49 49 } 50 50 51 CONSTRUCT_REGISTRY(Par serParameter)51 CONSTRUCT_REGISTRY(ParameterAsString) -
src/Parser/Parameters/ParameterStorage.hpp
r6c05d8 r118f1e 16 16 #include "CodePatterns/Registry.hpp" 17 17 18 #include "Parameter .hpp"18 #include "Parameters/ParameterAsString.hpp" 19 19 20 20 /** Parameter Registry. … … 23 23 * 24 24 */ 25 class ParameterStorage : public Registry<Par serParameter>25 class ParameterStorage : public Registry<ParameterAsString> 26 26 { 27 27 public: -
src/Parser/Parameters/unittests/Makefile.am
r6c05d8 r118f1e 4 4 5 5 PARSERPARAMETERSTESTSSOURCES = \ 6 ../Parser/Parameters/unittests/ContinuousValueUnitTest.cpp \7 ../Parser/Parameters/unittests/ContinuousParameterUnitTest.cpp \8 ../Parser/Parameters/unittests/DiscreteValueUnitTest.cpp \9 ../Parser/Parameters/unittests/DiscreteParameterUnitTest.cpp \10 6 ../Parser/Parameters/unittests/ParameterStorageUnitTest.cpp \ 11 7 ../Parser/Parameters/unittests/StringParameterUnitTest.cpp 12 8 13 9 PARSERPARAMETERSTESTSHEADERS = \ 14 ../Parser/Parameters/unittests/ContinuousValueUnitTest.hpp \15 ../Parser/Parameters/unittests/ContinuousParameterUnitTest.hpp \16 ../Parser/Parameters/unittests/DiscreteValueUnitTest.hpp \17 ../Parser/Parameters/unittests/DiscreteParameterUnitTest.hpp \18 10 ../Parser/Parameters/unittests/ParameterStorageUnitTest.hpp \ 19 11 ../Parser/Parameters/unittests/StringParameterUnitTest.hpp 20 12 21 13 PARSERPARAMETERSTESTS = \ 22 ContinuousValueUnitTest \23 ContinuousParameterUnitTest \24 DiscreteValueUnitTest \25 DiscreteParameterUnitTest \26 14 ParameterStorageUnitTest \ 27 15 StringParameterUnitTest … … 34 22 35 23 36 ContinuousValueUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \37 ../Parser/Parameters/unittests/ContinuousValueUnitTest.cpp \38 ../Parser/Parameters/unittests/ContinuousValueUnitTest.hpp \39 ../Parser/Parameters/ContinuousValue.hpp \40 ../Parser/Parameters/ContinuousValue_impl.hpp \41 ../Parser/Parameters/ValueInterface.hpp42 ContinuousValueUnitTest_LDADD = \43 $(PARSERPARAMETERSLIBS)44 45 ContinuousParameterUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \46 ../Parser/Parameters/unittests/ContinuousParameterUnitTest.cpp \47 ../Parser/Parameters/unittests/ContinuousParameterUnitTest.hpp \48 ../Parser/Parameters/ContinuousValue.hpp \49 ../Parser/Parameters/ContinuousValue_impl.hpp \50 ../Parser/Parameters/ContinuousParameter.hpp \51 ../Parser/Parameters/ContinuousParameter_impl.hpp \52 ../Parser/Parameters/Parameter.hpp \53 ../Parser/Parameters/ValueInterface.hpp54 ContinuousParameterUnitTest_LDADD = \55 $(PARSERPARAMETERSLIBS)56 57 DiscreteValueUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \58 ../Parser/Parameters/unittests/DiscreteValueUnitTest.cpp \59 ../Parser/Parameters/unittests/DiscreteValueUnitTest.hpp \60 ../Parser/Parameters/DiscreteValue.hpp \61 ../Parser/Parameters/DiscreteValue_impl.hpp \62 ../Parser/Parameters/ValueInterface.hpp63 DiscreteValueUnitTest_LDADD = \64 $(PARSERPARAMETERSLIBS)65 66 DiscreteParameterUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \67 ../Parser/Parameters/unittests/DiscreteParameterUnitTest.cpp \68 ../Parser/Parameters/unittests/DiscreteParameterUnitTest.hpp \69 ../Parser/Parameters/DiscreteValue.hpp \70 ../Parser/Parameters/DiscreteValue_impl.hpp \71 ../Parser/Parameters/DiscreteParameter.hpp \72 ../Parser/Parameters/DiscreteParameter_impl.hpp \73 ../Parser/Parameters/Parameter.hpp \74 ../Parser/Parameters/ValueInterface.hpp75 DiscreteParameterUnitTest_LDADD = \76 $(PARSERPARAMETERSLIBS)77 78 24 ParameterStorageUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \ 79 25 ../Parser/Parameters/unittests/ParameterStorageUnitTest.cpp \ … … 81 27 ../Parser/Parameters/ParameterStorage.cpp \ 82 28 ../Parser/Parameters/ParameterStorage.hpp \ 83 ../Parser/Parameters/ContinuousValue.hpp \ 84 ../Parser/Parameters/ContinuousValue_impl.hpp \ 85 ../Parser/Parameters/DiscreteValue.hpp \ 86 ../Parser/Parameters/DiscreteValue_impl.hpp \ 87 ../Parser/Parameters/ValueInterface.hpp 29 ../Parameters/Parameter.hpp \ 30 ../Parameters/Validators/DummyValidator.hpp \ 31 ../Parameters/Validators/RangeValidator.hpp \ 32 ../Parameters/Validators/RangeValidator_impl.hpp \ 33 ../Parameters/Validators/Validator.hpp \ 34 ../Parameters/Value.hpp \ 35 ../Parameters/Value_impl.hpp \ 36 ../Parameters/ValueInterface.hpp \ 88 37 ParameterStorageUnitTest_LDADD = \ 89 $(CodePatterns_LIBS) \90 38 $(PARSERPARAMETERSLIBS) 91 39 … … 93 41 ../Parser/Parameters/unittests/StringParameterUnitTest.cpp \ 94 42 ../Parser/Parameters/unittests/StringParameterUnitTest.hpp \ 95 ../Parser/Parameters/StringParameter.cpp \ 96 ../Parser/Parameters/StringParameter.hpp \ 97 ../Parser/Parameters/Parameter.hpp \ 98 ../Parser/Parameters/ValueInterface.hpp 43 ../Parameters/Validators/DiscreteValidator.hpp \ 44 ../Parameters/Validators/DiscreteValidator_impl.hpp \ 45 ../Parameters/Validators/DummyValidator.hpp \ 46 ../Parameters/Validators/RangeValidator.hpp \ 47 ../Parameters/Validators/RangeValidator_impl.hpp \ 48 ../Parameters/Validators/Validator.hpp \ 49 ../Parameters/Value.hpp \ 50 ../Parameters/Value_impl.hpp \ 51 ../Parameters/ValueInterface.hpp \ 52 ../Parameters/VectorFromString.hpp 99 53 StringParameterUnitTest_LDADD = \ 100 54 $(PARSERPARAMETERSLIBS) -
src/Parser/Parameters/unittests/ParameterStorageUnitTest.cpp
r6c05d8 r118f1e 27 27 28 28 #include "Parser/Parameters/ParameterStorage.hpp" 29 #include "Parser/Parameters/ContinuousParameter.hpp" 30 #include "Parser/Parameters/DiscreteParameter.hpp" 29 #include "Parameters/Parameter.hpp" 31 30 32 31 #ifdef HAVE_TESTRUNNER … … 53 52 ValidValues.push_back(i); 54 53 range<double> ValidRange(1., 4.); 55 Par serParameter *intParam = new DiscreteParameter<int>("intParam", ValidValues);56 Par serParameter *doubleParam = new ContinuousParameter<double>("doubleParam", ValidRange);54 ParameterAsString *intParam = new Parameter<int>("intParam", ValidValues); 55 ParameterAsString *doubleParam = new Parameter<double>("doubleParam", ValidRange); 57 56 // note: delete is done by registry in tearDown ... 58 57 -
src/Parser/Parameters/unittests/StringParameterUnitTest.cpp
r6c05d8 r118f1e 24 24 #include <cppunit/ui/text/TestRunner.h> 25 25 26 #include "Par ser/Parameters/StringParameter.hpp"26 #include "Parameters/Parameter.hpp" 27 27 28 28 #include "CodePatterns/Assert.hpp" … … 54 54 { 55 55 // create instance 56 StringParametertest("stringParam");57 StringParametersamenamedsamevalued("stringParam");58 StringParametersamenamedelsevalued("stringParam");59 StringParameterelsenamedsamevalued("string2Param");60 StringParameterelsenamedelsevalued("string2Param");56 Parameter<std::string> test("stringParam"); 57 Parameter<std::string> samenamedsamevalued("stringParam"); 58 Parameter<std::string> samenamedelsevalued("stringParam"); 59 Parameter<std::string> elsenamedsamevalued("string2Param"); 60 Parameter<std::string> elsenamedelsevalued("string2Param"); 61 61 test.set(std::string("1")); 62 62 samenamedsamevalued.set(std::string("1")); … … 77 77 { 78 78 // create instance 79 StringParameter test("intParam"); 80 81 // check that we throw because of unset parameter 82 #ifndef NDEBUG 83 std::cout << "The following Assert failures are intended and do not indicate a failure of the test." << std::endl; 84 CPPUNIT_ASSERT_THROW(test.clone(), Assert::AssertionFailure); 85 #endif 79 Parameter<std::string> test("intParam"); 86 80 87 81 // set parameter … … 90 84 // is returned as Parameter but we can compare only in true class as 91 85 // Parameter may also be a DiscreteParameter where comparison is nonsense 92 StringParameter *instance = dynamic_cast< StringParameter*> (test.clone());86 Parameter<std::string> *instance = dynamic_cast< Parameter<std::string> *> (test.clone()); 93 87 94 88 // different places in memory -
src/Parser/Psi3Parser_Parameters.cpp
r6c05d8 r118f1e 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() const35 inline const std::string Value<bool>::getAsString() const 38 36 { 39 37 ASSERT(ValueSet, 40 " ContinuousValue<bool>::get() - requesting unset value.");38 "Value<bool>::getAsString() - requesting unset value."); 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) 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 54 ASSERT(0, … … 103 101 ValidFreezeCore[LARGE]="large"; 104 102 appendParameter( 105 new DiscreteParameter<std::string>(103 new Parameter<std::string>( 106 104 ParamNames[freeze_coreParam], 107 105 ValidFreezeCore, … … 116 114 ValidUnits[bohr]="bohr"; 117 115 appendParameter( 118 new DiscreteParameter<std::string>(116 new Parameter<std::string>( 119 117 ParamNames[unitsParam], 120 118 ValidUnits, … … 128 126 ValidDerivativeType[NONE]="none"; 129 127 appendParameter( 130 new DiscreteParameter<std::string>(128 new Parameter<std::string>( 131 129 ParamNames[dertypeParam], 132 130 ValidDerivativeType, … … 142 140 ValidUniqueAxis[Z]="z"; 143 141 appendParameter( 144 new DiscreteParameter<std::string>(142 new Parameter<std::string>( 145 143 ParamNames[unique_axisParam], 146 144 ValidUniqueAxis, … … 160 158 ValidJobtypes[RESPONSE]="response"; 161 159 appendParameter( 162 new DiscreteParameter<std::string>(160 new Parameter<std::string>( 163 161 ParamNames[jobtypeParam], 164 162 ValidJobtypes, … … 184 182 ValidWavefunction[ZAPTN]="zaptn"; 185 183 appendParameter( 186 new DiscreteParameter<std::string>(184 new Parameter<std::string>( 187 185 ParamNames[wavefunctionParam], 188 186 ValidWavefunction, … … 199 197 ValidReference[TWOCON]="twocon"; 200 198 appendParameter( 201 new DiscreteParameter<std::string>(199 new Parameter<std::string>( 202 200 ParamNames[referenceParam], 203 201 ValidReference, … … 207 205 // add all continuous parameters 208 206 { 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("")));207 appendParameter(new Parameter<string>(ParamNames[labelParam], std::string("unknown job"))); 208 appendParameter(new Parameter<int>(ParamNames[maxiterParam], 80)); 209 appendParameter(new Parameter<string>(ParamNames[basisParam], std::string("cc-pVTZ"))); 210 appendParameter(new Parameter<string>(ParamNames[originParam], std::string("(0.0\t0.0\t0.0)"))); // TODO: this should be a vector 211 appendParameter(new Parameter<int>(ParamNames[multiplicityParam], 1)); 212 appendParameter(new Parameter<int>(ParamNames[chargeParam], 0)); 213 appendParameter(new Parameter<string>(ParamNames[soccParam], std::string("()"))); 214 appendParameter(new Parameter<string>(ParamNames[doccParam], std::string("()"))); 215 appendParameter(new Parameter<string>(ParamNames[subgroupParam], std::string(""))); 218 216 } 219 217 } … … 229 227 const std::string Psi3Parser_Parameters::getParameter(const enum Parameters param) const 230 228 { 231 return FormatParser_Parameters::getParameter(ParamNames[param])->get ();229 return FormatParser_Parameters::getParameter(ParamNames[param])->getAsString(); 232 230 } 233 231 … … 240 238 { 241 239 const std::string &name = getParameterName(param); 242 FormatParser_Parameters::getParameter(name)->set (_value);240 FormatParser_Parameters::getParameter(name)->setAsString(_value); 243 241 } 244 242 -
src/Parser/Psi3Parser_Parameters.hpp
r6c05d8 r118f1e 22 22 #include "Parser/FormatParser_Parameters.hpp" 23 23 24 #include "Parser/Parameters/ContinuousParameter.hpp" 24 #include "Parameters/Parameter.hpp" 25 #include "Parameters/Value.hpp" 25 26 26 27 // specialization for bool (we want "yes/no" not "1/0") 27 template <> inline const std::string ContinuousValue<bool>::get() const;28 template <> inline void ContinuousValue<bool>::set(const std::string _value);28 template <> inline const std::string Value<bool>::getAsString() const; 29 template <> inline void Value<bool>::setAsString(const std::string _value); 29 30 30 31 class Psi3Parser;
Note:
See TracChangeset
for help on using the changeset viewer.
