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;