Changes in / [b6b3b2:311da7b]


Ignore:
Files:
6 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/Makefile.am

    rb6b3b2 r311da7b  
    128128
    129129PARSERACTIONSOURCE = \
    130   ParserAction/ParseTremoloPotentialsAction.cpp \
    131130  ParserAction/SetMpqcParametersAction.cpp \
    132131  ParserAction/SetOutputFormatsAction.cpp
    133132PARSERACTIONHEADER = \
    134   ParserAction/ParseTremoloPotentialsAction.hpp \
    135133  ParserAction/SetMpqcParametersAction.hpp \
    136134  ParserAction/SetOutputFormatsAction.hpp               
  • src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.cpp

    rb6b3b2 r311da7b  
    5959  // set each parameter (that is not -1);
    6060  if (!params.parameters.isDefault()) {
    61     RandomNumberDistribution_Parameters *currentparameters =
     61    RandomNumberDistribution_Parameters *oldparameters =
    6262        RandomNumberDistributionFactory::getInstance().getPrototype().getParameterSet();
    63     currentparameters->update(params.parameters);
     63    oldparameters->update(params.parameters);
    6464    DoLog(1) && (Log() << Verbose(1) << "Changing prototype's parameters to "
    6565        << params.parameters << "." << std::endl);
    66     RandomNumberDistributionFactory::getInstance().manipulatePrototype(*currentparameters);
    67     delete currentparameters;
     66    RandomNumberDistributionFactory::getInstance().manipulatePrototype(*oldparameters);
    6867  }
    6968
  • src/Parser/TremoloAtomInfoContainer.cpp

    rb6b3b2 r311da7b  
    2020#include "CodePatterns/MemDebug.hpp"
    2121
    22 #include "CodePatterns/toString.hpp"
    23 
    2422#include <iostream>
    2523
     
    3230  imprData("-"),
    3331  GroupMeasureTypeNo("0"),
    34   Type("-"),
    3532  extType("-"),
    3633  name("-"),
     
    6259    case TremoloKey::GroupMeasureTypeNo :
    6360      GroupMeasureTypeNo = value;
    64       break;
    65     case TremoloKey::Type :
    66       Type = value;
    6761      break;
    6862    case TremoloKey::extType :
     
    110104}
    111105
    112 std::string TremoloAtomInfoContainer::get(TremoloKey::atomDataKey key) const
    113 {
     106std::string TremoloAtomInfoContainer::get(TremoloKey::atomDataKey key) {
    114107  switch (key) {
    115108    case TremoloKey::F :
     
    121114    case TremoloKey::GroupMeasureTypeNo :
    122115      return GroupMeasureTypeNo;
    123     case TremoloKey::Type :
    124       return Type;
    125116    case TremoloKey::extType :
    126117      return extType;
     
    155146}
    156147
    157 std::ostream& operator<<(std::ostream& out, const TremoloAtomInfoContainer& info)
    158 {
    159   out << info.get(TremoloKey::F) << "\t";
    160   out << info.get(TremoloKey::stress) << "\t";
    161   out << info.get(TremoloKey::imprData) << "\t";
    162   out << info.get(TremoloKey::GroupMeasureTypeNo) << "\t";
    163   out << info.get(TremoloKey::Type) << "\t";
    164   out << info.get(TremoloKey::extType) << "\t";
    165   out << info.get(TremoloKey::name) << "\t";
    166   out << info.get(TremoloKey::resName) << "\t";
    167   out << info.get(TremoloKey::chainID) << "\t";
    168   out << info.get(TremoloKey::resSeq) << "\t";
    169   out << info.get(TremoloKey::occupancy) << "\t";
    170   out << info.get(TremoloKey::tempFactor) << "\t";
    171   out << info.get(TremoloKey::segID) << "\t";
    172   out << info.get(TremoloKey::Charge) << "\t";
    173   out << info.get(TremoloKey::charge) << "\t";
    174   out << info.get(TremoloKey::GrpTypeNo) << "\t";
    175   out << info.get(TremoloKey::torsion) << "\t";
    176   out << info.neighbors << "\t";
    177   out << info.neighbors_processed;
    178 
    179   return out;
    180 }
  • src/Parser/TremoloAtomInfoContainer.hpp

    rb6b3b2 r311da7b  
    2727  TremoloAtomInfoContainer();
    2828  void set(TremoloKey::atomDataKey key, std::string value);
    29   std::string get(TremoloKey::atomDataKey key) const;
     29  std::string get(TremoloKey::atomDataKey key);
    3030  std::string F;
    3131  std::string stress;
    3232  std::string imprData;
    3333  std::string GroupMeasureTypeNo;
    34   std::string Type;
    3534  std::string extType;
    3635  std::string name;
     
    4948};
    5049
    51 std::ostream& operator<<(std::ostream& out, const TremoloAtomInfoContainer&);
    5250
    5351#endif /* TREMOLOATOMINFOCONTAINER_HPP_ */
  • src/Parser/TremoloParser.cpp

    rb6b3b2 r311da7b  
    2222#include "CodePatterns/Assert.hpp"
    2323#include "CodePatterns/Log.hpp"
    24 #include "CodePatterns/toString.hpp"
    2524#include "CodePatterns/Verbose.hpp"
    2625#include "TremoloParser.hpp"
     
    6766  knownKeys["torsion"] = TremoloKey::torsion;
    6867
    69   createKnownTypesByIdentity();
    70 
    7168  // default behavior: use all possible keys on output
    7269  for (std::map<std::string, TremoloKey::atomDataKey>::iterator iter = knownKeys.begin(); iter != knownKeys.end(); ++iter)
     
    7572  // and noKey afterwards(!) such that it is not used in usedFields
    7673  knownKeys[" "] = TremoloKey::noKey; // with this we can detect invalid keys
    77 
    78   // invert knownKeys for debug output
    79   for (std::map<std::string, TremoloKey::atomDataKey>::iterator iter = knownKeys.begin(); iter != knownKeys.end(); ++iter)
    80     knownKeyNames.insert( make_pair( iter->second, iter->first) );
    81 
    82   additionalAtomData.clear();
    8374}
    8475
     
    140131  vector<string>::iterator it;
    141132
    142   DoLog(3) && (Log() << Verbose(3) << "additionalAtomData contains: " << additionalAtomData << std::endl);
    143 
    144133  *file << "# ATOMDATA";
    145134  for (it=usedFields.begin(); it < usedFields.end(); it++) {
     
    173162  vector<string>::iterator it;
    174163  TremoloKey::atomDataKey currentField;
    175 
    176   DoLog(4) && (Log() << Verbose(4) << "INFO: Saving atom " << *currentAtom << ", its father id is " << currentAtom->GetTrueFather()->getId() << std::endl);
    177164
    178165  for (it = usedFields.begin(); it != usedFields.end(); it++) {
     
    181168      case TremoloKey::x :
    182169        // for the moment, assume there are always three dimensions
    183         DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << currentAtom->getPosition() << std::endl);
    184170        *file << currentAtom->at(0) << "\t";
    185171        *file << currentAtom->at(1) << "\t";
     
    188174      case TremoloKey::u :
    189175        // for the moment, assume there are always three dimensions
    190         DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << currentAtom->AtomicVelocity << std::endl);
    191176        *file << currentAtom->AtomicVelocity[0] << "\t";
    192177        *file << currentAtom->AtomicVelocity[1] << "\t";
     
    194179        break;
    195180      case TremoloKey::Type :
    196         if (additionalAtomData.count(currentAtom->getId())) {
    197           if (additionalAtomData[currentAtom->getId()].get(currentField) != "-") {
    198             DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << additionalAtomData[currentAtom->getId()].get(currentField) << std::endl);
    199             *file << additionalAtomData[currentAtom->getId()].get(currentField) << "\t";
    200           } else {
    201             DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " default value: " << currentAtom->getType()->getSymbol() << std::endl);
    202             *file << currentAtom->getType()->getSymbol() << "\t";
    203           }
    204         } else if (additionalAtomData.count(currentAtom->GetTrueFather()->getId())) {
    205           if (additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField) != "-") {
    206             DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " stuff from father: " << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField) << std::endl);
    207             *file << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField) << "\t";
    208           } else {
    209             DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " default value from father: " << currentAtom->GetTrueFather()->getType()->getSymbol() << std::endl);
    210             *file << currentAtom->GetTrueFather()->getType()->getSymbol() << "\t";
    211           }
    212         } else {
    213           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " its default value: " << currentAtom->getType()->getSymbol() << std::endl);
    214           *file << currentAtom->getType()->getSymbol() << "\t";
    215         }
     181        *file << currentAtom->getType()->getSymbol() << "\t";
    216182        break;
    217183      case TremoloKey::Id :
    218         DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << currentAtom->getId()+1 << std::endl);
    219184        *file << currentAtom->getId()+1 << "\t";
    220185        break;
    221186      case TremoloKey::neighbors :
    222         DoLog(3) && (Log() << Verbose(3) << "Writing type " << knownKeyNames[currentField] << std::endl);
    223187        writeNeighbors(file, atoi(it->substr(it->find("=") + 1, 1).c_str()), currentAtom);
    224188        break;
    225189      case TremoloKey::resSeq :
    226         if (additionalAtomData.count(currentAtom->getId())) {
    227           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << additionalAtomData[currentAtom->getId()].get(currentField) << std::endl);
     190        if (additionalAtomData.find(currentAtom->getId()) != additionalAtomData.end()) {
    228191          *file << additionalAtomData[currentAtom->getId()].get(currentField);
    229192        } else if (currentAtom->getMolecule() != NULL) {
    230           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " its own id: " << currentAtom->getMolecule()->getId()+1 << std::endl);
    231193          *file << setw(4) << currentAtom->getMolecule()->getId()+1;
    232194        } else {
    233           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " default value: " << defaultAdditionalData.get(currentField) << std::endl);
    234195          *file << defaultAdditionalData.get(currentField);
    235196        }
    236197        *file << "\t";
    237         break;
     198      break;
    238199      default :
    239         if (additionalAtomData.count(currentAtom->getId())) {
    240           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << ": " << additionalAtomData[currentAtom->getId()].get(currentField) << std::endl);
     200        if (additionalAtomData.find(currentAtom->getId()) != additionalAtomData.end()) {
    241201          *file << additionalAtomData[currentAtom->getId()].get(currentField);
    242         } else if (additionalAtomData.count(currentAtom->GetTrueFather()->getId())) {
    243           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " stuff from father: " << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField) << std::endl);
     202        } else if (additionalAtomData.find(currentAtom->GetTrueFather()->getId()) != additionalAtomData.end()) {
    244203          *file << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField);
    245204        } else {
    246           DoLog(3) && (Log() << Verbose(3) << "Writing for type " << knownKeyNames[currentField] << " the default: " << defaultAdditionalData.get(currentField) << std::endl);
    247205          *file << defaultAdditionalData.get(currentField);
    248206        }
     
    348306        break;
    349307      case TremoloKey::Type :
    350       {
     308        char type[3];
    351309        ASSERT(tok_iter != tokens.end(), "TremoloParser::readAtomDataLine() - no value for "+keyName+"!");
    352         DoLog(1) && (Log() << Verbose(1) << "INFO: Parsing key " << keyName << " with next token " << *tok_iter << std::endl);
    353         std::string element(knownTypes[(*tok_iter)]);
    354         // put type name into container for later use
    355         atomInfo->set(currentField, *tok_iter);
    356         DoLog(1) && (Log() << Verbose(1) << "INFO: Parsing element " << (*tok_iter) << " as " << element << " according to KnownTypes." << std::endl);
     310        //DoLog(1) && (Log() << Verbose(1) << "INFO: Parsing key " << keyName << " with next token " << *tok_iter << std::endl);
     311        strncpy(type, (*tok_iter).c_str(), 3);
    357312        tok_iter++;
    358         newAtom->setType(World::getInstance().getPeriode()->FindElement(element));
     313        //type[1]='\0'; // cutoff after first char, correct for ATOM entries
     314        newAtom->setType(World::getInstance().getPeriode()->FindElement(type));
    359315        ASSERT(newAtom->getType(), "Type was not set for this atom");
    360316        break;
    361       }
    362317      case TremoloKey::Id :
    363318        ASSERT(tok_iter != tokens.end(), "TremoloParser::readAtomDataLine() - no value for "+keyName+"!");
     
    521476}
    522477
    523 /** Creates knownTypes as the identity, e.g. H -> H, He -> He, ... .
    524  *
    525  */
    526 void TremoloParser::createKnownTypesByIdentity()
    527 {
    528   // remove old mapping
    529   knownTypes.clear();
    530   // make knownTypes the identity mapping
    531   const periodentafel *periode = World::getInstance().getPeriode();
    532   for (periodentafel::const_iterator iter = periode->begin();
    533       iter != periode->end();
    534       ++iter) {
    535     knownTypes.insert( make_pair(iter->second->getSymbol(), iter->second->getSymbol()) );
    536   }
    537 }
    538 
    539 /** Parses a .potentials file and creates from it the knownTypes file.
    540  *
    541  * @param file input stream of .potentials file
    542  */
    543 void TremoloParser::parseKnownTypes(std::istream &file)
    544 {
    545   const periodentafel *periode = World::getInstance().getPeriode();
    546   // remove old mapping
    547   knownTypes.clear();
    548 
    549   DoLog(3) && (Log() << Verbose(3) << "additionalAtomData contains: " << additionalAtomData << std::endl);
    550 
    551   // parse in file
    552   typedef boost::tokenizer<boost::char_separator<char> >
    553       tokenizer;
    554   boost::char_separator<char> tokensep(":\t ,;");
    555   boost::char_separator<char> equalitysep("\t =");
    556   std::string line;
    557   while (file.good()) {
    558     std::getline( file, line );
    559     DoLog(4) && (Log() << Verbose(4) << "INFO: full line of parameters is '" << line << "'" << std::endl);
    560     if (line.find("particle:") != string::npos) {
    561       DoLog(3) && (Log() << Verbose(3) << "INFO: found line '" << line << "' containing keyword 'particle:'." << std::endl);
    562       tokenizer tokens(line, tokensep);
    563       ASSERT(tokens.begin() != tokens.end(),
    564           "TremoloParser::parseKnownTypes() - line with 'particle:' but no particles separated by comma.");
    565       // look for particle_type
    566       std::string particle_type("NULL");
    567       std::string element_type("NULL");
    568       for (tokenizer::iterator tok_iter = tokens.begin();
    569           tok_iter != tokens.end();
    570           ++tok_iter) {
    571         if ((*tok_iter).find("particle_type") != string::npos) {
    572           DoLog(3) && (Log() << Verbose(3) << "INFO: found line '" << line << "' containing keyword 'particle_type'." << std::endl);
    573           tokenizer token((*tok_iter), equalitysep);
    574           ASSERT(token.begin() != token.end(),
    575                     "TremoloParser::parseKnownTypes() - could not split particle_type by equality sign");
    576           tokenizer::iterator particle_iter = token.begin();
    577           particle_iter++;
    578           particle_type = *particle_iter;
    579         }
    580         if ((*tok_iter).find("element_name") != string::npos) {
    581           DoLog(3) && (Log() << Verbose(3) << "INFO: found line '" << line << "' containing keyword 'element_name'." << std::endl);
    582           tokenizer token((*tok_iter), equalitysep);
    583           ASSERT(token.begin() != token.end(),
    584                     "TremoloParser::parseKnownTypes() - could not split particle_type by equality sign");
    585           tokenizer::iterator element_iter = token.begin();
    586           element_iter++;
    587           element_type = *element_iter;
    588         }
    589       }
    590       if ((particle_type != "NULL") && (element_type != "NULL")) {
    591         if (periode->FindElement(element_type) != NULL) {
    592           DoLog(1) && (Log() << Verbose(1) << "INFO: Added Type " << particle_type << " as reference to element " << element_type << "." << std::endl);
    593           knownTypes.insert( make_pair (particle_type, element_type) );
    594         } else {
    595           DoeLog(1) && (Log() << Verbose(1) << "INFO: Either Type " << particle_type << " or " << element_type << " could not be recognized." << std::endl);
    596         }
    597       } else {
    598         DoeLog(1) && (Log() << Verbose(1) << "INFO: Desired element " << element_type << " is not known." << std::endl);
    599       }
    600     }
    601   }
    602 
    603 }
  • src/Parser/TremoloParser.hpp

    rb6b3b2 r311da7b  
    3535  void setFieldsForSave(std::string atomDataLine);
    3636
    37   void parseKnownTypes(std::istream &file);
    38   void createKnownTypesByIdentity();
    39 
    4037
    4138private:
     
    5350
    5451  /**
    55    * Map to associate the elements with stuff in "Type", e.g. OC2 -> O.
    56    */
    57   std::map<std::string, std::string> knownTypes;
    58 
    59   /**
    6052   * Map to associate the known keys with numbers.
    6153   */
    6254  std::map<std::string, TremoloKey::atomDataKey> knownKeys;
    63 
    64   /**
    65    * Inverse Map to have a name to each known keys.
    66    */
    67   std::map<TremoloKey::atomDataKey, std::string> knownKeyNames;
    6855
    6956  /**
  • src/Parser/unittests/ParserTremoloUnitTest.cpp

    rb6b3b2 r311da7b  
    4444CPPUNIT_TEST_SUITE_REGISTRATION( ParserTremoloUnitTest );
    4545
    46 static string Tremolo_Atomdata1 = "\
    47 # ATOMDATA\tId\tname\tType\tx=3\n";
    48 static string Tremolo_Atomdata2 = "\
    49 #\n\
    50 #ATOMDATA Id name Type x=3\n\
    51 1 hydrogen H 3.0 4.5 0.1\n\
    52 \n";
    53 static string Tremolo_invalidkey = "\
    54 #\n\
    55 #ATOMDATA Id name foo Type x=3\n\
    56 \n\n";
    57 static string Tremolo_velocity = "\
    58 #\n\
    59 #ATOMDATA Id name Type u=3\n\
    60 1 hydrogen H 3.0 4.5 0.1\n\
    61 \n";
    62 static string Tremolo_neighbours = "#\n\
    63 #ATOMDATA Id Type neighbors=2\n\
    64 1 H 3 0\n\
    65 2 H 3 0\n\
    66 3 O 1 2\n";
    67 static string Tremolo_improper = "\
    68 #\n\
    69 #ATOMDATA Id Type imprData\n\
    70 8 H 9-10\n\
    71 9 H 10-8,8-10\n\
    72 10 O -\n";
    73 static string Tremolo_torsion = "\
    74 #\n\
    75 #ATOMDATA Id Type torsion\n\
    76 8 H 9-10\n\
    77 9 H 10-8,8-10\n\
    78 10 O -\n";
    79 static string Tremolo_full = "\
    80 # ATOMDATA\tx=3\tu=3\tF\tstress\tId\tneighbors=5\timprData\tGroupMeasureTypeNo\tType\textType\tname\tresName\tchainID\tresSeq\toccupancy\ttempFactor\tsegID\tCharge\tcharge\tGrpTypeNo\ttorsion\n\
    81 0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t-\t0\tH\t-\t-\t-\t0\t0\t0\t0\t0\t0\t0\t0\t-\t\n";
     46static string Tremolo_Atomdata1 = "# ATOMDATA\tId\tname\tType\tx=3\n";
     47static string Tremolo_Atomdata2 = "#\n#ATOMDATA Id name Type x=3\n1 hydrogen H 3.0 4.5 0.1\n\n";
     48static string Tremolo_invalidkey = "#\n#ATOMDATA Id name foo Type x=3\n\n\n";
     49static string Tremolo_velocity = "#\n#ATOMDATA Id name Type u=3\n1 hydrogen H 3.0 4.5 0.1\n\n";
     50static string Tremolo_neighbours = "#\n#ATOMDATA Id Type neighbors=2\n1 H 3 0\n2 H 3 0\n3 O 1 2\n";
     51static string Tremolo_improper = "#\n#ATOMDATA Id Type imprData\n8 H 9-10\n9 H 10-8,8-10\n10 O -\n";
     52static string Tremolo_torsion = "#\n#ATOMDATA Id Type torsion\n8 H 9-10\n9 H 10-8,8-10\n10 O -\n";
     53static string Tremolo_full = "# ATOMDATA\tx=3\tu=3\tF\tstress\tId\tneighbors=5\timprData\tGroupMeasureTypeNo\tType\textType\tname\tresName\tchainID\tresSeq\toccupancy\ttempFactor\tsegID\tCharge\tcharge\tGrpTypeNo\ttorsion\n0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t-\t0\tH\t-\t-\t-\t0\t0\t0\t0\t0\t0\t0\t0\t-\t\n";
    8254
    8355void ParserTremoloUnitTest::setUp() {
     
    10779    std::vector<atom *> atoms = World::getInstance().getAllAtoms();
    10880    testParser->save(&output, atoms);
    109 //    std::cout << output.str() << std::endl;
    110 //    std::cout << Tremolo_Atomdata1 << std::endl;
    11181    CPPUNIT_ASSERT(Tremolo_Atomdata1 == output.str());
    11282    input.clear();
     
    12090    std::vector<atom *> atoms = World::getInstance().getAllAtoms();
    12191    testParser->save(&output, atoms);
    122     std::cout << output.str() << std::endl;
    12392    CPPUNIT_ASSERT(output.str().find("hydrogen") != string::npos);
    12493    input.clear();
     
    180149    testParser->save(&output, atoms);
    181150    CPPUNIT_ASSERT_EQUAL(3, World::getInstance().numAtoms());
    182     std::cout << output.str() << std::endl;
    183151    CPPUNIT_ASSERT(output.str().find("2-0,0-2") != string::npos);
    184152    input.clear();
     
    198166    testParser->save(&output, atoms);
    199167    CPPUNIT_ASSERT_EQUAL(3, World::getInstance().numAtoms());
    200     std::cout << output.str() << std::endl;
    201168    CPPUNIT_ASSERT(output.str().find("2-0,0-2") != string::npos);
    202169    input.clear();
  • src/RandomNumbers/RandomNumberDistributionFactory.hpp

    rb6b3b2 r311da7b  
    1616#include "CodePatterns/Singleton.hpp"
    1717
    18 #include "RandomNumberDistribution.hpp"
    19 #include "RandomNumberDistribution_Parameters.hpp"
    20 
    2118// this defines stuff necessary PREVIOUS of PrototypeFactory.hpp inclusion
    2219#include "RandomNumberDistributionFactory.def"
     
    2825#include <map>
    2926
     27class RandomNumberDistribution;
     28class RandomNumberDistribution_Parameters;
    3029class RandomNumberDistributionFactoryUnitTest;
    3130class CommandSetRandomNumbersDistributionAction;
  • src/RandomNumbers/RandomNumberDistribution_Parameters.cpp

    rb6b3b2 r311da7b  
    180180      tokenizer::iterator tok_valueiter = tok_paramiter;
    181181      tokenizer::iterator tok_checkiter = ++tok_valueiter;
    182       ASSERT(tok_paramiter != paramtokens.end(),
    183           "operator<< on RandomNumberDistribution_Parameters - missing value before '='!");
    184       ASSERT(tok_valueiter != paramtokens.end(),
    185           "operator<< on RandomNumberDistribution_Parameters - missing value after '='!");
     182      ASSERT(tok_valueiter == params.end(),
     183          "operator<< on RandomNumberDistribution_Parameters - missing value before ';'!");
    186184      ++tok_checkiter;
    187       ASSERT(tok_checkiter == paramtokens.end(),
     185      ASSERT(tok_checkiter == params.end(),
    188186          "operator<< on RandomNumberDistribution_Parameters - still tokens before ';'!");
    189187      DoLog(0) && (Log() << Verbose(0) << "INFO: Token pair is " << *tok_paramiter << "," << *tok_valueiter << std::endl);
  • src/RandomNumbers/RandomNumberEngineFactory.hpp

    rb6b3b2 r311da7b  
    1616#include "CodePatterns/Singleton.hpp"
    1717
    18 #include "RandomNumberEngine.hpp"
    19 #include "RandomNumberEngine_Parameters.hpp"
    20 
    2118// this defines stuff necessary PREVIOUS of PrototypeFactory.hpp inclusion
    2219#include "RandomNumberEngineFactory.def"
     
    2825#include <map>
    2926
     27class RandomNumberEngine;
     28class RandomNumberEngine_Parameters;
    3029class RandomNumberEngineFactoryUnitTest;
    3130class CommandSetRandomNumbersEngineAction;
  • src/RandomNumbers/RandomNumberEngine_Parameters.cpp

    rb6b3b2 r311da7b  
    103103      tokenizer::iterator tok_valueiter = tok_paramiter;
    104104      tokenizer::iterator tok_checkiter = ++tok_valueiter;
    105       ASSERT(tok_paramiter != paramtokens.end(),
    106           "operator<< on RandomNumberEngine_Parameters - missing value before '=' in token"
    107           +*tok_iter+"!");
    108       ASSERT(tok_valueiter != paramtokens.end(),
    109           "operator<< on RandomNumberEngine_Parameters - missing value after '=' in token"
    110           +*tok_iter+"!");
     105      ASSERT(tok_valueiter == params.end(),
     106          "operator<< on RandomNumberEngine_Parameters - missing value before ';'!");
    111107      ++tok_checkiter;
    112       ASSERT(tok_checkiter == paramtokens.end(),
    113           "operator<< on RandomNumberEngine_Parameters - still tokens before ';' in token"
    114           +*tok_iter+": "+*tok_checkiter+"!");
     108      ASSERT(tok_checkiter == params.end(),
     109          "operator<< on RandomNumberEngine_Parameters - still tokens before ';'!");
    115110      DoLog(0) && (Log() << Verbose(0) << "INFO: Token pair is " << *tok_paramiter << "," << *tok_valueiter << std::endl);
    116111      std::stringstream value(*tok_valueiter);
  • src/RandomNumbers/RandomNumberGeneratorFactory.hpp

    rb6b3b2 r311da7b  
    2323#include <map>
    2424
     25#include "unittests/RandomNumberGeneratorFactoryUnitTest.hpp"
     26
    2527class RandomNumberGenerator;
    26 class RandomNumberGeneratorFactoryTest;
    2728
    2829/** This is the abstract factory class for random number generators.
  • src/RandomNumbers/unittests/RandomNumberEngineFactoryUnitTest.cpp

    rb6b3b2 r311da7b  
    130130
    131131  // change the prototype directly
    132   CPPUNIT_ASSERT ( 2 != prototype.getseed() );
    133   prototype.seed(2);  // note for this prototype seed of 0 is not allowd by boost::random
     132  CPPUNIT_ASSERT ( 0 != prototype.getseed() );
     133  prototype.seed(0);
    134134
    135135  // check that prototype has indeed been manipulated
    136136  rndA_2 = RandomNumberEngineFactory::getInstance().
    137137      getProduct(RandomNumberEngineFactory::minstd_rand0);
    138   CPPUNIT_ASSERT_EQUAL( (unsigned int)2, rndA_2->getseed() );
     138  CPPUNIT_ASSERT_EQUAL( (unsigned int)0, rndA_2->getseed() );
    139139  CPPUNIT_ASSERT( rndA_2->getseed() != rndA_1->getseed());
    140140
  • src/config.cpp

    rb6b3b2 r311da7b  
    6060  FastParsing(false),
    6161  Deltat(0.01),
     62  basis(""),
    6263  databasepath(NULL),
    6364  DoConstrainedMD(0),
     
    116117  strcpy(pseudopotpath,"not specified");
    117118  configname[0]='\0';
     119  basis = "3-21G";
    118120};
    119121
     
    784786    *output << ")" << endl;
    785787    *output << "basis<GaussianBasisSet>: (" << endl;
    786     *output << "\tname = \"3-21G\"" << endl;
     788    *output << "\tname = \"" << basis << "\"" << endl;
    787789    *output << "\tmolecule = $:molecule" << endl;
    788790    *output << ")" << endl;
  • src/config.hpp

    rb6b3b2 r311da7b  
    5050    bool FastParsing;
    5151    double Deltat;
     52    string basis;
    5253
    5354    char *databasepath;
  • tests/regression/Molecules/Copy/testsuite-molecules-copy-molecule.at

    rb6b3b2 r311da7b  
    1212AT_CHECK([../../molecuilder -i test-copy.xyz  --copy-molecule 0 --position "0,0,10" --undo --redo], 0, [stdout], [stderr])
    1313AT_CHECK([diff -I '.*Created by molecuilder.*' test-copy.xyz ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/Copy/post/test-copy.xyz], 0, [ignore], [ignore])
    14 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/Copy/pre/tensid.* .], 0)
    15 AT_CHECK([../../molecuilder --parse-tremolo-potentials tensid.potentials -i tensid.data  --copy-molecule 0 --position "0,0,10"], 0, [stdout], [stderr])
    16 AT_CHECK([diff -I '.*Created by molecuilder.*' tensid.data ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/Copy/post/tensid.data], 0, [ignore], [ignore])
    1714AT_CLEANUP
Note: See TracChangeset for help on using the changeset viewer.