Skip to content

Commit

Permalink
Merge 9d9e0a0 into 68c2644
Browse files Browse the repository at this point in the history
  • Loading branch information
Federico J. Fernandez committed Jul 18, 2019
2 parents 68c2644 + 9d9e0a0 commit 46c2ae8
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions src/accessibility.cpp
Expand Up @@ -349,6 +349,18 @@ Accessibility::aggregateAccessibilityVariable(
double sum = 0.0;
double sumsq = 0.0;

std::function<double(const double &, const float &, const float &)> sum_function;

if(decay == "exp")
sum_function = [](const double &distance, const float &radius, const float &var)
{ return exp(-1*distance/radius) * var; };
if(decay == "linear")
sum_function = [](const double &distance, const float &radius, const float &var)
{ return (1.0-distance/radius) * var; };
if(decay == "flat")
sum_function = [](const double &distance, const float &radius, const float &var)
{ return var; };

for (int i = 0 ; i < distances.size() ; i++) {
int nodeid = distances[i].first;
double distance = distances[i].second;
Expand All @@ -358,19 +370,7 @@ Accessibility::aggregateAccessibilityVariable(

for (int j = 0 ; j < vars[nodeid].size() ; j++) {
cnt++; // count items

if (decay == "exp") {
sum += exp(-1*distance/radius) * vars[nodeid][j];

} else if (decay == "linear") {
sum += (1.0-distance/radius) * vars[nodeid][j];

} else if (decay == "flat") {
sum += vars[nodeid][j];

} else {
assert(0);
}
sum += sum_function(distance, radius, vars[nodeid][j]);

// stddev is always flat
sumsq += vars[nodeid][j] * vars[nodeid][j];
Expand Down

0 comments on commit 46c2ae8

Please sign in to comment.