2017-10-04 16:12:46 -07:00
|
|
|
/* Copyright 2013 Google Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
Distributed under MIT license.
|
|
|
|
|
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* Helper for rounding */
|
2013-11-19 14:32:56 -08:00
|
|
|
|
2014-03-20 14:35:41 +01:00
|
|
|
#ifndef WOFF2_ROUND_H_
|
|
|
|
|
#define WOFF2_ROUND_H_
|
2013-11-19 14:32:56 -08:00
|
|
|
|
2015-02-12 09:30:22 -08:00
|
|
|
#include <limits>
|
2014-08-22 08:05:56 -07:00
|
|
|
|
2013-11-19 14:32:56 -08:00
|
|
|
namespace woff2 {
|
|
|
|
|
|
|
|
|
|
// Round a value up to the nearest multiple of 4. Don't round the value in the
|
|
|
|
|
// case that rounding up overflows.
|
|
|
|
|
template<typename T> T Round4(T value) {
|
|
|
|
|
if (std::numeric_limits<T>::max() - value < 3) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
return (value + 3) & ~3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace woff2
|
|
|
|
|
|
2014-03-20 14:35:41 +01:00
|
|
|
#endif // WOFF2_ROUND_H_
|