Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
base::internal::ClampedAddFastAsmOp< T, U > Struct Template Reference

#include <safe_math_arm_impl.h>

Public Member Functions

template<typename V >
 __attribute__ ((always_inline)) static V Do(T x
 
 asm ("qadd %[result], %[first], %[second]" :[result] "=r"(result) :[first] "r"(x_i32), [second] "r"(y_i32))
 
return saturated_cast (result)
 

Static Public Member Functions

template<typename V >
static constexpr V Do (T, U)
 

Public Attributes

y
 
int32_t result
 
int32_t x_i32 = checked_cast<int32_t>(x)
 
int32_t y_i32 = checked_cast<int32_t>(y)
 

Static Public Attributes

static const bool is_supported
 

Detailed Description

template<typename T, typename U>
struct base::internal::ClampedAddFastAsmOp< T, U >

Definition at line 45 of file safe_math_arm_impl.h.

Member Function Documentation

◆ __attribute__()

template<typename T , typename U >
template<typename V >
base::internal::ClampedAddFastAsmOp< T, U >::__attribute__ ( (always_inline)  )

◆ asm()

template<typename T , typename U >
base::internal::ClampedAddFastAsmOp< T, U >::asm ( "qadd %  [result],
[first] 
)

◆ Do()

template<typename T , typename U >
template<typename V >
static constexpr V base::internal::ClampedAddFastAsmOp< T, U >::Do ( T  ,
 
)
inlinestaticconstexpr

Definition at line 41 of file safe_math_clang_gcc_impl.h.

41 {
42 // Force a compile failure if instantiated.
43 return CheckOnFailure::template HandleFailure<V>();
44 }

◆ saturated_cast()

template<typename T , typename U >
return base::internal::ClampedAddFastAsmOp< T, U >::saturated_cast ( result  )

Member Data Documentation

◆ is_supported

template<typename T , typename U >
static const bool base::internal::ClampedAddFastAsmOp< T, U >::is_supported
static
Initial value:
=
BigEnoughPromotion<T, U>::is_contained &&
IsTypeInRangeForNumericType<
int32_t,
typename BigEnoughPromotion<T, U>::type>::value

Definition at line 46 of file safe_math_arm_impl.h.

◆ result

template<typename T , typename U >
int32_t base::internal::ClampedAddFastAsmOp< T, U >::result

Definition at line 59 of file safe_math_arm_impl.h.

◆ x_i32

template<typename T , typename U >
int32_t base::internal::ClampedAddFastAsmOp< T, U >::x_i32 = checked_cast<int32_t>(x)

Definition at line 60 of file safe_math_arm_impl.h.

◆ y

template<typename T , typename U >
U base::internal::ClampedAddFastAsmOp< T, U >::y
Initial value:

Definition at line 53 of file safe_math_arm_impl.h.

◆ y_i32

template<typename T , typename U >
int32_t base::internal::ClampedAddFastAsmOp< T, U >::y_i32 = checked_cast<int32_t>(y)

Definition at line 61 of file safe_math_arm_impl.h.


The documentation for this struct was generated from the following files: