Changes in / [677e13:0430e3]


Ignore:
Files:
10 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • src/Descriptors/MoleculePtrDescriptor.cpp

    r677e13 r0430e3  
    1010#include "MoleculePtrDescriptor.hpp"
    1111#include "MoleculePtrDescriptor_impl.hpp"
    12 
    13 #include "Patterns/ObservedContainer_impl.hpp"
    1412
    1513#include "molecule.hpp"
  • src/Makefile.am

    r677e13 r0430e3  
    7777  Actions/Process.hpp
    7878
    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
     79EXCEPTIONSOURCE = 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
    8987                                 
    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
     88EXCEPTIONHEADER = 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
    10096
    10197PARSERSOURCE = \
     
    155151  Descriptors/AtomTypeDescriptor.cpp \
    156152  Descriptors/MoleculeDescriptor.cpp \
    157   Descriptors/MoleculeFormulaDescriptor.cpp \
    158153  Descriptors/MoleculeIdDescriptor.cpp \
    159154  Descriptors/MoleculeNameDescriptor.cpp \
     
    167162  Descriptors/AtomTypeDescriptor.hpp \
    168163  Descriptors/MoleculeDescriptor.hpp \
    169   Descriptors/MoleculeFormulaDescriptor.hpp \
    170164  Descriptors/MoleculeIdDescriptor.hpp \
    171165  Descriptors/MoleculeNameDescriptor.hpp \
     
    208202  ellipsoid.cpp \
    209203  errorlogger.cpp \
    210   Formula.cpp \
    211204  graph.cpp \
    212205  helpers.cpp \
     
    259252  ellipsoid.hpp \
    260253  errorlogger.hpp \
    261   Formula.hpp \
    262254  graph.hpp \
    263255  helpers.hpp \
  • src/World.cpp

    r677e13 r0430e3  
    234234    atomIdPool_t::iterator iter=atomIdPool.begin();
    235235    atomId_t id = iter->first;
    236     range<atomId_t> newRange = makeRange(id+1,iter->last);
     236    pair<atomId_t,atomId_t> newRange = make_pair(id+1,iter->second);
    237237    // we wont use this iterator anymore, so we don't care about invalidating
    238238    atomIdPool.erase(iter);
    239     if(newRange.first<newRange.last){
     239    if(newRange.first<newRange.second){
    240240      atomIdPool.insert(newRange);
    241241    }
     
    247247
    248248void World::releaseAtomId(atomId_t id){
    249   atomIdPool.insert(makeRange(id,id+1));
     249  atomIdPool.insert(make_pair(id,id+1));
    250250  defragAtomIdPool();
    251251}
     
    253253bool World::reserveAtomId(atomId_t id){
    254254  if(id>=currAtomId ){
    255     range<atomId_t> newRange = makeRange(currAtomId,id);
    256     if(newRange.first<newRange.last){
     255    pair<atomId_t,atomId_t> newRange = make_pair(currAtomId,id);
     256    if(newRange.first<newRange.second){
    257257      atomIdPool.insert(newRange);
    258258    }
     
    263263  // look for a range that matches the request
    264264  for(atomIdPool_t::iterator iter=atomIdPool.begin();iter!=atomIdPool.end();++iter){
    265     if(iter->isBefore(id)){
    266       // we have covered all available ranges... nothing to be found here
     265    if(iter->first>id){
     266      // we have coverd all available ranges... nothing to be found here
    267267      break;
    268268    }
    269269    // no need to check first, since it has to be <=id, since otherwise we would have broken out
    270     if(!iter->isBeyond(id)){
     270    if(iter->second > id){
    271271      // we found a matching range... get the id from this range
    272272
    273273      // split up this range at the point of id
    274       range<atomId_t> bottomRange = makeRange(iter->first,id);
    275       range<atomId_t> topRange = makeRange(id+1,iter->last);
     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);
    276276      // remove this range
    277277      atomIdPool.erase(iter);
    278       if(bottomRange.first<bottomRange.last){
     278      if(bottomRange.first<bottomRange.second){
    279279        atomIdPool.insert(bottomRange);
    280280      }
    281       if(topRange.first<topRange.last){
     281      if(topRange.first<topRange.second){
    282282        atomIdPool.insert(topRange);
    283283      }
     
    301301    atomIdPool_t::iterator next = iter;
    302302    next++;
    303     if(next!=atomIdPool.end() && (next->first==iter->last)){
     303    if(next!=atomIdPool.end() && (next->first==iter->second)){
    304304      // merge the two ranges
    305       range<atomId_t> newRange = makeRange(iter->first,next->last);
     305      pair<atomId_t,atomId_t> newRange = make_pair(iter->first,next->second);
    306306      atomIdPool.erase(iter);
    307307      atomIdPool.erase(next);
     
    317317    atomIdPool_t::iterator iter = atomIdPool.end();
    318318    iter--;
    319     if(iter->last==currAtomId){
     319    if(iter->second==currAtomId){
    320320      currAtomId=iter->first;
    321321      atomIdPool.erase(iter);
     
    333333    moleculeIdPool_t::iterator iter=moleculeIdPool.begin();
    334334    moleculeId_t id = iter->first;
    335     range<moleculeId_t> newRange = makeRange(id+1,iter->last);
     335    pair<moleculeId_t,moleculeId_t> newRange = make_pair(id+1,iter->second);
    336336    // we wont use this iterator anymore, so we don't care about invalidating
    337337    moleculeIdPool.erase(iter);
    338     if(newRange.first<newRange.last){
     338    if(newRange.first<newRange.second){
    339339      moleculeIdPool.insert(newRange);
    340340    }
     
    346346
    347347void World::releaseMoleculeId(moleculeId_t id){
    348   moleculeIdPool.insert(makeRange(id,id+1));
     348  moleculeIdPool.insert(make_pair(id,id+1));
    349349  defragMoleculeIdPool();
    350350}
     
    352352bool World::reserveMoleculeId(moleculeId_t id){
    353353  if(id>=currMoleculeId ){
    354     range<moleculeId_t> newRange = makeRange(currMoleculeId,id);
    355     if(newRange.first<newRange.last){
     354    pair<moleculeId_t,moleculeId_t> newRange = make_pair(currMoleculeId,id);
     355    if(newRange.first<newRange.second){
    356356      moleculeIdPool.insert(newRange);
    357357    }
     
    362362  // look for a range that matches the request
    363363  for(moleculeIdPool_t::iterator iter=moleculeIdPool.begin();iter!=moleculeIdPool.end();++iter){
    364     if(iter->isBefore(id)){
     364    if(iter->first>id){
    365365      // we have coverd all available ranges... nothing to be found here
    366366      break;
    367367    }
    368368    // no need to check first, since it has to be <=id, since otherwise we would have broken out
    369     if(!iter->isBeyond(id)){
     369    if(iter->second > id){
    370370      // we found a matching range... get the id from this range
    371371
    372372      // split up this range at the point of id
    373       range<moleculeId_t> bottomRange = makeRange(iter->first,id);
    374       range<moleculeId_t> topRange = makeRange(id+1,iter->last);
     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);
    375375      // remove this range
    376376      moleculeIdPool.erase(iter);
    377       if(bottomRange.first<bottomRange.last){
     377      if(bottomRange.first<bottomRange.second){
    378378        moleculeIdPool.insert(bottomRange);
    379379      }
    380       if(topRange.first<topRange.last){
     380      if(topRange.first<topRange.second){
    381381        moleculeIdPool.insert(topRange);
    382382      }
     
    400400    moleculeIdPool_t::iterator next = iter;
    401401    next++;
    402     if(next!=moleculeIdPool.end() && (next->first==iter->last)){
     402    if(next!=moleculeIdPool.end() && (next->first==iter->second)){
    403403      // merge the two ranges
    404       range<moleculeId_t> newRange = makeRange(iter->first,next->last);
     404      pair<moleculeId_t,moleculeId_t> newRange = make_pair(iter->first,next->second);
    405405      moleculeIdPool.erase(iter);
    406406      moleculeIdPool.erase(next);
     
    416416    moleculeIdPool_t::iterator iter = moleculeIdPool.end();
    417417    iter--;
    418     if(iter->last==currMoleculeId){
     418    if(iter->second==currMoleculeId){
    419419      currMoleculeId=iter->first;
    420420      moleculeIdPool.erase(iter);
  • src/World.hpp

    r677e13 r0430e3  
    2424#include "Patterns/Singleton.hpp"
    2525#include "Patterns/ObservedContainer.hpp"
    26 #include "Helpers/Range.hpp"
    2726
    2827// include config.h
     
    361360  AtomSet atoms;
    362361  AtomSet selectedAtoms;
    363   typedef std::set<range<atomId_t> > atomIdPool_t;
     362  typedef std::set<std::pair<atomId_t, atomId_t> > atomIdPool_t;
    364363  /**
    365364   * stores the pool for all available AtomIds below currAtomId
     
    374373  MoleculeSet molecules;
    375374  MoleculeSet selectedMolecules;
    376   typedef std::set<range<atomId_t> > moleculeIdPool_t;
     375  typedef std::set<std::pair<moleculeId_t, moleculeId_t> > moleculeIdPool_t;
    377376  /**
    378377   * stores the pool for all available AtomIds below currAtomId
  • src/config.cpp

    r677e13 r0430e3  
    10311031{
    10321032  bool result = true;
     1033  // bring MaxTypes up to date
     1034  mol->CountElements();
    10331035  const Matrix &domain = World::getInstance().getDomain().getM();
    10341036  ofstream * const output = new ofstream(filename, ios::out);
     
    11361138    *output << "IsAngstroem\t" << config::IsAngstroem << "\t# 0 - Bohr, 1 - Angstroem" << endl;
    11371139    *output << "RelativeCoord\t" << config::RelativeCoord << "\t# whether ion coordinates are relative (1) or absolute (0)" << endl;
    1138     *output << "MaxTypes\t" << mol->getElementCount() <<  "\t# maximum number of different ion types" << endl;
     1140    *output << "MaxTypes\t" << mol->ElementCount <<  "\t# maximum number of different ion types" << endl;
    11391141    *output << endl;
    11401142    result = result && mol->Checkout(output);
     
    15311533    mol->SetNameFromFilename(ConfigFileName);
    15321534    molecules->SimpleMultiMerge(mol, src, N);
     1535    mol->doCountAtoms();
     1536    mol->CountElements();
    15331537    //mol->CalculateOrbitals(*this);
    15341538    delete[](src);
  • src/molecule.cpp

    r677e13 r0430e3  
    4949molecule::molecule(const periodentafel * const teil) :
    5050  Observable("molecule"),
    51   elemente(teil),  MDSteps(0),  BondCount(0), NoNonHydrogen(0), NoNonBonds(0),
     51  elemente(teil),  MDSteps(0),  BondCount(0), ElementCount(0), NoNonHydrogen(0), NoNonBonds(0),
    5252  NoCyclicBonds(0), BondDistance(0.),  ActiveFlag(false), IndexNr(-1),
     53  formula(this,boost::bind(&molecule::calcFormula,this),"formula"),
    5354  AtomCount(this,boost::bind(&molecule::doCountAtoms,this),"AtomCount"), last_atom(0),  InternalPointer(atoms.begin())
    5455{
    5556
     57  // other stuff
     58  for(int i=MAX_ELEMENTS;i--;)
     59    ElementsInMolecule[i] = 0;
    5660  strcpy(name,World::getInstance().getDefaultName().c_str());
    5761};
     
    97101}
    98102
    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);
     103const std::string molecule::getFormula(){
     104  return *formula;
     105}
     106
     107std::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();
    117120}
    118121
     
    207210    pointer->sort = &pointer->nr;
    208211    if (pointer->type != NULL) {
    209       formula += pointer->type;
     212      if (ElementsInMolecule[pointer->type->Z] == 0)
     213        ElementCount++;
     214      ElementsInMolecule[pointer->type->Z]++; // increase number of elements
    210215      if (pointer->type->Z != 1)
    211216        NoNonHydrogen++;
     
    646651
    647652  // copy values
     653  copy->CountElements();
    648654  if (hasBondStructure()) {  // if adjaceny list is present
    649655    copy->BondDistance = BondDistance;
     
    768774  ASSERT(pointer, "Null pointer passed to molecule::RemoveAtom().");
    769775  OBSERVE;
    770   formula-=pointer->type;
     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--;
    771782  RemoveBonds(pointer);
    772783  erase(pointer);
     
    782793  if (pointer == NULL)
    783794    return false;
    784   formula-=pointer->type;
     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--;
    785801  erase(pointer);
    786802  return true;
     
    855871{
    856872  int ElementNo[MAX_ELEMENTS], AtomNo[MAX_ELEMENTS];
     873  CountElements();
    857874
    858875  for (int i=0;i<MAX_ELEMENTS;++i) {
     
    881898{
    882899  int ElementNo[MAX_ELEMENTS], AtomNo[MAX_ELEMENTS];
     900  CountElements();
    883901
    884902  if (output == NULL) {
     
    922940bool molecule::Checkout(ofstream * const output)  const
    923941{
    924   return formula.checkOut(output);
     942  return elemente->Checkout(output, ElementsInMolecule);
    925943};
    926944
     
    980998};
    981999
     1000/** Brings molecule::ElementCount and molecule::ElementsInMolecule up-to-date.
     1001 */
     1002void 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
    9821014/** Determines whether two molecules actually contain the same atoms and coordination.
    9831015 * \param *out output stream for debugging
     
    9981030  /// first count both their atoms and elements and update lists thereby ...
    9991031  //Log() << Verbose(0) << "Counting atoms, updating list" << endl;
     1032  CountElements();
     1033  OtherMolecule->CountElements();
    10001034
    10011035  /// ... and compare:
     
    10071041    } else Log() << Verbose(4) << "AtomCounts match: " << getAtomCount() << " == " << OtherMolecule->getAtomCount() << endl;
    10081042  }
    1009   /// -# Formula
     1043  /// -# ElementCount
    10101044  if (result) {
    1011     if (formula != OtherMolecule->formula) {
    1012       DoLog(4) && (Log() << Verbose(4) << "Formulas don't match: " << formula << " == " << OtherMolecule->formula << endl);
     1045    if (ElementCount != OtherMolecule->ElementCount) {
     1046      DoLog(4) && (Log() << Verbose(4) << "ElementCount don't match: " << ElementCount << " == " << OtherMolecule->ElementCount << endl);
    10131047      result = false;
    1014     } else Log() << Verbose(4) << "Formulas match: " << formula << " == " << OtherMolecule->formula << endl;
     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;
    10151061  }
    10161062  /// then determine and compare center of gravity for each molecule ...
  • src/molecule.hpp

    r677e13 r0430e3  
    2828#include "Patterns/ObservedIterator.hpp"
    2929#include "Patterns/Cacheable.hpp"
    30 #include "Formula.hpp"
    3130
    3231#include "Descriptors/MoleculeDescriptor_impl.hpp"
     
    9897    //int AtomCount;          //!< number of atoms, brought up-to-date by CountAtoms()
    9998    int BondCount;          //!< number of atoms, brought up-to-date by CountBonds()
     99    int ElementCount;       //!< how many unique elements are therein
     100    int ElementsInMolecule[MAX_ELEMENTS]; //!< list whether element (sorted by atomic number) is alread present or not
    100101    mutable int NoNonHydrogen;  //!< number of non-hydrogen atoms in molecule
    101102    mutable int NoNonBonds;     //!< number of non-hydrogen bonds in molecule
     
    108109
    109110  private:
    110     Formula formula;
     111    Cacheable<string> formula;
    111112    Cacheable<int>    AtomCount;
    112113    moleculeId_t id;
     
    134135  void setId(moleculeId_t);
    135136  void setName(const std::string);
    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 
     137  const std::string getFormula();
     138  std::string calcFormula();
    142139
    143140  iterator begin();
     
    257254
    258255  /// Count and change present atoms' coordination.
     256  void CountElements();
    259257  bool CenterInBox();
    260258  bool BoundInBox();
  • src/molecule_dynamics.cpp

    r677e13 r0430e3  
    560560  ForceMatrix Force;
    561561
     562  CountElements();  // make sure ElementsInMolecule is up to date
     563
    562564  const int AtomCount = getAtomCount();
    563565  // check file
  • src/moleculelist.cpp

    r677e13 r0430e3  
    597597      periodentafel::const_iterator elemIter;
    598598      for(elemIter=periode->begin();elemIter!=periode->end();++elemIter){
    599         if ((*ListRunner)->hasElement((*elemIter).first)) { // if this element got atoms
     599        if ((*ListRunner)->ElementsInMolecule[(*elemIter).first]) { // if this element got atoms
    600600          for(molecule::iterator atomIter = (*ListRunner)->begin(); atomIter !=(*ListRunner)->end();++atomIter){
    601601            if ((*atomIter)->type->getNumber() == (*elemIter).first) {
     
    689689
    690690    // also calculate necessary orbitals
     691    (*ListRunner)->CountElements(); // this is a bugfix, atoms should shoulds actually be added correctly to this fragment
    691692    //(*ListRunner)->CalculateOrbitals(*World::getInstance().getConfig);
    692693
  • src/periodentafel.cpp

    r677e13 r0430e3  
    125125 * \return pointer to element
    126126 */
    127 element * const periodentafel::FindElement(const string &shorthand) const
     127element * const periodentafel::FindElement(const char * const shorthand) const
    128128{
    129129  element *res = 0;
     
    205205    for(const_iterator iter=elements.begin(); iter !=elements.end();++iter){
    206206      result = result && (*iter).second->Output(output);
     207    }
     208    return result;
     209  } else
     210    return false;
     211};
     212
     213/** Prints period table to given stream.
     214 * \param *output output stream
     215 * \param *checkliste elements table for this molecule
     216 */
     217bool periodentafel::Checkout(ostream * const output, const int * const checkliste) const
     218{
     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      }
    207230    }
    208231    return result;
  • src/periodentafel.hpp

    r677e13 r0430e3  
    1111#include <iosfwd>
    1212#include <map>
    13 #include <string>
    1413
    1514#include "unittests/periodentafelTest.hpp"
     
    4847  void CleanupPeriodtable();
    4948  element * const FindElement(atomicNumber_t) const;
    50   element * const FindElement(const std::string &shorthand) const;
     49  element * const FindElement(const char * const shorthand) const;
    5150  element * const AskElement() const;
    5251  element * const EnterElement();
     
    5756  reverse_iterator rend();
    5857  bool Output(std::ostream * const output) const;
     58  bool Checkout(std::ostream * const output, const int * const checkliste) const;
    5959  bool LoadPeriodentafel(const char * const path);
    6060  bool StorePeriodentafel(const char * const path) const;
  • src/unittests/Makefile.am

    r677e13 r0430e3  
    2121  CacheableTest \
    2222  CountBondsUnitTest \
    23   FormulaUnittest \
    2423  GSLMatrixSymmetricUnitTest \
    2524  GSLMatrixUnitTest \
     
    6766  CacheableTest.cpp \
    6867  CountBondsUnitTest.cpp \
    69   FormulaUnittest.cpp \
    7068  gslmatrixsymmetricunittest.cpp \
    7169  gslmatrixunittest.cpp \
     
    104102  CacheableTest.hpp \
    105103  CountBondsUnitTest.hpp \
    106   FormulaUnittest.hpp \
    107104  gslmatrixsymmetricunittest.hpp \
    108105  gslmatrixunittest.hpp \
     
    161158CountBondsUnitTest_LDADD = ${ALLLIBS}
    162159
    163 FormulaUnittest_SOURCES = UnitTestMain.cpp FormulaUnittest.cpp FormulaUnittest.hpp
    164 FormulaUnittest_LDADD = ${ALLLIBS}
    165 
    166160GSLMatrixSymmetricUnitTest_SOURCES = UnitTestMain.cpp gslmatrixsymmetricunittest.cpp gslmatrixsymmetricunittest.hpp
    167161GSLMatrixSymmetricUnitTest_LDADD = ${GSLLIBS}
  • test_all.sh

    r677e13 r0430e3  
    129129  echo "Valgrinding";
    130130  retval=0;
    131   for test in src/unittests/*
     131  for test in molecuilder/src/unittests/*
    132132  do
    133133    if [ -x "$test" ]
     
    150150
    151151  echo "Testing with \"$2\"";
    152   echo "" >> $logfile;
    153   echo "" >> $logfile;
    154   echo "" >> $logfile;
    155   echo "Testing with \"$2\"" >> $logfile;
    156152
    157153  echo -n "  Configuring: " >> $outfile;
Note: See TracChangeset for help on using the changeset viewer.