OpenCV  3.0.0
Open Source Computer Vision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Macros | Typedefs | Functions
intrin_cpp.hpp File Reference

Classes

struct  cv::v_reg< _Tp, n >
 

Namespaces

 cv
 

Macros

#define OPENCV_HAL_IMPL_ADD_SUB_OP(func, bin_op, cast_op, _Tp2)
 
#define OPENCV_HAL_IMPL_BIN_OP(bin_op)
 
#define OPENCV_HAL_IMPL_BIT_OP(bit_op)
 
#define OPENCV_HAL_IMPL_C_INIT(_Tpvec, _Tp, suffix)
 
#define OPENCV_HAL_IMPL_C_PACK(_Tpvec, _Tp, _Tpnvec, _Tpn, pack_suffix)
 
#define OPENCV_HAL_IMPL_C_SHIFT(_Tpvec, _Tp)
 
#define OPENCV_HAL_IMPL_CMP_OP(cmp_op)
 
#define OPENCV_HAL_IMPL_MATH_FUNC(func, cfunc, _Tp2)
 
#define OPENCV_HAL_IMPL_MINMAX_FUNC(func, hfunc, cfunc)
 
#define OPENCV_HAL_IMPL_SHIFT_OP(shift_op)
 

Typedefs

typedef v_reg< float, 4 > cv::v_float32x4
 
typedef v_reg< float, 8 > cv::v_float32x8
 
typedef v_reg< double, 2 > cv::v_float64x2
 
typedef v_reg< short, 8 > cv::v_int16x8
 
typedef v_reg< int, 4 > cv::v_int32x4
 
typedef v_reg< int64, 2 > cv::v_int64x2
 
typedef v_reg< schar, 16 > cv::v_int8x16
 
typedef v_reg< ushort, 8 > cv::v_uint16x8
 
typedef v_reg< unsigned, 4 > cv::v_uint32x4
 
typedef v_reg< uint64, 2 > cv::v_uint64x2
 
typedef v_reg< uchar, 16 > cv::v_uint8x16
 

Functions

template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator!= (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator& (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator&= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator* (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator*= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator+ (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator+= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator- (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator-= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator/ (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator/= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator< (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator<< (const v_reg< _Tp, n > &a, int imm)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator<= (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator== (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator> (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator>= (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator>> (const v_reg< _Tp, n > &a, int imm)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator^ (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator^= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator| (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > & cv::operator|= (v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::operator~ (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::abs_type, n > 
cv::v_abs (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::abs_type, n > 
cv::v_absdiff (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_add_wrap (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< int, n > cv::v_ceil (const v_reg< _Tp, n > &a)
 
template<int n>
v_reg< int, n > cv::v_ceil (const v_reg< float, n > &a)
 
template<int n>
v_reg< int, n *2 > cv::v_ceil (const v_reg< double, n > &a)
 
template<typename _Tp , int n>
bool cv::v_check_all (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
bool cv::v_check_any (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_combine_high (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_combine_low (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_cos (const v_reg< _Tp, n > &a)
 
template<int n>
v_reg< float, n > cv::v_cvt_f32 (const v_reg< int, n > &a)
 
template<int n>
v_reg< double, n > cv::v_cvt_f64 (const v_reg< int, n *2 > &a)
 
template<int n>
v_reg< double, n > cv::v_cvt_f64 (const v_reg< float, n *2 > &a)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::w_type, n/2 > 
cv::v_dotprod (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_exp (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
void cv::v_expand (const v_reg< _Tp, n > &a, v_reg< typename V_TypeTraits< _Tp >::w_type, n/2 > &b0, v_reg< typename V_TypeTraits< _Tp >::w_type, n/2 > &b1)
 
template<typename _Tp , int n>
v_reg< int, n > cv::v_floor (const v_reg< _Tp, n > &a)
 
template<int n>
v_reg< int, n > cv::v_floor (const v_reg< float, n > &a)
 
template<int n>
v_reg< int, n *2 > cv::v_floor (const v_reg< double, n > &a)
 
template<typename _Tp , int n>
void cv::v_hsum (const v_reg< _Tp, n > &a, v_reg< typename V_TypeTraits< _Tp >::w_type, n/2 > &c)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_invsqrt (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_load (const _Tp *ptr)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_load_aligned (const _Tp *ptr)
 
template<typename _Tp , int n>
void cv::v_load_deinterleave (const _Tp *ptr, v_reg< _Tp, n > &a, v_reg< _Tp, n > &b, v_reg< _Tp, n > &c)
 
template<typename _Tp , int n>
void cv::v_load_deinterleave (const _Tp *ptr, v_reg< _Tp, n > &a, v_reg< _Tp, n > &b, v_reg< _Tp, n > &c, v_reg< _Tp, n > &d)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::w_type, n > 
cv::v_load_expand (const _Tp *ptr)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< typename V_TypeTraits< _Tp >
::w_type >::w_type, n > 
cv::v_load_expand_q (const _Tp *ptr)
 
template<typename _Tp , int n>
void cv::v_load_halves (const _Tp *loptr, const _Tp *hiptr)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_log (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_magnitude (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
v_float32x4 cv::v_matmul (const v_float32x4 &v, const v_float32x4 &m0, const v_float32x4 &m1, const v_float32x4 &m2, const v_float32x4 &m3)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_max (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_min (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
void cv::v_minmax (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, v_reg< _Tp, n > &minval, v_reg< _Tp, n > &maxval)
 
template<typename _Tp , int n>
void cv::v_mul_expand (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, v_reg< typename V_TypeTraits< _Tp >::w_type, n/2 > &c, v_reg< typename V_TypeTraits< _Tp >::w_type, n/2 > &d)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_muladd (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, const v_reg< _Tp, n > &c)
 
v_uint8x16 cv::v_pack (const v_uint16x8 &a, const v_uint16x8 &b)
 
v_int8x16 cv::v_pack (const v_int16x8 &a, const v_int16x8 &b)
 
v_uint16x8 cv::v_pack (const v_uint32x4 &a, const v_uint32x4 &b)
 
v_int16x8 cv::v_pack (const v_int32x4 &a, const v_int32x4 &b)
 
v_uint32x4 cv::v_pack (const v_uint64x2 &a, const v_uint64x2 &b)
 
v_int32x4 cv::v_pack (const v_int64x2 &a, const v_int64x2 &b)
 
void cv::v_pack_store (uchar *ptr, const v_uint16x8 &a)
 
void cv::v_pack_store (schar *ptr, const v_int16x8 &a)
 
void cv::v_pack_store (ushort *ptr, const v_uint32x4 &a)
 
void cv::v_pack_store (short *ptr, const v_int32x4 &a)
 
void cv::v_pack_store (unsigned *ptr, const v_uint64x2 &a)
 
void cv::v_pack_store (int *ptr, const v_int64x2 &a)
 
v_uint8x16 cv::v_pack_u (const v_int16x8 &a, const v_int16x8 &b)
 
v_uint16x8 cv::v_pack_u (const v_int32x4 &a, const v_int32x4 &b)
 
void cv::v_pack_u_store (uchar *ptr, const v_int16x8 &a)
 
void cv::v_pack_u_store (ushort *ptr, const v_int32x4 &a)
 
template<typename _Tp , int n>
void cv::v_recombine (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, v_reg< _Tp, n > &low, v_reg< _Tp, n > &high)
 
template<typename _Tp , int n>
_Tp cv::v_reduce_max (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
_Tp cv::v_reduce_min (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
V_TypeTraits< _Tp >::sum_type cv::v_reduce_sum (const v_reg< _Tp, n > &a)
 
template<typename _Tp0 , int n0>
v_float32x4 cv::v_reinterpret_as_f32 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_float64x2 cv::v_reinterpret_as_f64 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::int_type, n > 
cv::v_reinterpret_as_int (const v_reg< _Tp, n > &a)
 
template<typename _Tp0 , int n0>
v_int16x8 cv::v_reinterpret_as_s16 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_int32x4 cv::v_reinterpret_as_s32 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_uint64x2 cv::v_reinterpret_as_s64 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_int8x16 cv::v_reinterpret_as_s8 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_uint16x8 cv::v_reinterpret_as_u16 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_uint32x4 cv::v_reinterpret_as_u32 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_uint64x2 cv::v_reinterpret_as_u64 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp0 , int n0>
v_uint8x16 cv::v_reinterpret_as_u8 (const v_reg< _Tp0, n0 > &a)
 
template<typename _Tp , int n>
v_reg< typename V_TypeTraits
< _Tp >::uint_type, n > 
cv::v_reinterpret_as_uint (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< int, n > cv::v_round (const v_reg< _Tp, n > &a)
 
template<int n>
v_reg< int, n > cv::v_round (const v_reg< float, n > &a)
 
template<int n>
v_reg< int, n *2 > cv::v_round (const v_reg< double, n > &a)
 
template<int n>
v_uint16x8 cv::v_rshr (const v_uint16x8 &a)
 
template<int n>
v_int16x8 cv::v_rshr (const v_int16x8 &a)
 
template<int n>
v_uint32x4 cv::v_rshr (const v_uint32x4 &a)
 
template<int n>
v_int32x4 cv::v_rshr (const v_int32x4 &a)
 
template<int n>
v_uint64x2 cv::v_rshr (const v_uint64x2 &a)
 
template<int n>
v_int64x2 cv::v_rshr (const v_int64x2 &a)
 
template<int n>
v_uint8x16 cv::v_rshr_pack (const v_uint16x8 &a, const v_uint16x8 &b)
 
template<int n>
v_int8x16 cv::v_rshr_pack (const v_int16x8 &a, const v_int16x8 &b)
 
template<int n>
v_uint16x8 cv::v_rshr_pack (const v_uint32x4 &a, const v_uint32x4 &b)
 
template<int n>
v_int16x8 cv::v_rshr_pack (const v_int32x4 &a, const v_int32x4 &b)
 
template<int n>
v_uint32x4 cv::v_rshr_pack (const v_uint64x2 &a, const v_uint64x2 &b)
 
template<int n>
v_int32x4 cv::v_rshr_pack (const v_int64x2 &a, const v_int64x2 &b)
 
template<int n>
void cv::v_rshr_pack_store (uchar *ptr, const v_uint16x8 &a)
 
template<int n>
void cv::v_rshr_pack_store (schar *ptr, const v_int16x8 &a)
 
template<int n>
void cv::v_rshr_pack_store (ushort *ptr, const v_uint32x4 &a)
 
template<int n>
void cv::v_rshr_pack_store (short *ptr, const v_int32x4 &a)
 
template<int n>
void cv::v_rshr_pack_store (unsigned *ptr, const v_uint64x2 &a)
 
template<int n>
void cv::v_rshr_pack_store (int *ptr, const v_int64x2 &a)
 
template<int n>
v_uint8x16 cv::v_rshr_pack_u (const v_int16x8 &a, const v_int16x8 &b)
 
template<int n>
v_uint16x8 cv::v_rshr_pack_u (const v_int32x4 &a, const v_int32x4 &b)
 
template<int n>
void cv::v_rshr_pack_u_store (uchar *ptr, const v_int16x8 &a)
 
template<int n>
void cv::v_rshr_pack_u_store (ushort *ptr, const v_int32x4 &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_select (const v_reg< _Tp, n > &mask, const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
v_float32x4 cv::v_setall_f32 (float val)
 
v_float64x2 cv::v_setall_f64 (double val)
 
v_int16x8 cv::v_setall_s16 (short val)
 
v_int32x4 cv::v_setall_s32 (int val)
 
v_uint64x2 cv::v_setall_s64 (int64 val)
 
v_int8x16 cv::v_setall_s8 (schar val)
 
v_uint16x8 cv::v_setall_u16 (ushort val)
 
v_uint32x4 cv::v_setall_u32 (unsigned val)
 
v_uint64x2 cv::v_setall_u64 (uint64 val)
 
v_uint8x16 cv::v_setall_u8 (uchar val)
 
v_float32x4 cv::v_setzero_f32 ()
 
v_float64x2 cv::v_setzero_f64 ()
 
v_int16x8 cv::v_setzero_s16 ()
 
v_int32x4 cv::v_setzero_s32 ()
 
v_uint64x2 cv::v_setzero_s64 ()
 
v_int8x16 cv::v_setzero_s8 ()
 
v_uint16x8 cv::v_setzero_u16 ()
 
v_uint32x4 cv::v_setzero_u32 ()
 
v_uint64x2 cv::v_setzero_u64 ()
 
v_uint8x16 cv::v_setzero_u8 ()
 
template<int n>
v_uint16x8 cv::v_shl (const v_uint16x8 &a)
 
template<int n>
v_int16x8 cv::v_shl (const v_int16x8 &a)
 
template<int n>
v_uint32x4 cv::v_shl (const v_uint32x4 &a)
 
template<int n>
v_int32x4 cv::v_shl (const v_int32x4 &a)
 
template<int n>
v_uint64x2 cv::v_shl (const v_uint64x2 &a)
 
template<int n>
v_int64x2 cv::v_shl (const v_int64x2 &a)
 
template<int n>
v_uint16x8 cv::v_shr (const v_uint16x8 &a)
 
template<int n>
v_int16x8 cv::v_shr (const v_int16x8 &a)
 
template<int n>
v_uint32x4 cv::v_shr (const v_uint32x4 &a)
 
template<int n>
v_int32x4 cv::v_shr (const v_int32x4 &a)
 
template<int n>
v_uint64x2 cv::v_shr (const v_uint64x2 &a)
 
template<int n>
v_int64x2 cv::v_shr (const v_int64x2 &a)
 
template<typename _Tp , int n>
int cv::v_signmask (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_sin (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_sqr_magnitude (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_sqrt (const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
void cv::v_store (_Tp *ptr, const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
void cv::v_store_aligned (_Tp *ptr, const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
void cv::v_store_high (_Tp *ptr, const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
void cv::v_store_interleave (_Tp *ptr, const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, const v_reg< _Tp, n > &c)
 
template<typename _Tp , int n>
void cv::v_store_interleave (_Tp *ptr, const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b, const v_reg< _Tp, n > &c, const v_reg< _Tp, n > &d)
 
template<typename _Tp , int n>
void cv::v_store_low (_Tp *ptr, const v_reg< _Tp, n > &a)
 
template<typename _Tp , int n>
v_reg< _Tp, n > cv::v_sub_wrap (const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
 
template<typename _Tp >
void cv::v_transpose4x4 (v_reg< _Tp, 4 > &a0, const v_reg< _Tp, 4 > &a1, const v_reg< _Tp, 4 > &a2, const v_reg< _Tp, 4 > &a3, v_reg< _Tp, 4 > &b0, v_reg< _Tp, 4 > &b1, v_reg< _Tp, 4 > &b2, v_reg< _Tp, 4 > &b3)
 
template<typename _Tp , int n>
v_reg< int, n > cv::v_trunc (const v_reg< _Tp, n > &a)
 
template<int n>
v_reg< int, n > cv::v_trunc (const v_reg< float, n > &a)
 
template<int n>
v_reg< int, n *2 > cv::v_trunc (const v_reg< double, n > &a)
 
template<typename _Tp , int n>
void cv::v_zip (const v_reg< _Tp, n > &a0, const v_reg< _Tp, n > &a1, v_reg< _Tp, n > &b0, v_reg< _Tp, n > &b1)
 

Macro Definition Documentation

#define OPENCV_HAL_IMPL_ADD_SUB_OP (   func,
  bin_op,
  cast_op,
  _Tp2 
)
Value:
template<typename _Tp, int n> \
inline v_reg<_Tp2, n> func(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
typedef _Tp2 rtype; \
v_reg<rtype, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = cast_op(a.s[i] bin_op b.s[i]); \
return c; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_BIN_OP (   bin_op)
Value:
template<typename _Tp, int n> inline v_reg<_Tp, n> \
operator bin_op (const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
v_reg<_Tp, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = saturate_cast<_Tp>(a.s[i] bin_op b.s[i]); \
return c; \
} \
template<typename _Tp, int n> inline v_reg<_Tp, n>& \
operator bin_op##= (v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
for( int i = 0; i < n; i++ ) \
a.s[i] = saturate_cast<_Tp>(a.s[i] bin_op b.s[i]); \
return a; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_BIT_OP (   bit_op)
Value:
template<typename _Tp, int n> inline v_reg<_Tp, n> operator bit_op \
(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
v_reg<_Tp, n> c; \
typedef typename V_TypeTraits<_Tp>::int_type itype; \
for( int i = 0; i < n; i++ ) \
c.s[i] = V_TypeTraits<_Tp>::reinterpret_from_int((itype)(V_TypeTraits<_Tp>::reinterpret_int(a.s[i]) bit_op \
V_TypeTraits<_Tp>::reinterpret_int(b.s[i]))); \
return c; \
} \
template<typename _Tp, int n> inline v_reg<_Tp, n>& operator \
bit_op##= (v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
typedef typename V_TypeTraits<_Tp>::int_type itype; \
for( int i = 0; i < n; i++ ) \
a.s[i] = V_TypeTraits<_Tp>::reinterpret_from_int((itype)(V_TypeTraits<_Tp>::reinterpret_int(a.s[i]) bit_op \
V_TypeTraits<_Tp>::reinterpret_int(b.s[i]))); \
return a; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_C_INIT (   _Tpvec,
  _Tp,
  suffix 
)
Value:
inline _Tpvec v_setzero_##suffix() { return _Tpvec::zero(); } \
inline _Tpvec v_setall_##suffix(_Tp val) { return _Tpvec::all(val); } \
template<typename _Tp0, int n0> inline _Tpvec \
v_reinterpret_as_##suffix(const v_reg<_Tp0, n0>& a) \
{ return a.template reinterpret_as<_Tp, _Tpvec::nlanes>(a); }
#define OPENCV_HAL_IMPL_C_PACK (   _Tpvec,
  _Tp,
  _Tpnvec,
  _Tpn,
  pack_suffix 
)
Value:
inline _Tpnvec v_##pack_suffix(const _Tpvec& a, const _Tpvec& b) \
{ \
_Tpnvec c; \
for( int i = 0; i < _Tpvec::nlanes; i++ ) \
{ \
c.s[i] = saturate_cast<_Tpn>(a.s[i]); \
c.s[i+_Tpvec::nlanes] = saturate_cast<_Tpn>(b.s[i]); \
} \
return c; \
} \
template<int n> inline _Tpnvec v_rshr_##pack_suffix(const _Tpvec& a, const _Tpvec& b) \
{ \
_Tpnvec c; \
for( int i = 0; i < _Tpvec::nlanes; i++ ) \
{ \
c.s[i] = saturate_cast<_Tpn>((a.s[i] + ((_Tp)1 << (n - 1))) >> n); \
c.s[i+_Tpvec::nlanes] = saturate_cast<_Tpn>((b.s[i] + ((_Tp)1 << (n - 1))) >> n); \
} \
return c; \
} \
inline void v_##pack_suffix##_store(_Tpn* ptr, const _Tpvec& a) \
{ \
for( int i = 0; i < _Tpvec::nlanes; i++ ) \
ptr[i] = saturate_cast<_Tpn>(a.s[i]); \
} \
template<int n> inline void v_rshr_##pack_suffix##_store(_Tpn* ptr, const _Tpvec& a) \
{ \
for( int i = 0; i < _Tpvec::nlanes; i++ ) \
ptr[i] = saturate_cast<_Tpn>((a.s[i] + ((_Tp)1 << (n - 1))) >> n); \
}
for i
Definition: modelConvert.m:63
__device__ __forceinline__ T saturate_cast(uchar v)
Definition: saturate_cast.hpp:56
#define OPENCV_HAL_IMPL_C_SHIFT (   _Tpvec,
  _Tp 
)
Value:
template<int n> inline _Tpvec v_shl(const _Tpvec& a) \
{ return a << n; } \
template<int n> inline _Tpvec v_shr(const _Tpvec& a) \
{ return a >> n; } \
template<int n> inline _Tpvec v_rshr(const _Tpvec& a) \
{ \
_Tpvec c; \
for( int i = 0; i < _Tpvec::nlanes; i++ ) \
c.s[i] = (_Tp)((a.s[i] + ((_Tp)1 << (n - 1))) >> n); \
return c; \
}
v_int64x2 v_shl(const v_int64x2 &a)
Definition: intrin_cpp.hpp:755
v_int64x2 v_rshr(const v_int64x2 &a)
Definition: intrin_cpp.hpp:755
for i
Definition: modelConvert.m:63
v_int64x2 v_shr(const v_int64x2 &a)
Definition: intrin_cpp.hpp:755
#define OPENCV_HAL_IMPL_CMP_OP (   cmp_op)
Value:
template<typename _Tp, int n> \
inline v_reg<_Tp, n> operator cmp_op(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
typedef typename V_TypeTraits<_Tp>::int_type itype; \
v_reg<_Tp, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = V_TypeTraits<_Tp>::reinterpret_from_int((itype)-(int)(a.s[i] cmp_op b.s[i])); \
return c; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_MATH_FUNC (   func,
  cfunc,
  _Tp2 
)
Value:
template<typename _Tp, int n> inline v_reg<_Tp2, n> func(const v_reg<_Tp, n>& a) \
{ \
v_reg<_Tp2, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = cfunc(a.s[i]); \
return c; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_MINMAX_FUNC (   func,
  hfunc,
  cfunc 
)
Value:
template<typename _Tp, int n> inline v_reg<_Tp, n> func(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
v_reg<_Tp, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = cfunc(a.s[i], b.s[i]); \
return c; \
} \
template<typename _Tp, int n> inline _Tp hfunc(const v_reg<_Tp, n>& a) \
{ \
_Tp c = a.s[0]; \
for( int i = 1; i < n; i++ ) \
c = cfunc(c, a.s[i]); \
return c; \
}
for i
Definition: modelConvert.m:63
#define OPENCV_HAL_IMPL_SHIFT_OP (   shift_op)
Value:
template<typename _Tp, int n> inline v_reg<_Tp, n> operator shift_op(const v_reg<_Tp, n>& a, int imm) \
{ \
v_reg<_Tp, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = (_Tp)(a.s[i] shift_op imm); \
return c; \
}
for i
Definition: modelConvert.m:63