summaryrefslogtreecommitdiffstats
path: root/modules/woff2/src/round.h
blob: e5b2cb12200eb327d138d6acdb5cc60837a8f1f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* 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 */

#ifndef WOFF2_ROUND_H_
#define WOFF2_ROUND_H_

#include <limits>

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

#endif  // WOFF2_ROUND_H_