OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
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)
 
#define OPENCV_HAL_ADD(a, b)
 
#define OPENCV_HAL_AND(a, b)
 
#define OPENCV_HAL_NOP(a)
 
#define VXPREFIX(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,
b )
Value:
(a)

◆ OPENCV_HAL_ADD

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

◆ OPENCV_HAL_AND

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

◆ OPENCV_HAL_NOP

#define OPENCV_HAL_NOP ( a)
Value:
(a)

◆ VXPREFIX

#define VXPREFIX ( func)
Value:
v512##func