Changes in / [790807:271e17]


Ignore:
Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/analysis_correlation.cpp

    r790807 r271e17  
    350350};
    351351
    352 /** Returns the start of the bin for a given value.
     352/** Returns the index of the bin for a given value.
    353353 * \param value value whose bin to look for
    354354 * \param BinWidth width of bin
    355355 * \param BinStart first bin
    356356 */
    357 double GetBin ( const double value, const double BinWidth, const double BinStart )
    358 {
    359   Info FunctionInfo(__func__);
    360   double bin =(double) (floor((value - BinStart)/BinWidth));
    361   return (bin*BinWidth+BinStart);
     357int GetBin ( const double value, const double BinWidth, const double BinStart )
     358{
     359  Info FunctionInfo(__func__);
     360  int bin =(int) (floor((value - BinStart)/BinWidth));
     361  return (bin);
    362362};
    363363
  • src/analysis_correlation.hpp

    r790807 r271e17  
    5151CorrelationToPointMap *PeriodicCorrelationToPoint(MoleculeListClass * const &molecules, const element * const type, const Vector *point, const int ranges[NDIM] );
    5252CorrelationToSurfaceMap *PeriodicCorrelationToSurface(MoleculeListClass * const &molecules, const element * const type, const Tesselation * const Surface, const LinkedCell *LC, const int ranges[NDIM] );
    53 double GetBin ( const double value, const double BinWidth, const double BinStart );
     53int GetBin ( const double value, const double BinWidth, const double BinStart );
    5454void OutputCorrelation( ofstream * const file, const BinPairMap * const map );
    5555void OutputPairCorrelation( ofstream * const file, const PairCorrelationMap * const map );
     
    103103{
    104104  BinPairMap *outmap = new BinPairMap;
    105   double bin = 0.;
     105  int bin = 0;
    106106  double start = 0.;
    107107  double end = 0.;
     
    122122    start = BinStart;
    123123    end = BinEnd;
    124     for (double runner = start; runner <= end; runner += BinWidth)
    125       outmap->insert( pair<double, int> (runner, 0) );
     124    for (int runner = 0; runner <= ceil((end-start)/BinWidth); runner++)
     125      outmap->insert( pair<double, int> ((double)runner*BinWidth+start, 0) );
    126126  }
    127127
    128128  for (typename T::iterator runner = map->begin(); runner != map->end(); ++runner) {
    129129    bin = GetBin (runner->first, BinWidth, start);
    130     BinPairMapInserter = outmap->insert ( pair<double, int> (bin, 1) );
     130    BinPairMapInserter = outmap->insert ( pair<double, int> ((double)bin*BinWidth+start, 1) );
    131131    if (!BinPairMapInserter.second) {  // bin already present, increase
    132132      BinPairMapInserter.first->second += 1;
Note: See TracChangeset for help on using the changeset viewer.