ForceAnnealing_goodresults
        ForceAnnealing_tocheck
      
      
        
          | Last change
 on this file since d7bd62 was             47cee7, checked in by Frederik Heber <heber@…>, 12 years ago | 
        
          | 
Writing out energy file with value and contribution per index set
 placed in printReceivedShortResultsPerIndex().
added writeIndexedTable which writes per indexset not per level.
HeaderPrinter is not initialized with some string anymore.
ValuePrinter does not write the level anymore.
these are now done in write(Indexed)Table.
TESTFIX: Added BondFragment_IndexedEnergy.dat diff to regression tests.
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.3 KB | 
      
      
| Line |  | 
|---|
| 1 | /* | 
|---|
| 2 | * ValuePrinter.hpp | 
|---|
| 3 | * | 
|---|
| 4 | *  Created on: Aug 3, 2012 | 
|---|
| 5 | *      Author: heber | 
|---|
| 6 | */ | 
|---|
| 7 |  | 
|---|
| 8 | #ifndef VALUEPRINTER_HPP_ | 
|---|
| 9 | #define VALUEPRINTER_HPP_ | 
|---|
| 10 |  | 
|---|
| 11 |  | 
|---|
| 12 | // include config.h | 
|---|
| 13 | #ifdef HAVE_CONFIG_H | 
|---|
| 14 | #include <config.h> | 
|---|
| 15 | #endif | 
|---|
| 16 |  | 
|---|
| 17 | #include <boost/fusion/container/map.hpp> | 
|---|
| 18 | #include <iomanip> | 
|---|
| 19 | #include <sstream> | 
|---|
| 20 | #include <string> | 
|---|
| 21 |  | 
|---|
| 22 | #include "CodePatterns/toString.hpp" | 
|---|
| 23 |  | 
|---|
| 24 | /** ValuePrinter prints the value for one row in a table of values each associated to a | 
|---|
| 25 | * specific boost::fusion-style key \a MapKey. | 
|---|
| 26 | * | 
|---|
| 27 | * This is made such that we may use boost::mpl::for_each to quickly create | 
|---|
| 28 | * the value line if specialized printName()s and a boost::fusion::vector | 
|---|
| 29 | * containing all these keys is present | 
|---|
| 30 | */ | 
|---|
| 31 | template <typename MapType, int numprecision=5> | 
|---|
| 32 | struct ValuePrinter { | 
|---|
| 33 | ValuePrinter(const MapType &_instance) : | 
|---|
| 34 | instance(_instance), | 
|---|
| 35 | value("") | 
|---|
| 36 | {} | 
|---|
| 37 |  | 
|---|
| 38 | template <typename MapKey> | 
|---|
| 39 | void operator()(MapKey &) { | 
|---|
| 40 | //typedef typename boost::fusion::result_of::value_at_key<MapType, MapKey>::type MapValue; | 
|---|
| 41 | std::stringstream valuestream; | 
|---|
| 42 | valuestream << std::setprecision(numprecision) << boost::fusion::at_key<MapKey>(instance); | 
|---|
| 43 | value += std::string("\t") + valuestream.str(); | 
|---|
| 44 | } | 
|---|
| 45 |  | 
|---|
| 46 | const std::string &get() const { | 
|---|
| 47 | return value; | 
|---|
| 48 | } | 
|---|
| 49 |  | 
|---|
| 50 | private: | 
|---|
| 51 | const MapType &instance; | 
|---|
| 52 | std::string value; | 
|---|
| 53 | }; | 
|---|
| 54 |  | 
|---|
| 55 |  | 
|---|
| 56 | #endif /* VALUEPRINTER_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.