Commit Graph

53 Commits

Author SHA1 Message Date
Rostislav Vasilikhin
c6a3a18894 SoftFloat integrated (#8668)
* everything is put into softfloat.cpp and softfloat.hpp

* WIP: try to integrate softfloat into OpenCV

* extra functions removed

* softfloat made stateless

* CV_EXPORTS added

* operators fixed

* exp added, log: WIP

* log32 fixed

* shorter names; a lot of TODOs

* log64 rewritten

* cbrt32 added

* minors, refactoring

* "inline" -> "CV_INLINE"

* cast to bool warnings fixed

* several warnings fixed

* fixed warning about unsigned unary minus

* fixed warnings on type cast

* inline -> CV_INLINE

* special cases processing added (NaNs, Infs, etc.)

* constants for NaN and Inf added

* more macros and helper functions added

* added (or fixed) tests for pow32, pow64, cbrt32

* exp-like functions fixed

* minor changes

* fixed random number generation for tests

* tests for exp32 and exp64: values are compared to SoftFloat-based naive implementation

* minor warning fix

* pow(f, i) 32/64: special cases handling added

* unused functions removed

* refactoring is in progress (not compiling)

* CV_inline added

* unions {uint_t, float_t} removed

* tests compilation fixed

* static const members -> static methods returning const

* reinterpret_cast

* warning fixed

* const-ness fixed

* all FP calculations (even compile-time) are done in SoftFloat + minor fixes

* pow(f, i) removed from interface (can cause incorrect cast) to internals of pow(f, f), tests fixed

* CV_INLINE -> inline

* internal constants moved to .cpp file

* toInt_minMag() methods merged into toInt() methods

* macros moved to .cpp file

* refactoring: types renamed to softfloat and softdouble; explicit constructors, etc.

* toFloat(), toDouble() -> operator float(), operator double()

* removed f32/f64 prefixes from functions names

* toType() methods removed, round() and trunc() functions added

* minor change

* minors

* MSVC: warnings fixed

* added int cvRound(), cvFloor, cvCeil, cvTrunc, saturate_cast<T>()

* typo fixed

* type cast fixed
2017-05-29 17:07:25 +03:00
Maksim Shabunin
b417b4dbee KMeans improvement
- fixed returned compactness value
- added centers drawing to the example app
- added compactness test
2017-01-31 12:05:08 +03:00
Vladislav Sovrasov
dfe4519c07 Add QR decomposition to HAL 2016-09-05 18:20:04 +03:00
LaurentBerger
b75bac7975 Solve Issue 7063
consequences of changes

accuracy test

Solve issue 7063
2016-08-11 10:56:50 +02:00
Alexander Alekhin
3844ee780c build: fix compiler warnings (GCC 5.3.1) 2016-07-01 20:17:16 +03:00
Maksim Shabunin
1e667de1f3 HAL math interfaces: fastAtan2, magnitude, sqrt, invSqrt, log, exp 2016-05-31 11:54:52 +03:00
Alexander Alekhin
b26580cc7b checkRange fixes
1) fix multichannel support
2) remove useless bad_value, read value from original Mat directly
3) add more tests
4) fix docs for cvCeil and checkRange
2015-12-09 18:31:27 +03:00
Vadim Pisarevsky
d19897b734 Merge pull request #5651 from hoangviet1985:fix_solvePoly_3.0.0 2015-12-07 10:12:54 +00:00
hoangviet1985
3e96b724c2 squash 2015-11-20 15:03:32 -05:00
hoangviet1985
b96def885f squash 2015-11-20 14:48:29 -05:00
Vadim Pisarevsky
73f760fdf0 some more compile warnings fixed 2015-05-05 18:03:40 +03:00
Vadim Pisarevsky
9fbd1d68ad refactored div & pow funcs; added tests for special cases in pow() function.
fixed http://code.opencv.org/issues/3935
possibly fixed http://code.opencv.org/issues/3594
2015-05-01 21:49:11 +03:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Roman Donchenko
33087f9eaa Merge remote-tracking branch 'origin/2.4' into merge-2.4 2014-06-02 13:43:28 +04:00
Roman Donchenko
7ea1bf3cf0 Fixed several problems found by PVS-Studio.
This fixes all problems from the article "Checking OpenCV with PVS-Studio"
<http://www.viva64.com/en/b/0191/> that are not already fixed and are
not in 3rdparty or the legacy module.

The problems fixed are two instances of useless code and one instance
of unspecified behavior (right-shifting a negative number).
2014-05-20 13:54:00 +04:00
Roman Donchenko
3d7a457c97 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	doc/tutorials/introduction/linux_install/linux_install.rst
	modules/core/doc/operations_on_arrays.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/src/system.cpp
	modules/gpu/src/cuda/resize.cu
	modules/imgproc/doc/miscellaneous_transformations.rst
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/video/src/bgfg_gaussmix2.cpp
2014-05-19 18:39:20 +04:00
Vladislav Vinogradov
746185652a add additional tests for different input cases 2014-05-15 12:08:38 +04:00
Ilya Lavrenov
aa5326c231 cv::norm -> cvtest::norm in tests
Conflicts:

	modules/core/src/stat.cpp
2014-04-08 14:49:20 +04:00
Ilya Lavrenov
32eb38ec98 fixed defects from coverity.com 2014-02-23 20:21:08 +04:00
Roman Donchenko
2bbda9d225 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/cudaimgproc/test/test_color.cpp
	modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/test/test_core.cpp
	modules/gpu/test/test_imgproc.cpp
	modules/java/generator/src/cpp/VideoCapture.cpp
	samples/gpu/performance/CMakeLists.txt
	samples/tapi/CMakeLists.txt
2014-02-03 13:23:59 +04:00
Ilya Lavrenov
e7e63fac6c eliminated possible memory leak 2014-01-30 01:21:04 +04:00
Roman Donchenko
2c4bbb313c Merge commit '43aec5ad' into merge-2.4
Conflicts:
	cmake/OpenCVConfig.cmake
	cmake/OpenCVLegacyOptions.cmake
	modules/contrib/src/retina.cpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/video.rst
	modules/gpu/src/speckle_filtering.cpp
	modules/python/src2/cv2.cv.hpp
	modules/python/test/test2.py
	samples/python/watershed.py
2013-08-27 13:26:44 +04:00
Roman Donchenko
e9a28f66ee Normalized file endings. 2013-08-21 18:59:25 +04:00
Roman Donchenko
f55740da70 Deleted all trailing whitespace. 2013-08-21 18:59:24 +04:00
Andrey Kamaev
715fa3303e Move cv::Mat out of core.hpp 2013-04-01 15:24:34 +04:00
Andrey Kamaev
5e7ab8baf3 Move cv::Scalar_ to types.hpp 2013-04-01 15:24:33 +04:00
Andrey Kamaev
1ca8f33b4e Merge branch '2.4' 2013-03-21 23:11:54 +04:00
Vadim Pisarevsky
9a86245242 added test for bug #1448 and hopefully fixes the bug #2898 2013-03-20 11:58:19 +04:00
Artanis
993522598b Add implementations for Mat::zeros() and Mat::ones()
In class Mat, "static MatExpr Mat::zeros(int ndims, const int* sz, int
type)" and "static MatExpr Mat::ones(int ndims, const int* sz, int
type)" are declared but never implemented. That means we can see their
manuals from
"http://docs.opencv.org/modules/core/doc/basic_structures.html" but we
can't use them. Here I tried to finish their implementation.
I have also changed MatOp_Initializer::assign to make it support
multi-dimension Mat.
Test cases are added in test_math.cpp as well.
2013-03-01 13:18:44 +08:00
Andrey Kamaev
20c5a8788d Weaken acceptance criteria in phase test 2013-01-10 17:12:14 +04:00
Andrey Kamaev
9719ea93b6 Merge branch 2.4 2012-11-13 19:54:48 +04:00
Andrey Kamaev
0a4ed2bc01 Fix Windows build warnings 2012-11-09 10:10:04 +04:00
Vadim Pisarevsky
9163471987 improved accuracy of 3x3 invert on poorly-conditioned matrices (bug #2525) 2012-11-08 14:09:43 +04:00
Maria Dimashova
78dd1893bb added tests for cv::merge, cv::split, cv::phase 2012-10-21 12:22:39 +04:00
OpenCV Buildbot
81f826db2b Normalize line endings and whitespace 2012-10-17 15:57:49 +04:00
OpenCV Buildbot
04384a71e4 Normalize line endings and whitespace 2012-10-17 15:32:23 +04:00
Vadim Pisarevsky
d5a0088bbe merged 2.4 into trunk 2012-04-30 14:33:52 +00:00
Vadim Pisarevsky
53104e6f43 decreased the number of tests in Core_Eigen, decreased the maximum matrix size in Core_SVD; now those tests take less time to complete 2012-04-28 11:00:34 +00:00
Vadim Pisarevsky
2fd1e2ea57 merged all the latest changes from 2.4 to trunk 2012-04-13 21:50:59 +00:00
Andrey Kamaev
97835a8f32 Fixed 9 more build warnings 2012-04-12 16:21:08 +00:00
Marina Kolpakova
c0f6e219bb calcCovarMatrix cupport fot std::vectors of cv::Mat (#494) 2012-04-12 04:21:32 +00:00
Andrey Pavlenko
7e06b18144 workaround for the 'Bug #1784 (cvFloor/cvCeil)'; typos fixed; two more tests for checkRange 2012-04-10 09:48:06 +00:00
Andrey Pavlenko
dccfd79da8 #1783: test and fix for the bug 2012-04-10 08:22:33 +00:00
Vadim Pisarevsky
61c7c441b9 handle single-point sets in kmeans properly 2012-04-06 13:22:08 +00:00
Vadim Pisarevsky
c6a27b3d2f probably, ultimately fixed the problem of empty clusters in kmeans; added test for singular kmeans cases 2012-04-05 13:01:34 +00:00
Marina Kolpakova
13c7222238 minor refactoring 2012-03-28 20:50:02 +00:00
Marina Kolpakova
32b9bc1d00 fixed bug for #1496 and correctness tests for function CheckRange 2012-03-28 20:09:13 +00:00
Vadim Pisarevsky
846e37ded5 fixed many warnings from GCC 4.6.1 2012-03-17 09:22:31 +00:00
Vadim Pisarevsky
72c23e7bbb fixed most of test_core failures (except for SVD) 2011-12-05 22:58:27 +00:00
Vadim Pisarevsky
ff5e97c8e4 added COVAR_ and SORT_ enums to core.hpp; fixed many, many VS2005, VS2010 and MinGW (GCC 4.5.2) warnings 2011-07-19 12:27:07 +00:00