49
49
#include " opencv2/core/cvstd.hpp"
50
50
#include " opencv2/core/hal/interface.h"
51
51
52
- // ! @cond IGNORED
53
- #define CALL_HAL (name, fun, ...) \
54
- int res = fun(__VA_ARGS__); \
55
- if (res == CV_HAL_ERROR_OK) \
56
- return ; \
57
- else if (res != CV_HAL_ERROR_NOT_IMPLEMENTED) \
58
- CV_Error_ (cv::Error::StsInternal, \
59
- (" HAL implementation " CVAUX_STR(name) " ==> " CVAUX_STR(fun) " returned %d (0x %08x)", res, res));
60
- // ! @endcond
61
-
62
-
63
52
namespace cv { namespace hal {
64
53
65
54
// ! @addtogroup core_hal_functions
@@ -75,6 +64,21 @@ CV_EXPORTS int LU32f(float* A, size_t astep, int m, float* b, size_t bstep, int
75
64
CV_EXPORTS int LU64f (double * A, size_t astep, int m, double * b, size_t bstep, int n);
76
65
CV_EXPORTS bool Cholesky32f (float * A, size_t astep, int m, float * b, size_t bstep, int n);
77
66
CV_EXPORTS bool Cholesky64f (double * A, size_t astep, int m, double * b, size_t bstep, int n);
67
+ CV_EXPORTS void SVD32f (float * At, size_t astep, float * W, float * U, size_t ustep, float * Vt, size_t vstep, int m, int n, int flags);
68
+ CV_EXPORTS void SVD64f (double * At, size_t astep, double * W, double * U, size_t ustep, double * Vt, size_t vstep, int m, int n, int flags);
69
+
70
+ CV_EXPORTS void gemm32f (const float * src1, size_t src1_step, const float * src2, size_t src2_step,
71
+ float alpha, const float * src3, size_t src3_step, float beta, float * dst, size_t dst_step,
72
+ int m_a, int n_a, int n_d, int flags);
73
+ CV_EXPORTS void gemm64f (const double * src1, size_t src1_step, const double * src2, size_t src2_step,
74
+ double alpha, const double * src3, size_t src3_step, double beta, double * dst, size_t dst_step,
75
+ int m_a, int n_a, int n_d, int flags);
76
+ CV_EXPORTS void gemm32fc (const float * src1, size_t src1_step, const float * src2, size_t src2_step,
77
+ float alpha, const float * src3, size_t src3_step, float beta, float * dst, size_t dst_step,
78
+ int m_a, int n_a, int n_d, int flags);
79
+ CV_EXPORTS void gemm64fc (const double * src1, size_t src1_step, const double * src2, size_t src2_step,
80
+ double alpha, const double * src3, size_t src3_step, double beta, double * dst, size_t dst_step,
81
+ int m_a, int n_a, int n_d, int flags);
78
82
79
83
CV_EXPORTS int normL1_ (const uchar* a, const uchar* b, int n);
80
84
CV_EXPORTS float normL1_ (const float * a, const float * b, int n);
0 commit comments