• Rostislav Vasilikhin's avatar
    SoftFloat integrated (#8668) · c6a3a188
    Rostislav Vasilikhin authored
    * 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
    c6a3a188
Name
Last commit
Last update
..
calib3d Loading commit data...
core Loading commit data...
cudaarithm Loading commit data...
cudabgsegm Loading commit data...
cudacodec Loading commit data...
cudafeatures2d Loading commit data...
cudafilters Loading commit data...
cudaimgproc Loading commit data...
cudalegacy Loading commit data...
cudaobjdetect Loading commit data...
cudaoptflow Loading commit data...
cudastereo Loading commit data...
cudawarping Loading commit data...
cudev Loading commit data...
features2d Loading commit data...
flann Loading commit data...
highgui Loading commit data...
imgcodecs Loading commit data...
imgproc Loading commit data...
java Loading commit data...
ml Loading commit data...
objdetect Loading commit data...
photo Loading commit data...
python Loading commit data...
shape Loading commit data...
stitching Loading commit data...
superres Loading commit data...
ts Loading commit data...
video Loading commit data...
videoio Loading commit data...
videostab Loading commit data...
viz Loading commit data...
world Loading commit data...
CMakeLists.txt Loading commit data...