🤖
AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は
公式英語版(原文) を参照してください。
|
| #define | OPENCV_HAL_IMPL_ARITHM_OP(func, bin_op, cast_op, _Tp2) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_INIT_VAL(_Tpvec, _Tp, prefix, suffix) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_INIT_ZERO(_Tpvec, prefix, suffix) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_PACK(_Tp, _Tpn, pack_suffix, cast) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_PACK_STORE(_Tp, _Tpn, pack_suffix, cast) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_REINTERPRET(_Tp, suffix) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_RSHIFTR(_Tp) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_RSHR_PACK(_Tp, _Tpn, pack_suffix, cast) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_RSHR_PACK_STORE(_Tp, _Tpn, pack_suffix, cast) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_SHIFTL(_Tp) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_C_SHIFTR(_Tp) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_CMP_OP(cmp_op, func) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_MATH_FUNC(func, cfunc, _Tp2) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_MINMAX_FUNC(func, cfunc) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_REDUCE_MINMAX_FUNC(func, cfunc) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_ROTATE_SHIFT_OP(suffix, opA, opB) |
| | ヘルパーマクロ。
|
| |
| #define | OPENCV_HAL_IMPL_SHIFT_OP(shift_op, func) |
| | ヘルパーマクロ。
|
| |
◆ OPENCV_HAL_IMPL_ARITHM_OP
| #define OPENCV_HAL_IMPL_ARITHM_OP |
( |
| func, |
|
|
| bin_op, |
|
|
| cast_op, |
|
|
| _Tp2 ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
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; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_INIT_VAL
| #define OPENCV_HAL_IMPL_C_INIT_VAL |
( |
| _Tpvec, |
|
|
| _Tp, |
|
|
| prefix, |
|
|
| suffix ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:inline _Tpvec prefix##_setall_##suffix(
_Tp val) {
return _Tpvec::all(val); } \
template <>
inline _Tpvec v_setall_(
_Tp val) {
return _Tpvec::all(val); }
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_INIT_ZERO
| #define OPENCV_HAL_IMPL_C_INIT_ZERO |
( |
| _Tpvec, |
|
|
| prefix, |
|
|
| suffix ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:inline _Tpvec prefix##_setzero_##suffix() { return _Tpvec::zero(); } \
template <> inline _Tpvec v_setzero_() { return _Tpvec::zero(); }
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_PACK
| #define OPENCV_HAL_IMPL_C_PACK |
( |
| _Tp, |
|
|
| _Tpn, |
|
|
| pack_suffix, |
|
|
| cast ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int n> inline v_reg<_Tpn, 2*n> v_##pack_suffix(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
v_reg<_Tpn, 2*n> c; \
for( int i = 0; i < n; i++ ) \
{ \
c.s[i] = cast<_Tpn>(a.s[i]); \
c.s[i+n] = cast<_Tpn>(b.s[i]); \
} \
return c; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_PACK_STORE
| #define OPENCV_HAL_IMPL_C_PACK_STORE |
( |
| _Tp, |
|
|
| _Tpn, |
|
|
| pack_suffix, |
|
|
| cast ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int n> inline void v_##pack_suffix##_store(_Tpn* ptr, const v_reg<_Tp, n>& a) \
{ \
for( int i = 0; i < n; i++ ) \
ptr[i] = cast<_Tpn>(a.s[i]); \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_REINTERPRET
| #define OPENCV_HAL_IMPL_C_REINTERPRET |
( |
| _Tp, |
|
|
| suffix ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<
typename _Tp0,
int n0>
inline v_reg<
_Tp, n0*
sizeof(_Tp0)/
sizeof(
_Tp)> \
v_reinterpret_as_##suffix(const v_reg<_Tp0, n0>& a) \
{
return a.template reinterpret_as<
_Tp, n0*
sizeof(_Tp0)/
sizeof(
_Tp)>(); }
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_RSHIFTR
| #define OPENCV_HAL_IMPL_C_RSHIFTR |
( |
| _Tp | ) |
|
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int shift, int n> inline v_reg<_Tp, n> v_rshr(const v_reg<_Tp, n>& a) \
{ \
v_reg<_Tp, n> c; \
for( int i = 0; i < n; i++ ) \
c.s[i] = (
_Tp)((a.s[i] + ((
_Tp)1 << (shift - 1))) >> shift); \
return c; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_RSHR_PACK
| #define OPENCV_HAL_IMPL_C_RSHR_PACK |
( |
| _Tp, |
|
|
| _Tpn, |
|
|
| pack_suffix, |
|
|
| cast ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int shift, int n> inline v_reg<_Tpn, 2*n> v_rshr_##pack_suffix(const v_reg<_Tp, n>& a, const v_reg<_Tp, n>& b) \
{ \
v_reg<_Tpn, 2*n> c; \
for( int i = 0; i < n; i++ ) \
{ \
c.s[i] = cast<_Tpn>((a.s[i] + ((
_Tp)1 << (shift - 1))) >> shift); \
c.s[i+n] = cast<_Tpn>((b.s[i] + ((
_Tp)1 << (shift - 1))) >> shift); \
} \
return c; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_RSHR_PACK_STORE
| #define OPENCV_HAL_IMPL_C_RSHR_PACK_STORE |
( |
| _Tp, |
|
|
| _Tpn, |
|
|
| pack_suffix, |
|
|
| cast ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int shift, int n> inline void v_rshr_##pack_suffix##_store(_Tpn* ptr, const v_reg<_Tp, n>& a) \
{ \
for( int i = 0; i < n; i++ ) \
ptr[i] = cast<_Tpn>((a.s[i] + ((
_Tp)1 << (shift - 1))) >> shift); \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_SHIFTL
| #define OPENCV_HAL_IMPL_C_SHIFTL |
( |
| _Tp | ) |
|
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int shift, int n> inline v_reg<_Tp, n> v_shl(const v_reg<_Tp, n>& a) \
{ return v_shl(a, shift); }
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_C_SHIFTR
| #define OPENCV_HAL_IMPL_C_SHIFTR |
( |
| _Tp | ) |
|
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<int shift, int n> inline v_reg<_Tp, n> v_shr(const v_reg<_Tp, n>& a) \
{ return v_shr(a, shift); }
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_CMP_OP
| #define OPENCV_HAL_IMPL_CMP_OP |
( |
| cmp_op, |
|
|
| func ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<typename _Tp, int n> \
inline v_reg<_Tp, n> func(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; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_MATH_FUNC
| #define OPENCV_HAL_IMPL_MATH_FUNC |
( |
| func, |
|
|
| cfunc, |
|
|
| _Tp2 ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
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; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_MINMAX_FUNC
| #define OPENCV_HAL_IMPL_MINMAX_FUNC |
( |
| func, |
|
|
| cfunc ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
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; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_REDUCE_MINMAX_FUNC
| #define OPENCV_HAL_IMPL_REDUCE_MINMAX_FUNC |
( |
| func, |
|
|
| cfunc ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<
typename _Tp,
int n>
inline _Tp func(
const v_reg<_Tp, n>& a) \
{ \
for( int i = 1; i < n; i++ ) \
c = cfunc(c, a.s[i]); \
return c; \
}
ヘルパーマクロ。
◆ OPENCV_HAL_IMPL_ROTATE_SHIFT_OP
| #define OPENCV_HAL_IMPL_ROTATE_SHIFT_OP |
( |
| suffix, |
|
|
| opA, |
|
|
| opB ) |
◆ OPENCV_HAL_IMPL_SHIFT_OP
| #define OPENCV_HAL_IMPL_SHIFT_OP |
( |
| shift_op, |
|
|
| func ) |
#include <opencv2/core/hal/intrin_cpp.hpp>
Value:template<typename _Tp, int n> inline v_reg<_Tp, n> func(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; \
}
ヘルパーマクロ。