#include <climits>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <limits>
#include <type_traits>
#include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h"
#include "base/numerics/safe_math_shared_impl.h"
Go to the source code of this file.
|
struct | base::internal::ClampedAddOp< T, U, Enable > |
|
struct | base::internal::ClampedAddOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedSubOp< T, U, Enable > |
|
struct | base::internal::ClampedSubOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedMulOp< T, U, Enable > |
|
struct | base::internal::ClampedMulOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedDivOp< T, U, Enable > |
|
struct | base::internal::ClampedDivOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedModOp< T, U, Enable > |
|
struct | base::internal::ClampedModOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedLshOp< T, U, Enable > |
|
struct | base::internal::ClampedLshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedRshOp< T, U, Enable > |
|
struct | base::internal::ClampedRshOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedAndOp< T, U, Enable > |
|
struct | base::internal::ClampedAndOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedOrOp< T, U, Enable > |
|
struct | base::internal::ClampedOrOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedXorOp< T, U, Enable > |
|
struct | base::internal::ClampedXorOp< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
|
struct | base::internal::ClampedMaxOp< T, U, Enable > |
|
struct | base::internal::ClampedMaxOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type > |
|
struct | base::internal::ClampedMinOp< T, U, Enable > |
|
struct | base::internal::ClampedMinOp< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type > |
|
◆ BASE_FLOAT_ARITHMETIC_OPS
#define BASE_FLOAT_ARITHMETIC_OPS |
( |
|
NAME, |
|
|
|
OP |
|
) |
| |
Value: template <typename T, typename U> \
template <typename V = result_type> \
static
constexpr V Do(
T x,
U y) { \
return saturated_cast<V>(
x OP y); \
} \
};
T __attribute__((ext_vector_type(N))) V
Definition at line 317 of file clamped_math_impl.h.