Changeset 4892c3
- Timestamp:
- May 22, 2012, 12:09:04 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, 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:
- 8f130c
- Parents:
- a9a8f9
- git-author:
- Michael Ankele <ankele@…> (04/13/12 14:56:32)
- git-committer:
- Michael Ankele <ankele@…> (05/22/12 12:09:04)
- Location:
- src/Parameters
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parameters/Validators/DiscreteValidator.hpp
ra9a8f9 r4892c3 26 26 { 27 27 public: 28 DiscreteValidator(const std::vector<T> &_ValidValues) 28 DiscreteValidator(const std::vector<T> &_ValidValues) : ValidValues(_ValidValues) {}; 29 29 virtual ~DiscreteValidator() {}; 30 30 31 bool isValid(const T & _value) 31 bool isValid(const T & _value) const 32 32 { 33 33 typename std::vector<T>::const_iterator iter = std::find(ValidValues.begin(), ValidValues.end(), _value); -
src/Parameters/Validators/DummyValidator.hpp
ra9a8f9 r4892c3 27 27 virtual ~DummyValidator() {}; 28 28 29 bool isValid(const T & _value) 29 bool isValid(const T & _value) const 30 30 { return true; } 31 31 -
src/Parameters/Validators/RangeValidator.hpp
ra9a8f9 r4892c3 25 25 { 26 26 public: 27 RangeValidator(const range<T> &_ValidRange) 27 RangeValidator(const range<T> &_ValidRange) : ValidRange(_ValidRange) {}; 28 28 virtual ~RangeValidator() {}; 29 29 30 bool isValid(const T & _value) 30 bool isValid(const T & _value) const 31 31 { 32 32 bool isBefore = true; -
src/Parameters/Validators/Validator.hpp
ra9a8f9 r4892c3 27 27 28 28 virtual bool isValid(const T & _value) const=0; 29 bool operator()(const T &_value) const { return isValid( T); }29 bool operator()(const T &_value) const { return isValid(_value); } 30 30 }; 31 31 -
src/Parameters/Value.hpp
ra9a8f9 r4892c3 21 21 #include "Validators/Validator.hpp" 22 22 23 class DiscreteValueTest; 23 #include "CodePatterns/Range.hpp" 24 25 class ValueTest; 24 26 25 27 /** This class represents a general value. … … 30 32 { 31 33 //!> unit test needs to have access to internal values 32 friend class DiscreteValueTest;34 friend class ValueTest; 33 35 public: 34 36 Value(); 35 37 Value(const Validator<T> &_validator); 38 Value(const std::vector<T> &_ValidValues); 39 Value(const range<T> &_ValidRange); 36 40 virtual ~Value(); 37 41 … … 63 67 const size_t findIndexOfValue(const T &_value) const;*/ 64 68 65 const Validator<T> & getValidator() const { return validator; }69 const Validator<T> & getValidator() const; 66 70 67 71 private: -
src/Parameters/Value_impl.hpp
ra9a8f9 r4892c3 22 22 #include "CodePatterns/Log.hpp" 23 23 24 #include "Validators/DiscreteValidator.hpp" 25 #include "Validators/RangeValidator.hpp" 26 24 27 /** Constructor of class Value. 25 28 */ … … 32 35 /** Constructor of class Value with a validator. 33 36 * 34 * @param _ ValidValues vector with all valid values37 * @param _validator general validator to use 35 38 */ 36 39 template <class T> 37 40 Value<T>::Value(const Validator<T> &_validator) : 38 41 ValueSet(false), 39 validator(_validator.clone()) // TODO...42 validator(_validator.clone()) 40 43 {} 44 45 /** Constructor of class Value with a discrete validator. 46 * 47 * @param _ValidValues vector with all valid values 48 */ 49 template <class T> 50 Value<T>::Value(const std::vector<T> &_ValidValues) : 51 ValueSet(false), 52 validator(NULL) 53 { 54 validator = new DiscreteValidator<T>(_ValidValues); 55 } 56 57 /** Constructor of class Value with a range validator. 58 * 59 * @param _ValidRange range of valid values 60 */ 61 template <class T> 62 Value<T>::Value(const range<T> &_ValidRange) : 63 ValueSet(false), 64 validator(NULL) 65 { 66 validator = new RangeValidator<T>(_ValidRange); 67 } 41 68 42 69 /** Destructor of class Value. … … 70 97 { 71 98 bool status = true; 72 status = status && (ValidValues == _instance.ValidValues);99 //status = status && (ValidValues == _instance.ValidValues); // TODO 73 100 status = status && (ValueSet == _instance.ValueSet); 74 101 if (ValueSet && _instance.ValueSet) -
src/Parameters/unittests/Makefile.am
ra9a8f9 r4892c3 7 7 ../Parameters/unittests/ContinuousParameterTest.cpp \ 8 8 ../Parameters/unittests/DiscreteValueTest.cpp \ 9 ../Parameters/unittests/DiscreteParameterTest.cpp 9 ../Parameters/unittests/DiscreteParameterTest.cpp \ 10 ../Parameters/unittests/ValueTest.cpp 10 11 11 12 PARAMETERSTESTSHEADERS = \ … … 13 14 ../Parameters/unittests/ContinuousParameterTest.hpp \ 14 15 ../Parameters/unittests/DiscreteValueTest.hpp \ 15 ../Parameters/unittests/DiscreteParameterTest.hpp 16 ../Parameters/unittests/DiscreteParameterTest.hpp \ 17 ../Parameters/unittests/ValueTest.hpp 16 18 17 19 PARAMETERSTESTS = \ … … 19 21 ContinuousParameterTest \ 20 22 DiscreteValueTest \ 21 DiscreteParameterTest 23 DiscreteParameterTest \ 24 ValueTest 22 25 23 26 TESTS += $(PARAMETERSTESTS) … … 85 88 DiscreteParameterTest_LDADD = \ 86 89 $(PARAMETERSLIBS) 90 91 92 ValueTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \ 93 ../Parameters/unittests/ValueTest.cpp \ 94 ../Parameters/unittests/ValueTest.hpp \ 95 ../Parameters/Value.hpp \ 96 ../Parameters/Value_impl.hpp \ 97 ../Parameters/ValueInterface.hpp 98 ContinuousValueTest_LDADD = \ 99 $(PARAMETERSLIBS) \ 100 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la 87 101 88 102
Note:
See TracChangeset
for help on using the changeset viewer.