- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, the attached C++ program illustrates that overflow is
not correctly detected in IPP real vector arithmetic operations
involving addition, subtraction, multiplication and division.
The affected routines are:
vector-vector
ippsAdd_64f_A53
ippsSub_64f_A53
ippsMul_64f_A53
ippsDiv_64f_A53
vector-scalar
ippsAddC_64f
ippsSubC_64f
(and mul div variants)
scalar-vector
ippsSubCRev_64f
I have not tested the float versions ippsAdd_32f etc.
The complex versions ippsAdd_64fc etc appear to work fine.
The vector-scalar and scalar-vector routines signal an error
through fetestexcept so that can be used instead of IppStatus.
However the error in the vector-vector functions is not signalled.
Example output:
ippCore2018.0.3 (r58644)
ippsAdd_64f_A53:
ippStsNoErr: No errors
fetestexcept: No errors
ippsSub_64f_A53:
ippStsNoErr: No errors
fetestexcept: No errors
ippMul_64f_A53:
ippStsNoErr: No errors
fetestexcept: No errors
ippDiv_64f_A53:
ippStsNoErr: No errors
fetestexcept: No errors
ippsAddC_64f:
y = 1.79769e+308
ippStsNoErr: No errors
fetestexcept: Error detected
ippsSubC_64f:
y = -1.79769e+308
ippStsNoErr: No errors
fetestexcept: Error detected
iippsSubCRev_64f:
y = 1.79769e+308
ippStsNoErr: No errors
fetestexcept: Error detected
Best wishes.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is a similar problem in multiplication ippsMul_64f_A53
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks Mark, we will check and back asap.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page