- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I am using ippsPowx_32f_A24 is one of my old application which uses IPP 7.0. But now I am moving this code into IPP 2017. I am seeing difference in the outputs between these two. I want to raise the power of X(int) on float number-B i.e B^(X).
Please suggest if there any change in the API usage.
Regards,
Sumit jha
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Like another thread, I'll ask our engineer team and get back to you with detailed information.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sumit,
Could you please provide a code example, where the function ippsPowx_32f_A24 returns different results for IPP 7.0 and IPP 2017?
Thanks,
Valentin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Valentin,
I have tried with following data of length 16 to compare ippsPowx_32f_A24 results between IPP old(7.0) and IPP 2017.
I am seeing difference between outputs for power of 5. However there is no mismatch for power of 2,3,4,6.
std::vector<Ipp32f> data2Power = {0.5f,48,50,64,62,63,58,116,128,124,5,32,10,135,1000,160.3f}; std::vector<Ipp32f> data2PowerOut5(16, 0); ippsPowx_32f_A24(data2Power._Myfirst, (float)5.0, data2PowerOut5._Myfirst, 16);
Here Diff is = ippsPowx_32f_A24_OLDIPP- ippsPowx_32f_A24_IPP2017;
Regards, Plz have look of attached image for differences.
Sumit Jha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sumit,
The diff you are looking at is the absolute error. The output of the powx function is floating point number, so you should be looking at the relative error as a better measurement of accuray. In terms of relative error, the difference between these two versions of IPP is very small. Also, you can check the hex dump of the output floating point numbers to see the difference.
(62)^5, 9.1613280E+08,0x4e5a6c4f, 9.1613286E+08,0x4e5a6c50, 5.96E-08
(58)^5, 6.5635680E+08,0x4e1c7cd7, 6.5635674E+08,0x4e1c7cd6, 1.19E-07
(116)^5,2.1003418E+10,0x509c7cd7, 2.1003416E+10,0x509c7cd6, 1.19E-07
(124)^5,2.9316250E+10,0x50da6c4f, 2.9316252E+10,0x50da6c50, 5.96E-08
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page