1/* 2 * Copyright (c) 2019 Inria 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 221 unchanged lines hidden (view full) --- 230 231 /** 232 * Whether the counter has achieved its maximum value or not. 233 * 234 * @return True if the counter saturated. 235 */ 236 bool isSaturated() const { return counter == maxVal; } 237 |
238 /** 239 * Saturate the counter. 240 * 241 * @return The value added to the counter to reach saturation. 242 */ 243 uint8_t saturate() 244 { 245 const uint8_t diff = maxVal - counter; 246 counter = maxVal; 247 return diff; 248 } 249 |
250 private: 251 uint8_t initialVal; 252 uint8_t maxVal; 253 uint8_t counter; 254}; 255 256#endif // __BASE_SAT_COUNTER_HH__ |