Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
fb223784
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fb223784
编写于
12月 12, 2016
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test: fix Core_HAL.mat_decomp test implementation
上级
03bcfe41
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
5 deletion
+19
-5
modules/core/test/test_hal_core.cpp
modules/core/test/test_hal_core.cpp
+19
-5
未找到文件。
modules/core/test/test_hal_core.cpp
浏览文件 @
fb223784
...
...
@@ -120,15 +120,20 @@ TEST(Core_HAL, mathfuncs)
}
}
namespace
{
enum
{
HAL_LU
=
0
,
HAL_CHOL
=
1
};
TEST
(
Core_HAL
,
mat_decomp
)
typedef
testing
::
TestWithParam
<
int
>
HAL
;
TEST_P
(
HAL
,
mat_decomp
)
{
for
(
int
hcase
=
0
;
hcase
<
16
;
hcase
++
)
int
hcase
=
GetParam
();
SCOPED_TRACE
(
cv
::
format
(
"hcase=%d"
,
hcase
));
{
int
depth
=
hcase
%
2
==
0
?
CV_32F
:
CV_64F
;
int
size
=
(
hcase
/
2
)
%
4
;
...
...
@@ -137,7 +142,7 @@ TEST(Core_HAL, mat_decomp)
double
eps
=
depth
==
CV_32F
?
1e-5
:
1e-10
;
if
(
size
==
3
)
continue
;
return
;
// TODO ???
Mat
a0
(
size
,
size
,
depth
),
a
(
size
,
size
,
depth
),
b
(
size
,
1
,
depth
),
x
(
size
,
1
,
depth
),
x0
(
size
,
1
,
depth
);
randu
(
a0
,
-
1
,
1
);
...
...
@@ -175,14 +180,19 @@ TEST(Core_HAL, mat_decomp)
min_hal_t
=
std
::
min
(
min_hal_t
,
t
);
t
=
(
double
)
getTickCount
();
solve
(
a0
,
b
,
x0
,
(
nfunc
==
HAL_LU
?
DECOMP_LU
:
DECOMP_CHOLESKY
));
bool
solveStatus
=
solve
(
a0
,
b
,
x0
,
(
nfunc
==
HAL_LU
?
DECOMP_LU
:
DECOMP_CHOLESKY
));
t
=
(
double
)
getTickCount
()
-
t
;
EXPECT_TRUE
(
solveStatus
);
min_ocv_t
=
std
::
min
(
min_ocv_t
,
t
);
}
//std::cout << "x: " << Mat(x.t()) << std::endl;
//std::cout << "x0: " << Mat(x0.t()) << std::endl;
EXPECT_LE
(
norm
(
x
,
x0
,
NORM_INF
|
NORM_RELATIVE
),
eps
);
EXPECT_LE
(
norm
(
x
,
x0
,
NORM_INF
|
NORM_RELATIVE
),
eps
)
<<
"x: "
<<
Mat
(
x
.
t
())
<<
"
\n
x0: "
<<
Mat
(
x0
.
t
())
<<
"
\n
a0: "
<<
a0
<<
"
\n
b: "
<<
b
;
double
freq
=
getTickFrequency
();
printf
(
"%s (%d x %d, %s): hal time=%.2fusec, ocv time=%.2fusec
\n
"
,
...
...
@@ -192,3 +202,7 @@ TEST(Core_HAL, mat_decomp)
min_hal_t
*
1e6
/
freq
,
min_ocv_t
*
1e6
/
freq
);
}
}
INSTANTIATE_TEST_CASE_P
(
Core
,
HAL
,
testing
::
Range
(
0
,
16
));
}
// namespace
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录