<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Division bug? in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Division-bug/m-p/988502#M22045</link>
    <description>&lt;DIV&gt;Which version of IPP you are using? What platform do youuse?We have not seen this report befoe. &lt;BR /&gt;&lt;BR /&gt;Coud you please submit this issue via Intel Premier Support and also include your system confirguration in details?&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Ying &lt;BR /&gt;&lt;/DIV&gt;</description>
    <pubDate>Fri, 24 Jun 2005 00:55:35 GMT</pubDate>
    <dc:creator>Ying_S_Intel</dc:creator>
    <dc:date>2005-06-24T00:55:35Z</dc:date>
    <item>
      <title>Division bug?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Division-bug/m-p/988501#M22044</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;In one of our new projects we've used a few of the arithmetic operations provided in the ippi package. Amongst those functions were &lt;SPAN&gt;ippiDiv_32f_C1R and ippiDiv_32f_C1IR. To test the results we've &lt;/SPAN&gt;made a comparison to a pixelwise division. The tests showed some bad results for part of the divisions tested.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;Are you familiar with this bug? Is there a version that fixes it or a workaround? &lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;Attached are two images and the test code for the div function (the in place function was tested in a similar way). Dividing img2 by img1 reproduces the bug (for both of the functions listed above). Note that the bug is not always symmetrical, i.e., sometimes dividing img2 by img1 will reproduce the bug, but the same operation performed in place will not, and vice versa.&lt;SPAN&gt; &lt;/SPAN&gt;If necessary, more examples can be provided.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;We thank you for your help,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;main&lt;/SPAN&gt;(&lt;SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;argc&lt;/SPAN&gt;, &lt;SPAN&gt;char&lt;/SPAN&gt;* &lt;SPAN&gt;argv&lt;/SPAN&gt;[]) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;const&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;ERR_DIFF&lt;/SPAN&gt; = 0.0001;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;// prepare params&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;width&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= 143;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;height&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= 134;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;* &lt;SPAN&gt;pSrc1&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= &lt;SPAN&gt;ReadImage&lt;/SPAN&gt;('D:\images\img1.tif');&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;* &lt;SPAN&gt;pSrc2&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= &lt;SPAN&gt;ReadImage&lt;/SPAN&gt;('D:\images\img2.tif');&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;* &lt;SPAN&gt;pDivRes&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= &lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;[&lt;SPAN&gt;width&lt;/SPAN&gt;*&lt;SPAN&gt;height&lt;/SPAN&gt;];&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;long&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;step&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;= &lt;SPAN&gt;width&lt;/SPAN&gt; *&lt;SPAN&gt; sizeof&lt;/SPAN&gt;(&lt;SPAN&gt;float&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;IppiSize&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;roiSize&lt;/SPAN&gt; = {&lt;SPAN&gt;width&lt;/SPAN&gt;, &lt;SPAN&gt;height&lt;/SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;// apply ippi function&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;ippiDiv_32f_C1R&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;SPAN&gt;pSrc1&lt;/SPAN&gt;, &lt;SPAN&gt;step&lt;/SPAN&gt;, &lt;SPAN&gt;pSrc2&lt;/SPAN&gt;, &lt;SPAN&gt;step&lt;/SPAN&gt;, &lt;SPAN&gt;pDivRes&lt;/SPAN&gt;, &lt;SPAN&gt;step&lt;/SPAN&gt;, &lt;SPAN&gt;roiSize&lt;/SPAN&gt;);&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;// compare result to pixelwise division&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;SPAN&gt;long&lt;/SPAN&gt;&lt;SPAN&gt;i&lt;/SPAN&gt;=0;&lt;SPAN&gt; i&lt;/SPAN&gt;&amp;lt;&lt;SPAN&gt;width&lt;/SPAN&gt;*&lt;SPAN&gt;height&lt;/SPAN&gt;;&lt;SPAN&gt; i&lt;/SPAN&gt;++) {&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (&lt;SPAN&gt;pSrc1&lt;/SPAN&gt;[&lt;SPAN&gt;i&lt;/SPAN&gt;] == 0)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;continue&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;divRes&lt;/SPAN&gt; = &lt;SPAN&gt;pSrc2&lt;/SPAN&gt;[&lt;SPAN&gt;i&lt;/SPAN&gt;] / &lt;SPAN&gt;pSrc1&lt;/SPAN&gt;[&lt;SPAN&gt;i&lt;/SPAN&gt;]; &lt;SPAN&gt;// ref&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;float&lt;/SPAN&gt;&lt;SPAN&gt;diff&lt;/SPAN&gt; = &lt;SPAN&gt;pDivRes&lt;/SPAN&gt;[&lt;SPAN&gt;i&lt;/SPAN&gt;] - &lt;SPAN&gt;divRes&lt;/SPAN&gt;;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN&gt;// err&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (&lt;SPAN&gt;diff&lt;/SPAN&gt; &amp;lt; 0)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;diff&lt;/SPAN&gt; = -&lt;SPAN&gt;diff&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (&lt;SPAN&gt;diff&lt;/SPAN&gt; &amp;gt; &lt;SPAN&gt;ERR_DIFF&lt;/SPAN&gt;) {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;cout&lt;/SPAN&gt; &amp;lt;&amp;lt; "div test failed" &amp;lt;&amp;lt; &lt;SPAN&gt;endl&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;break&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 17 Jun 2005 00:30:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Division-bug/m-p/988501#M22044</guid>
      <dc:creator>hilaz</dc:creator>
      <dc:date>2005-06-17T00:30:53Z</dc:date>
    </item>
    <item>
      <title>Re: Division bug?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Division-bug/m-p/988502#M22045</link>
      <description>&lt;DIV&gt;Which version of IPP you are using? What platform do youuse?We have not seen this report befoe. &lt;BR /&gt;&lt;BR /&gt;Coud you please submit this issue via Intel Premier Support and also include your system confirguration in details?&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Ying &lt;BR /&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 24 Jun 2005 00:55:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Division-bug/m-p/988502#M22045</guid>
      <dc:creator>Ying_S_Intel</dc:creator>
      <dc:date>2005-06-24T00:55:35Z</dc:date>
    </item>
  </channel>
</rss>

