| Index: webrtc/base/mod_ops.h
|
| diff --git a/webrtc/base/mod_ops.h b/webrtc/base/mod_ops.h
|
| index 7ce100ec60532b7564829182e35e7e970d1799f6..d61bd055e786811be93013f712d2ce10ced6a2b9 100644
|
| --- a/webrtc/base/mod_ops.h
|
| +++ b/webrtc/base/mod_ops.h
|
| @@ -11,125 +11,9 @@
|
| #ifndef WEBRTC_BASE_MOD_OPS_H_
|
| #define WEBRTC_BASE_MOD_OPS_H_
|
|
|
| -#include <limits>
|
| -#include <type_traits>
|
|
|
| -#include "webrtc/base/checks.h"
|
| -
|
| -namespace webrtc {
|
| -
|
| -template <unsigned long M> // NOLINT
|
| -inline unsigned long Add(unsigned long a, unsigned long b) { // NOLINT
|
| - RTC_DCHECK_LT(a, M);
|
| - unsigned long t = M - b % M; // NOLINT
|
| - unsigned long res = a - t; // NOLINT
|
| - if (t > a)
|
| - return res + M;
|
| - return res;
|
| -}
|
| -
|
| -template <unsigned long M> // NOLINT
|
| -inline unsigned long Subtract(unsigned long a, unsigned long b) { // NOLINT
|
| - RTC_DCHECK_LT(a, M);
|
| - unsigned long sub = b % M; // NOLINT
|
| - if (a < sub)
|
| - return M - (sub - a);
|
| - return a - sub;
|
| -}
|
| -
|
| -// Calculates the forward difference between two wrapping numbers.
|
| -//
|
| -// Example:
|
| -// uint8_t x = 253;
|
| -// uint8_t y = 2;
|
| -//
|
| -// ForwardDiff(x, y) == 5
|
| -//
|
| -// 252 253 254 255 0 1 2 3
|
| -// #################################################
|
| -// | | x | | | | | y | |
|
| -// #################################################
|
| -// |----->----->----->----->----->
|
| -//
|
| -// ForwardDiff(y, x) == 251
|
| -//
|
| -// 252 253 254 255 0 1 2 3
|
| -// #################################################
|
| -// | | x | | | | | y | |
|
| -// #################################################
|
| -// -->-----> |----->---
|
| -//
|
| -template <typename T, T M>
|
| -inline T ForwardDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - RTC_DCHECK_LT(a, M);
|
| - RTC_DCHECK_LT(b, M);
|
| - return a <= b ? b - a : M - (a - b);
|
| -}
|
| -
|
| -template <typename T>
|
| -inline T ForwardDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - return b - a;
|
| -}
|
| -
|
| -// Calculates the reverse difference between two wrapping numbers.
|
| -//
|
| -// Example:
|
| -// uint8_t x = 253;
|
| -// uint8_t y = 2;
|
| -//
|
| -// ReverseDiff(y, x) == 5
|
| -//
|
| -// 252 253 254 255 0 1 2 3
|
| -// #################################################
|
| -// | | x | | | | | y | |
|
| -// #################################################
|
| -// <-----<-----<-----<-----<-----|
|
| -//
|
| -// ReverseDiff(x, y) == 251
|
| -//
|
| -// 252 253 254 255 0 1 2 3
|
| -// #################################################
|
| -// | | x | | | | | y | |
|
| -// #################################################
|
| -// ---<-----| |<-----<--
|
| -//
|
| -template <typename T, T M>
|
| -inline T ReverseDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - RTC_DCHECK_LT(a, M);
|
| - RTC_DCHECK_LT(b, M);
|
| - return b <= a ? a - b : M - (b - a);
|
| -}
|
| -
|
| -template <typename T>
|
| -inline T ReverseDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - return a - b;
|
| -}
|
| -
|
| -// Calculates the minimum distance between to wrapping numbers.
|
| -//
|
| -// The minimum distance is defined as min(ForwardDiff(a, b), ReverseDiff(a, b))
|
| -template <typename T, T M>
|
| -inline T MinDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - return std::min(ForwardDiff<T, M>(a, b), ReverseDiff<T, M>(a, b));
|
| -}
|
| -
|
| -template <typename T>
|
| -inline T MinDiff(T a, T b) {
|
| - static_assert(std::is_unsigned<T>::value,
|
| - "Type must be an unsigned integer.");
|
| - return std::min(ForwardDiff(a, b), ReverseDiff(a, b));
|
| -}
|
| -
|
| -} // namespace webrtc
|
| +// This header is deprecated and is just left here temporarily during
|
| +// refactoring. See https://bugs.webrtc.org/7634 for more details.
|
| +#include "webrtc/rtc_base/mod_ops.h"
|
|
|
| #endif // WEBRTC_BASE_MOD_OPS_H_
|
|
|