Changes in / [0430e3:677e13]
- Files:
-
- 10 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Descriptors/MoleculePtrDescriptor.cpp
r0430e3 r677e13 10 10 #include "MoleculePtrDescriptor.hpp" 11 11 #include "MoleculePtrDescriptor_impl.hpp" 12 13 #include "Patterns/ObservedContainer_impl.hpp" 12 14 13 15 #include "molecule.hpp" -
src/Makefile.am
r0430e3 r677e13 77 77 Actions/Process.hpp 78 78 79 EXCEPTIONSOURCE = Exceptions/CustomException.cpp \ 80 Exceptions/IllegalTypeException.cpp \ 81 Exceptions/LinearDependenceException.cpp \ 82 Exceptions/MathException.cpp \ 83 Exceptions/MissingValueException.cpp \ 84 Exceptions/NotInvertibleException.cpp \ 85 Exceptions/SkewException.cpp \ 86 Exceptions/ZeroVectorException.cpp 79 EXCEPTIONSOURCE = \ 80 Exceptions/CustomException.cpp \ 81 Exceptions/IllegalTypeException.cpp \ 82 Exceptions/LinearDependenceException.cpp \ 83 Exceptions/MathException.cpp \ 84 Exceptions/MissingValueException.cpp \ 85 Exceptions/NotInvertibleException.cpp \ 86 Exceptions/ParseError.cpp \ 87 Exceptions/SkewException.cpp \ 88 Exceptions/ZeroVectorException.cpp 87 89 88 EXCEPTIONHEADER = Exceptions/CustomException.hpp \ 89 Exceptions/IllegalTypeException.hpp \ 90 Exceptions/LinearDependenceException.hpp \ 91 Exceptions/MathException.hpp \ 92 Exceptions/MissingValueException.hpp \ 93 Exceptions/NotInvertibleException.hpp \ 94 Exceptions/SkewException.hpp \ 95 Exceptions/ZeroVectorException.hpp 90 EXCEPTIONHEADER = \ 91 Exceptions/CustomException.hpp \ 92 Exceptions/IllegalTypeException.hpp \ 93 Exceptions/LinearDependenceException.hpp \ 94 Exceptions/MathException.hpp \ 95 Exceptions/MissingValueException.hpp \ 96 Exceptions/NotInvertibleException.hpp \ 97 Exceptions/ParseError.hpp \ 98 Exceptions/SkewException.hpp \ 99 Exceptions/ZeroVectorException.hpp 96 100 97 101 PARSERSOURCE = \ … … 151 155 Descriptors/AtomTypeDescriptor.cpp \ 152 156 Descriptors/MoleculeDescriptor.cpp \ 157 Descriptors/MoleculeFormulaDescriptor.cpp \ 153 158 Descriptors/MoleculeIdDescriptor.cpp \ 154 159 Descriptors/MoleculeNameDescriptor.cpp \ … … 162 167 Descriptors/AtomTypeDescriptor.hpp \ 163 168 Descriptors/MoleculeDescriptor.hpp \ 169 Descriptors/MoleculeFormulaDescriptor.hpp \ 164 170 Descriptors/MoleculeIdDescriptor.hpp \ 165 171 Descriptors/MoleculeNameDescriptor.hpp \ … … 202 208 ellipsoid.cpp \ 203 209 errorlogger.cpp \ 210 Formula.cpp \ 204 211 graph.cpp \ 205 212 helpers.cpp \ … … 252 259 ellipsoid.hpp \ 253 260 errorlogger.hpp \ 261 Formula.hpp \ 254 262 graph.hpp \ 255 263 helpers.hpp \ -
src/World.cpp
r0430e3 r677e13 234 234 atomIdPool_t::iterator iter=atomIdPool.begin(); 235 235 atomId_t id = iter->first; 236 pair<atomId_t,atomId_t> newRange = make_pair(id+1,iter->second);236 range<atomId_t> newRange = makeRange(id+1,iter->last); 237 237 // we wont use this iterator anymore, so we don't care about invalidating 238 238 atomIdPool.erase(iter); 239 if(newRange.first<newRange. second){239 if(newRange.first<newRange.last){ 240 240 atomIdPool.insert(newRange); 241 241 } … … 247 247 248 248 void World::releaseAtomId(atomId_t id){ 249 atomIdPool.insert(make _pair(id,id+1));249 atomIdPool.insert(makeRange(id,id+1)); 250 250 defragAtomIdPool(); 251 251 } … … 253 253 bool World::reserveAtomId(atomId_t id){ 254 254 if(id>=currAtomId ){ 255 pair<atomId_t,atomId_t> newRange = make_pair(currAtomId,id);256 if(newRange.first<newRange. second){255 range<atomId_t> newRange = makeRange(currAtomId,id); 256 if(newRange.first<newRange.last){ 257 257 atomIdPool.insert(newRange); 258 258 } … … 263 263 // look for a range that matches the request 264 264 for(atomIdPool_t::iterator iter=atomIdPool.begin();iter!=atomIdPool.end();++iter){ 265 if(iter-> first>id){266 // we have cover d all available ranges... nothing to be found here265 if(iter->isBefore(id)){ 266 // we have covered all available ranges... nothing to be found here 267 267 break; 268 268 } 269 269 // no need to check first, since it has to be <=id, since otherwise we would have broken out 270 if( iter->second > id){270 if(!iter->isBeyond(id)){ 271 271 // we found a matching range... get the id from this range 272 272 273 273 // split up this range at the point of id 274 pair<atomId_t,atomId_t> bottomRange = make_pair(iter->first,id);275 pair<atomId_t,atomId_t> topRange = make_pair(id+1,iter->second);274 range<atomId_t> bottomRange = makeRange(iter->first,id); 275 range<atomId_t> topRange = makeRange(id+1,iter->last); 276 276 // remove this range 277 277 atomIdPool.erase(iter); 278 if(bottomRange.first<bottomRange. second){278 if(bottomRange.first<bottomRange.last){ 279 279 atomIdPool.insert(bottomRange); 280 280 } 281 if(topRange.first<topRange. second){281 if(topRange.first<topRange.last){ 282 282 atomIdPool.insert(topRange); 283 283 } … … 301 301 atomIdPool_t::iterator next = iter; 302 302 next++; 303 if(next!=atomIdPool.end() && (next->first==iter-> second)){303 if(next!=atomIdPool.end() && (next->first==iter->last)){ 304 304 // merge the two ranges 305 pair<atomId_t,atomId_t> newRange = make_pair(iter->first,next->second);305 range<atomId_t> newRange = makeRange(iter->first,next->last); 306 306 atomIdPool.erase(iter); 307 307 atomIdPool.erase(next); … … 317 317 atomIdPool_t::iterator iter = atomIdPool.end(); 318 318 iter--; 319 if(iter-> second==currAtomId){319 if(iter->last==currAtomId){ 320 320 currAtomId=iter->first; 321 321 atomIdPool.erase(iter); … … 333 333 moleculeIdPool_t::iterator iter=moleculeIdPool.begin(); 334 334 moleculeId_t id = iter->first; 335 pair<moleculeId_t,moleculeId_t> newRange = make_pair(id+1,iter->second);335 range<moleculeId_t> newRange = makeRange(id+1,iter->last); 336 336 // we wont use this iterator anymore, so we don't care about invalidating 337 337 moleculeIdPool.erase(iter); 338 if(newRange.first<newRange. second){338 if(newRange.first<newRange.last){ 339 339 moleculeIdPool.insert(newRange); 340 340 } … … 346 346 347 347 void World::releaseMoleculeId(moleculeId_t id){ 348 moleculeIdPool.insert(make _pair(id,id+1));348 moleculeIdPool.insert(makeRange(id,id+1)); 349 349 defragMoleculeIdPool(); 350 350 } … … 352 352 bool World::reserveMoleculeId(moleculeId_t id){ 353 353 if(id>=currMoleculeId ){ 354 pair<moleculeId_t,moleculeId_t> newRange = make_pair(currMoleculeId,id);355 if(newRange.first<newRange. second){354 range<moleculeId_t> newRange = makeRange(currMoleculeId,id); 355 if(newRange.first<newRange.last){ 356 356 moleculeIdPool.insert(newRange); 357 357 } … … 362 362 // look for a range that matches the request 363 363 for(moleculeIdPool_t::iterator iter=moleculeIdPool.begin();iter!=moleculeIdPool.end();++iter){ 364 if(iter-> first>id){364 if(iter->isBefore(id)){ 365 365 // we have coverd all available ranges... nothing to be found here 366 366 break; 367 367 } 368 368 // no need to check first, since it has to be <=id, since otherwise we would have broken out 369 if( iter->second > id){369 if(!iter->isBeyond(id)){ 370 370 // we found a matching range... get the id from this range 371 371 372 372 // split up this range at the point of id 373 pair<moleculeId_t,moleculeId_t> bottomRange = make_pair(iter->first,id);374 pair<moleculeId_t,moleculeId_t> topRange = make_pair(id+1,iter->second);373 range<moleculeId_t> bottomRange = makeRange(iter->first,id); 374 range<moleculeId_t> topRange = makeRange(id+1,iter->last); 375 375 // remove this range 376 376 moleculeIdPool.erase(iter); 377 if(bottomRange.first<bottomRange. second){377 if(bottomRange.first<bottomRange.last){ 378 378 moleculeIdPool.insert(bottomRange); 379 379 } 380 if(topRange.first<topRange. second){380 if(topRange.first<topRange.last){ 381 381 moleculeIdPool.insert(topRange); 382 382 } … … 400 400 moleculeIdPool_t::iterator next = iter; 401 401 next++; 402 if(next!=moleculeIdPool.end() && (next->first==iter-> second)){402 if(next!=moleculeIdPool.end() && (next->first==iter->last)){ 403 403 // merge the two ranges 404 pair<moleculeId_t,moleculeId_t> newRange = make_pair(iter->first,next->second);404 range<moleculeId_t> newRange = makeRange(iter->first,next->last); 405 405 moleculeIdPool.erase(iter); 406 406 moleculeIdPool.erase(next); … … 416 416 moleculeIdPool_t::iterator iter = moleculeIdPool.end(); 417 417 iter--; 418 if(iter-> second==currMoleculeId){418 if(iter->last==currMoleculeId){ 419 419 currMoleculeId=iter->first; 420 420 moleculeIdPool.erase(iter); -
src/World.hpp
r0430e3 r677e13 24 24 #include "Patterns/Singleton.hpp" 25 25 #include "Patterns/ObservedContainer.hpp" 26 #include "Helpers/Range.hpp" 26 27 27 28 // include config.h … … 360 361 AtomSet atoms; 361 362 AtomSet selectedAtoms; 362 typedef std::set< std::pair<atomId_t,atomId_t> > atomIdPool_t;363 typedef std::set<range<atomId_t> > atomIdPool_t; 363 364 /** 364 365 * stores the pool for all available AtomIds below currAtomId … … 373 374 MoleculeSet molecules; 374 375 MoleculeSet selectedMolecules; 375 typedef std::set< std::pair<moleculeId_t, moleculeId_t> > moleculeIdPool_t;376 typedef std::set<range<atomId_t> > moleculeIdPool_t; 376 377 /** 377 378 * stores the pool for all available AtomIds below currAtomId -
src/config.cpp
r0430e3 r677e13 1031 1031 { 1032 1032 bool result = true; 1033 // bring MaxTypes up to date1034 mol->CountElements();1035 1033 const Matrix &domain = World::getInstance().getDomain().getM(); 1036 1034 ofstream * const output = new ofstream(filename, ios::out); … … 1138 1136 *output << "IsAngstroem\t" << config::IsAngstroem << "\t# 0 - Bohr, 1 - Angstroem" << endl; 1139 1137 *output << "RelativeCoord\t" << config::RelativeCoord << "\t# whether ion coordinates are relative (1) or absolute (0)" << endl; 1140 *output << "MaxTypes\t" << mol-> ElementCount<< "\t# maximum number of different ion types" << endl;1138 *output << "MaxTypes\t" << mol->getElementCount() << "\t# maximum number of different ion types" << endl; 1141 1139 *output << endl; 1142 1140 result = result && mol->Checkout(output); … … 1533 1531 mol->SetNameFromFilename(ConfigFileName); 1534 1532 molecules->SimpleMultiMerge(mol, src, N); 1535 mol->doCountAtoms();1536 mol->CountElements();1537 1533 //mol->CalculateOrbitals(*this); 1538 1534 delete[](src); -
src/molecule.cpp
r0430e3 r677e13 49 49 molecule::molecule(const periodentafel * const teil) : 50 50 Observable("molecule"), 51 elemente(teil), MDSteps(0), BondCount(0), ElementCount(0),NoNonHydrogen(0), NoNonBonds(0),51 elemente(teil), MDSteps(0), BondCount(0), NoNonHydrogen(0), NoNonBonds(0), 52 52 NoCyclicBonds(0), BondDistance(0.), ActiveFlag(false), IndexNr(-1), 53 formula(this,boost::bind(&molecule::calcFormula,this),"formula"),54 53 AtomCount(this,boost::bind(&molecule::doCountAtoms,this),"AtomCount"), last_atom(0), InternalPointer(atoms.begin()) 55 54 { 56 55 57 // other stuff58 for(int i=MAX_ELEMENTS;i--;)59 ElementsInMolecule[i] = 0;60 56 strcpy(name,World::getInstance().getDefaultName().c_str()); 61 57 }; … … 101 97 } 102 98 103 const std::string molecule::getFormula(){ 104 return *formula; 105 } 106 107 std::string molecule::calcFormula(){ 108 std::map<atomicNumber_t,unsigned int> counts; 109 stringstream sstr; 110 periodentafel *periode = World::getInstance().getPeriode(); 111 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) { 112 counts[(*iter)->type->getNumber()]++; 113 } 114 std::map<atomicNumber_t,unsigned int>::reverse_iterator iter; 115 for(iter = counts.rbegin(); iter != counts.rend(); ++iter) { 116 atomicNumber_t Z = (*iter).first; 117 sstr << periode->FindElement(Z)->symbol << (*iter).second; 118 } 119 return sstr.str(); 99 const Formula &molecule::getFormula(){ 100 return formula; 101 } 102 103 unsigned int molecule::getElementCount(){ 104 return formula.getElementCount(); 105 } 106 107 bool molecule::hasElement(const element *element) const{ 108 return formula.hasElement(element); 109 } 110 111 bool molecule::hasElement(atomicNumber_t Z) const{ 112 return formula.hasElement(Z); 113 } 114 115 bool molecule::hasElement(const string &shorthand) const{ 116 return formula.hasElement(shorthand); 120 117 } 121 118 … … 210 207 pointer->sort = &pointer->nr; 211 208 if (pointer->type != NULL) { 212 if (ElementsInMolecule[pointer->type->Z] == 0) 213 ElementCount++; 214 ElementsInMolecule[pointer->type->Z]++; // increase number of elements 209 formula += pointer->type; 215 210 if (pointer->type->Z != 1) 216 211 NoNonHydrogen++; … … 651 646 652 647 // copy values 653 copy->CountElements();654 648 if (hasBondStructure()) { // if adjaceny list is present 655 649 copy->BondDistance = BondDistance; … … 774 768 ASSERT(pointer, "Null pointer passed to molecule::RemoveAtom()."); 775 769 OBSERVE; 776 if (ElementsInMolecule[pointer->type->Z] != 0) { // this would indicate an error 777 ElementsInMolecule[pointer->type->Z]--; // decrease number of atom of this element 778 } else 779 DoeLog(1) && (eLog()<< Verbose(1) << "Atom " << pointer->getName() << " is of element " << pointer->type->Z << " but the entry in the table of the molecule is 0!" << endl); 780 if (ElementsInMolecule[pointer->type->Z] == 0) // was last atom of this element? 781 ElementCount--; 770 formula-=pointer->type; 782 771 RemoveBonds(pointer); 783 772 erase(pointer); … … 793 782 if (pointer == NULL) 794 783 return false; 795 if (ElementsInMolecule[pointer->type->Z] != 0) // this would indicate an error 796 ElementsInMolecule[pointer->type->Z]--; // decrease number of atom of this element 797 else 798 DoeLog(1) && (eLog()<< Verbose(1) << "Atom " << pointer->getName() << " is of element " << pointer->type->Z << " but the entry in the table of the molecule is 0!" << endl); 799 if (ElementsInMolecule[pointer->type->Z] == 0) // was last atom of this element? 800 ElementCount--; 784 formula-=pointer->type; 801 785 erase(pointer); 802 786 return true; … … 871 855 { 872 856 int ElementNo[MAX_ELEMENTS], AtomNo[MAX_ELEMENTS]; 873 CountElements();874 857 875 858 for (int i=0;i<MAX_ELEMENTS;++i) { … … 898 881 { 899 882 int ElementNo[MAX_ELEMENTS], AtomNo[MAX_ELEMENTS]; 900 CountElements();901 883 902 884 if (output == NULL) { … … 940 922 bool molecule::Checkout(ofstream * const output) const 941 923 { 942 return elemente->Checkout(output, ElementsInMolecule);924 return formula.checkOut(output); 943 925 }; 944 926 … … 998 980 }; 999 981 1000 /** Brings molecule::ElementCount and molecule::ElementsInMolecule up-to-date.1001 */1002 void molecule::CountElements()1003 {1004 for(int i=MAX_ELEMENTS;i--;)1005 ElementsInMolecule[i] = 0;1006 ElementCount = 0;1007 1008 SetIndexedArrayForEachAtomTo ( ElementsInMolecule, &element::Z, &Increment, 1);1009 1010 for(int i=MAX_ELEMENTS;i--;)1011 ElementCount += (ElementsInMolecule[i] != 0 ? 1 : 0);1012 };1013 1014 982 /** Determines whether two molecules actually contain the same atoms and coordination. 1015 983 * \param *out output stream for debugging … … 1030 998 /// first count both their atoms and elements and update lists thereby ... 1031 999 //Log() << Verbose(0) << "Counting atoms, updating list" << endl; 1032 CountElements();1033 OtherMolecule->CountElements();1034 1000 1035 1001 /// ... and compare: … … 1041 1007 } else Log() << Verbose(4) << "AtomCounts match: " << getAtomCount() << " == " << OtherMolecule->getAtomCount() << endl; 1042 1008 } 1043 /// -# ElementCount1009 /// -# Formula 1044 1010 if (result) { 1045 if ( ElementCount != OtherMolecule->ElementCount) {1046 DoLog(4) && (Log() << Verbose(4) << " ElementCount don't match: " << ElementCount << " == " << OtherMolecule->ElementCount<< endl);1011 if (formula != OtherMolecule->formula) { 1012 DoLog(4) && (Log() << Verbose(4) << "Formulas don't match: " << formula << " == " << OtherMolecule->formula << endl); 1047 1013 result = false; 1048 } else Log() << Verbose(4) << "ElementCount match: " << ElementCount << " == " << OtherMolecule->ElementCount << endl; 1049 } 1050 /// -# ElementsInMolecule 1051 if (result) { 1052 for (flag=MAX_ELEMENTS;flag--;) { 1053 //Log() << Verbose(5) << "Element " << flag << ": " << ElementsInMolecule[flag] << " <-> " << OtherMolecule->ElementsInMolecule[flag] << "." << endl; 1054 if (ElementsInMolecule[flag] != OtherMolecule->ElementsInMolecule[flag]) 1055 break; 1056 } 1057 if (flag < MAX_ELEMENTS) { 1058 DoLog(4) && (Log() << Verbose(4) << "ElementsInMolecule don't match." << endl); 1059 result = false; 1060 } else Log() << Verbose(4) << "ElementsInMolecule match." << endl; 1014 } else Log() << Verbose(4) << "Formulas match: " << formula << " == " << OtherMolecule->formula << endl; 1061 1015 } 1062 1016 /// then determine and compare center of gravity for each molecule ... -
src/molecule.hpp
r0430e3 r677e13 28 28 #include "Patterns/ObservedIterator.hpp" 29 29 #include "Patterns/Cacheable.hpp" 30 #include "Formula.hpp" 30 31 31 32 #include "Descriptors/MoleculeDescriptor_impl.hpp" … … 97 98 //int AtomCount; //!< number of atoms, brought up-to-date by CountAtoms() 98 99 int BondCount; //!< number of atoms, brought up-to-date by CountBonds() 99 int ElementCount; //!< how many unique elements are therein100 int ElementsInMolecule[MAX_ELEMENTS]; //!< list whether element (sorted by atomic number) is alread present or not101 100 mutable int NoNonHydrogen; //!< number of non-hydrogen atoms in molecule 102 101 mutable int NoNonBonds; //!< number of non-hydrogen bonds in molecule … … 109 108 110 109 private: 111 Cacheable<string>formula;110 Formula formula; 112 111 Cacheable<int> AtomCount; 113 112 moleculeId_t id; … … 135 134 void setId(moleculeId_t); 136 135 void setName(const std::string); 137 const std::string getFormula(); 138 std::string calcFormula(); 136 const Formula &getFormula(); 137 unsigned int getElementCount(); 138 bool hasElement(const element*) const; 139 bool hasElement(atomicNumber_t) const; 140 bool hasElement(const std::string&) const; 141 139 142 140 143 iterator begin(); … … 254 257 255 258 /// Count and change present atoms' coordination. 256 void CountElements();257 259 bool CenterInBox(); 258 260 bool BoundInBox(); -
src/molecule_dynamics.cpp
r0430e3 r677e13 560 560 ForceMatrix Force; 561 561 562 CountElements(); // make sure ElementsInMolecule is up to date563 564 562 const int AtomCount = getAtomCount(); 565 563 // check file -
src/moleculelist.cpp
r0430e3 r677e13 597 597 periodentafel::const_iterator elemIter; 598 598 for(elemIter=periode->begin();elemIter!=periode->end();++elemIter){ 599 if ((*ListRunner)-> ElementsInMolecule[(*elemIter).first]) { // if this element got atoms599 if ((*ListRunner)->hasElement((*elemIter).first)) { // if this element got atoms 600 600 for(molecule::iterator atomIter = (*ListRunner)->begin(); atomIter !=(*ListRunner)->end();++atomIter){ 601 601 if ((*atomIter)->type->getNumber() == (*elemIter).first) { … … 689 689 690 690 // also calculate necessary orbitals 691 (*ListRunner)->CountElements(); // this is a bugfix, atoms should shoulds actually be added correctly to this fragment692 691 //(*ListRunner)->CalculateOrbitals(*World::getInstance().getConfig); 693 692 -
src/periodentafel.cpp
r0430e3 r677e13 125 125 * \return pointer to element 126 126 */ 127 element * const periodentafel::FindElement(const char * constshorthand) const127 element * const periodentafel::FindElement(const string &shorthand) const 128 128 { 129 129 element *res = 0; … … 205 205 for(const_iterator iter=elements.begin(); iter !=elements.end();++iter){ 206 206 result = result && (*iter).second->Output(output); 207 }208 return result;209 } else210 return false;211 };212 213 /** Prints period table to given stream.214 * \param *output output stream215 * \param *checkliste elements table for this molecule216 */217 bool periodentafel::Checkout(ostream * const output, const int * const checkliste) const218 {219 bool result = true;220 int No = 1;221 222 if (output != NULL) {223 *output << "# Ion type data (PP = PseudoPotential, Z = atomic number)" << endl;224 *output << "#Ion_TypeNr.\tAmount\tZ\tRGauss\tL_Max(PP)L_Loc(PP)IonMass\t# chemical name, symbol" << endl;225 for(const_iterator iter=elements.begin(); iter!=elements.end();++iter){226 if (((*iter).first < MAX_ELEMENTS) && (checkliste[(*iter).first])) {227 (*iter).second->No = No;228 result = result && (*iter).second->Checkout(output, No++, checkliste[(*iter).first]);229 }230 207 } 231 208 return result; -
src/periodentafel.hpp
r0430e3 r677e13 11 11 #include <iosfwd> 12 12 #include <map> 13 #include <string> 13 14 14 15 #include "unittests/periodentafelTest.hpp" … … 47 48 void CleanupPeriodtable(); 48 49 element * const FindElement(atomicNumber_t) const; 49 element * const FindElement(const char * constshorthand) const;50 element * const FindElement(const std::string &shorthand) const; 50 51 element * const AskElement() const; 51 52 element * const EnterElement(); … … 56 57 reverse_iterator rend(); 57 58 bool Output(std::ostream * const output) const; 58 bool Checkout(std::ostream * const output, const int * const checkliste) const;59 59 bool LoadPeriodentafel(const char * const path); 60 60 bool StorePeriodentafel(const char * const path) const; -
src/unittests/Makefile.am
r0430e3 r677e13 21 21 CacheableTest \ 22 22 CountBondsUnitTest \ 23 FormulaUnittest \ 23 24 GSLMatrixSymmetricUnitTest \ 24 25 GSLMatrixUnitTest \ … … 66 67 CacheableTest.cpp \ 67 68 CountBondsUnitTest.cpp \ 69 FormulaUnittest.cpp \ 68 70 gslmatrixsymmetricunittest.cpp \ 69 71 gslmatrixunittest.cpp \ … … 102 104 CacheableTest.hpp \ 103 105 CountBondsUnitTest.hpp \ 106 FormulaUnittest.hpp \ 104 107 gslmatrixsymmetricunittest.hpp \ 105 108 gslmatrixunittest.hpp \ … … 158 161 CountBondsUnitTest_LDADD = ${ALLLIBS} 159 162 163 FormulaUnittest_SOURCES = UnitTestMain.cpp FormulaUnittest.cpp FormulaUnittest.hpp 164 FormulaUnittest_LDADD = ${ALLLIBS} 165 160 166 GSLMatrixSymmetricUnitTest_SOURCES = UnitTestMain.cpp gslmatrixsymmetricunittest.cpp gslmatrixsymmetricunittest.hpp 161 167 GSLMatrixSymmetricUnitTest_LDADD = ${GSLLIBS} -
test_all.sh
r0430e3 r677e13 129 129 echo "Valgrinding"; 130 130 retval=0; 131 for test in molecuilder/src/unittests/*131 for test in src/unittests/* 132 132 do 133 133 if [ -x "$test" ] … … 150 150 151 151 echo "Testing with \"$2\""; 152 echo "" >> $logfile; 153 echo "" >> $logfile; 154 echo "" >> $logfile; 155 echo "Testing with \"$2\"" >> $logfile; 152 156 153 157 echo -n " Configuring: " >> $outfile;
Note:
See TracChangeset
for help on using the changeset viewer.