projects
/
profile
/
ivi
/
opencv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
49d1691
)
cv::pow
author
Ilya Lavrenov
<ilya.lavrenov@itseez.com>
Fri, 4 Apr 2014 09:49:22 +0000
(13:49 +0400)
committer
Ilya Lavrenov
<ilya.lavrenov@itseez.com>
Tue, 8 Apr 2014 20:11:27 +0000
(
00:11
+0400)
modules/core/src/mathfuncs.cpp
patch
|
blob
|
history
diff --git
a/modules/core/src/mathfuncs.cpp
b/modules/core/src/mathfuncs.cpp
index
9c48a8a
..
cc5088d
100644
(file)
--- a/
modules/core/src/mathfuncs.cpp
+++ b/
modules/core/src/mathfuncs.cpp
@@
-2205,6
+2205,18
@@
void pow( InputArray _src, double power, OutputArray _dst )
}
else
{
+#ifdef HAVE_IPP
+ if (src.isContinuous() && dst.isContinuous())
+ {
+ IppStatus status = depth == CV_32F ?
+ ippsPowx_32f_A21((const Ipp32f *)src.data, (Ipp32f)power, (Ipp32f*)dst.data, (Ipp32s)(src.total() * cn)) :
+ ippsPowx_64f_A50((const Ipp64f *)src.data, power, (Ipp64f*)dst.data, (Ipp32s)(src.total() * cn));
+
+ if (status == ippStsNoErr)
+ return;
+ }
+#endif
+
int j, k, blockSize = std::min(len, ((BLOCK_SIZE + cn-1)/cn)*cn);
size_t esz1 = src.elemSize1();