OpenCV  3.4.12-dev
Open Source Computer Vision
Classes | Namespaces | Macros | Enumerations
intrin.hpp File Reference
#include <cmath>
#include <float.h>
#include <stdlib.h>
#include "opencv2/core/cvdef.h"
#include "opencv2/core/hal/intrin_cpp.hpp"

Classes

struct  cv::V_TypeTraits< _Tp >
 
struct  cv::V_TypeTraits< double >
 
struct  cv::V_TypeTraits< float >
 
struct  cv::V_TypeTraits< int64 >
 
struct  cv::V_TypeTraits< schar >
 
struct  cv::V_TypeTraits< short >
 
struct  cv::V_TypeTraits< uchar >
 
struct  cv::V_TypeTraits< uint64 >
 
struct  cv::V_TypeTraits< unsigned >
 
struct  cv::V_TypeTraits< ushort >
 

Namespaces

 cv
 
 cv::hal
 

Macros

#define CV_INTRIN_DEF_TYPE_TRAITS(type, int_type_, uint_type_, abs_type_, w_type_, q_type_, sum_type_, nlanes128_)
 
#define CV_INTRIN_DEF_TYPE_TRAITS_NO_Q_TYPE(type, int_type_, uint_type_, abs_type_, w_type_, sum_type_, nlanes128_)
 
#define OPENCV_HAL_1ST(a, b)   (a)
 
#define OPENCV_HAL_ADD(a, b)   ((a) + (b))
 
#define OPENCV_HAL_AND(a, b)   ((a) & (b))
 
#define OPENCV_HAL_NOP(a)   (a)
 

Enumerations

enum  cv::hal::StoreMode {
  cv::hal::STORE_UNALIGNED = 0,
  cv::hal::STORE_ALIGNED = 1,
  cv::hal::STORE_ALIGNED_NOCACHE = 2
}
 

Macro Definition Documentation

◆ CV_INTRIN_DEF_TYPE_TRAITS

#define CV_INTRIN_DEF_TYPE_TRAITS (   type,
  int_type_,
  uint_type_,
  abs_type_,
  w_type_,
  q_type_,
  sum_type_,
  nlanes128_ 
)
Value:
template<> struct V_TypeTraits<type> \
{ \
typedef type value_type; \
typedef int_type_ int_type; \
typedef abs_type_ abs_type; \
typedef uint_type_ uint_type; \
typedef w_type_ w_type; \
typedef q_type_ q_type; \
typedef sum_type_ sum_type; \
enum { nlanes128 = nlanes128_ }; \
\
static inline int_type reinterpret_int(type x) \
{ \
union { type l; int_type i; } v; \
v.l = x; \
return v.i; \
} \
\
static inline type reinterpret_from_int(int_type x) \
{ \
union { type l; int_type i; } v; \
v.i = x; \
return v.l; \
} \
}

◆ CV_INTRIN_DEF_TYPE_TRAITS_NO_Q_TYPE

#define CV_INTRIN_DEF_TYPE_TRAITS_NO_Q_TYPE (   type,
  int_type_,
  uint_type_,
  abs_type_,
  w_type_,
  sum_type_,
  nlanes128_ 
)
Value:
template<> struct V_TypeTraits<type> \
{ \
typedef type value_type; \
typedef int_type_ int_type; \
typedef abs_type_ abs_type; \
typedef uint_type_ uint_type; \
typedef w_type_ w_type; \
typedef sum_type_ sum_type; \
enum { nlanes128 = nlanes128_ }; \
\
static inline int_type reinterpret_int(type x) \
{ \
union { type l; int_type i; } v; \
v.l = x; \
return v.i; \
} \
\
static inline type reinterpret_from_int(int_type x) \
{ \
union { type l; int_type i; } v; \
v.i = x; \
return v.l; \
} \
}

◆ OPENCV_HAL_1ST

#define OPENCV_HAL_1ST (   a,
 
)    (a)

◆ OPENCV_HAL_ADD

#define OPENCV_HAL_ADD (   a,
 
)    ((a) + (b))

◆ OPENCV_HAL_AND

#define OPENCV_HAL_AND (   a,
 
)    ((a) & (b))

◆ OPENCV_HAL_NOP

#define OPENCV_HAL_NOP (   a)    (a)