OpenCV  4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | 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"
Include dependency graph for intrin.hpp:
This graph shows which files directly or indirectly include this file:

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

namespace  cv
 
namespace  cv::hal
 
namespace  simd512
 

Macros

#define CV_INTRIN_DEF_TYPE_TRAITS(type, int_type_, uint_type_, abs_type_, w_type_, q_type_, sum_type_)
 
#define CV_INTRIN_DEF_TYPE_TRAITS_NO_Q_TYPE(type, int_type_, uint_type_, abs_type_, w_type_, sum_type_)
 
#define CV_SIMD   1
 
#define CV_SIMD_64F   CV_SIMD512_64F
 
#define CV_SIMD_FP16   CV_SIMD512_FP16
 
#define CV_SIMD_WIDTH   64
 
#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)
 
#define VXPREFIX(func)   v512##func
 

Typedefs

typedef v_float32x16 simd512::v_float32
 Maximum available vector register capacity 32-bit floating point values (single precision)
 
typedef v_float64x8 simd512::v_float64
 Maximum available vector register capacity 64-bit floating point values (double precision)
 
typedef v_int16x32 simd512::v_int16
 Maximum available vector register capacity 16-bit signed integer values.
 
typedef v_int32x16 simd512::v_int32
 Maximum available vector register capacity 32-bit signed integer values.
 
typedef v_int64x8 simd512::v_int64
 Maximum available vector register capacity 64-bit signed integer values.
 
typedef v_int8x64 simd512::v_int8
 Maximum available vector register capacity 8-bit signed integer values.
 
typedef v_uint16x32 simd512::v_uint16
 Maximum available vector register capacity 16-bit unsigned integer values.
 
typedef v_uint32x16 simd512::v_uint32
 Maximum available vector register capacity 32-bit unsigned integer values.
 
typedef v_uint64x8 simd512::v_uint64
 Maximum available vector register capacity 64-bit unsigned integer values.
 
typedef v_uint8x64 simd512::v_uint8
 Maximum available vector register capacity 8-bit unsigned integer values.
 

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_ 
)
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; \
\
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_ 
)
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; \
\
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_SIMD

#define CV_SIMD   1

◆ CV_SIMD_64F

#define CV_SIMD_64F   CV_SIMD512_64F

◆ CV_SIMD_FP16

#define CV_SIMD_FP16   CV_SIMD512_FP16

◆ CV_SIMD_WIDTH

#define CV_SIMD_WIDTH   64

◆ 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)

◆ VXPREFIX

#define VXPREFIX (   func)    v512##func