18    using MapType = std::map<KEY, VALUE, std::less<KEY>, Eigen::aligned_allocator<std::pair<const KEY, VALUE>>>;
 
   40        typename MapType::const_iterator upper = map_.upper_bound(key);
 
   43        if (upper == map_.end()) {
 
   44            return (--upper)->second;
 
   48        if (upper == map_.begin()) {
 
   53        typename MapType::const_iterator lower = upper;
 
   57        const double delta = (key - lower->first) / (upper->first - lower->first);
 
   58        return delta * upper->second + (1.0 - delta) * lower->second;