Quantcast
Channel: Intel® Software - Intel® Integrated Performance Primitives
Viewing all articles
Browse latest Browse all 1489

Overflow undetected in ippsAdd_64f_A53 and related functions

$
0
0

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:
[x] = 1.79769e+308
[y] = 1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: No errors

ippsSub_64f_A53:
[x] = 1.79769e+308
[y] = -1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: No errors

ippMul_64f_A53:
[x] = 1.79769e+308
[y] = 1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: No errors

ippDiv_64f_A53:
[x] = 1.79769e+308
[y] = 2.22507e-308
[z] = inf
ippStsNoErr: No errors
fetestexcept: No errors

ippsAddC_64f:
[x] = 1.79769e+308
 y  = 1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: Error detected

ippsSubC_64f:
[x] = 1.79769e+308
 y  = -1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: Error detected

iippsSubCRev_64f:
[x] = -1.79769e+308
 y  = 1.79769e+308
[z] = inf
ippStsNoErr: No errors
fetestexcept: Error detected

Best wishes.
 

AttachmentSize
Downloadtext/x-c++srcippvfun.cpp5.17 KB

Viewing all articles
Browse latest Browse all 1489

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>