opencv/modules
Daniil Anufriev b5f5540e8a
Merge pull request #26886 from sk1er52:feature/exp64f
Enable SIMD_SCALABLE for exp and sqrt #26886

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
```
CPU - Banana Pi k1, compiler - clang 18.1.4
```
```
Geometric mean (ms)

              Name of Test               baseline  hal     ui      hal         ui    
                                                                    vs         vs
                                                                 baseline   baseline
                                                                (x-factor) (x-factor)
Exp::ExpFixture::(127x61, 32FC1)          0.358     --   0.033      --       10.70   
Exp::ExpFixture::(640x480, 32FC1)         14.304    --   1.167      --       12.26   
Exp::ExpFixture::(1280x720, 32FC1)        42.785    --   3.538      --       12.09
Exp::ExpFixture::(1920x1080, 32FC1)       96.206    --   7.927      --       12.14   
Exp::ExpFixture::(127x61, 64FC1)          0.433   0.050  0.098     8.59       4.40   
Exp::ExpFixture::(640x480, 64FC1)         17.315  1.935  3.813     8.95       4.54   
Exp::ExpFixture::(1280x720, 64FC1)        52.181  5.877  11.519    8.88       4.53   
Exp::ExpFixture::(1920x1080, 64FC1)      117.082  13.157 25.854    8.90       4.53
```
Additionally, this PR brings Sqrt optimization with UI:
```
Geometric mean (ms)

              Name of Test                     baseline    ui       ui    
                                                                    vs
                                                                 baseline
                                                                (x-factor)
Sqrt::SqrtFixture::(127x61, 5, false)            0.111   0.027     4.11   
Sqrt::SqrtFixture::(127x61, 6, false)            0.149   0.053     2.82   
Sqrt::SqrtFixture::(640x480, 5, false)           4.374   0.967     4.52   
Sqrt::SqrtFixture::(640x480, 6, false)           5.885   2.046     2.88   
Sqrt::SqrtFixture::(1280x720, 5, false)          12.960  2.915     4.45   
Sqrt::SqrtFixture::(1280x720, 6, false)          17.648  6.107     2.89   
Sqrt::SqrtFixture::(1920x1080, 5, false)         29.178  6.524     4.47   
Sqrt::SqrtFixture::(1920x1080, 6, false)         39.709  13.670    2.90   
```

Reference
Muller, J.-M. Elementary Functions: Algorithms and Implementation. 2nd ed. Boston: Birkhäuser, 2006.
https://www.springer.com/gp/book/9780817643720
2025-02-21 17:36:54 +03:00
..
calib3d Fix assertion in cv2.sampsonDistance 2025-02-15 04:47:01 +00:00
core Merge pull request #26886 from sk1er52:feature/exp64f 2025-02-21 17:36:54 +03:00
dnn Fixed Android build with Vulkan support. 2025-01-13 21:13:22 +03:00
features2d Move OpenVX implementation for FAST to HAL. 2025-02-14 17:47:48 +03:00
flann flann: remove unused hdf5 header 2024-11-14 19:44:10 +03:00
gapi Fix _DEBUG/NDEBUG handling across modules (#26151) 2025-02-11 22:00:44 +05:30
highgui Merge pull request #26662 from RoshniUG:4.x 2025-02-08 09:50:53 +03:00
imgcodecs Merge pull request #26915 from mshabunin:fix-png-be 2025-02-13 16:58:15 +03:00
imgproc Move OpenVX integrations to imgproc to OpenVX HAL 2025-02-15 09:55:37 +03:00
java Merge pull request #26875 from asmorkalov:as/in_memory_models 2025-02-14 15:35:38 +03:00
js Merge pull request #26147 from vrabaud:opencv_js 2024-12-19 17:35:16 +03:00
ml replace tostring() with tobytes 2025-02-18 12:25:01 +05:30
objc Merge pull request #26713 from homuler:fix/build-ios-framework 2025-01-10 14:48:56 +03:00
objdetect Merge pull request #26753 from shyama7004:RotatedMarkers 2025-01-13 10:51:03 +03:00
photo Merge pull request #26831 from shyama7004:fix-denoising.cpp 2025-01-29 15:45:40 +03:00
python replace deprecated np.fromstring() by np.frombuffer() 2025-02-21 10:37:11 +05:30
stitching Merge pull request #26754 from s-trinh:add_bibtex_direct_pdf_links 2025-01-27 10:28:38 +03:00
ts Fix Syntax warning in ts summary.py 2024-12-18 05:27:10 +08:00
video Merge pull request #26875 from asmorkalov:as/in_memory_models 2025-02-14 15:35:38 +03:00
videoio Merge pull request #26837 from warped-rudi:zoom 2025-01-25 09:29:00 +03:00
world cmake: use /INCREMENTAL:NO with MSVS 2015 2023-12-07 19:46:27 +00:00