diff options
Diffstat (limited to 'modules/woff2/src/round.h')
-rw-r--r-- | modules/woff2/src/round.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/woff2/src/round.h b/modules/woff2/src/round.h new file mode 100644 index 000000000..abb81f823 --- /dev/null +++ b/modules/woff2/src/round.h @@ -0,0 +1,35 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// 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_ |