<?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 Hi Andrey. in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069259#M24500</link>
    <description>&lt;P&gt;Hi Andrey. Thank you for your reply.&lt;/P&gt;

&lt;P&gt;According to &lt;A href="https://software.intel.com/en-us/node/529034"&gt;this &lt;/A&gt;documentation: "&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;The length of the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px;"&gt;pDlySrc&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&amp;nbsp;array is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px;"&gt;tapsLen&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;-1 elements.&lt;/SPAN&gt;"&lt;/P&gt;

&lt;P&gt;There is the same statement i&lt;SPAN style="font-size: 1em;"&gt;n &lt;/SPAN&gt;&lt;A href="https://software.intel.com/en-us/ipp-2017-1-reference-manual-zip" style="font-size: 1em;"&gt;this&lt;/A&gt;&lt;SPAN style="font-size: 1em;"&gt; manual. What "IPP manual"&amp;nbsp;&lt;/SPAN&gt;are you talking about?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Apr 2017 16:59:42 GMT</pubDate>
    <dc:creator>Aleksey_Y_</dc:creator>
    <dc:date>2017-04-05T16:59:42Z</dc:date>
    <item>
      <title>Index error of pDlySrc in FIRMR</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069256#M24497</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;

&lt;P&gt;It seems like i&lt;SPAN class="short_text" id="result_box" lang="en"&gt;&lt;SPAN&gt;ndexing of the array&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;pDlySrc &lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN&gt; begins with 1, not with 0.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Check the code below. It preforms FIRMR. Then changing pDlySrc&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN&gt;[0] to 0 and performs FIRMR again. The results are equal.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;IPP version: 2017.2.187 (20017 Update 2)&lt;BR /&gt;
	OS: Windows 8.1 Pro&lt;BR /&gt;
	Visual Studio 2013&lt;/P&gt;

&lt;P&gt;CODE:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include "stdafx.h"
#include &amp;lt;ipps.h&amp;gt;
#include &amp;lt;ipp.h&amp;gt;


int _tmain(int argc, _TCHAR* argv[])
{
	ippInit();

	Ipp32f pTaps[10] = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1};
	const int numIters = 6;
	const int tapsLen = 10;
	const int downFactor = 5;
	const int srcSize = downFactor*(numIters - 1) + 1;
	const int dstSize = numIters;
	const int dlySize = tapsLen - 1;

	int specSize, bufSize, i;

	Ipp32f* pSrc = ippsMalloc_32f(srcSize);
	Ipp32f* pDst = ippsMalloc_32f(dstSize);
	Ipp32f* pDlySrc = ippsMalloc_32f(dlySize +1); 

	Ipp8u* pBuf;
	IppsFIRSpec_32f *pSpec;

	IppStatus status;

	status = ippsFIRMRGetSize(tapsLen, 1, downFactor, ipp32f, &amp;amp;specSize, &amp;amp;bufSize);
	if (ippStsNoErr != status) return -1;

	pSpec = (IppsFIRSpec_32f*)ippsMalloc_8u(specSize);
	pBuf = ippsMalloc_8u(bufSize);
	status = ippsFIRMRInit_32f(pTaps, tapsLen, 1, 0, downFactor, 0, pSpec);
	if (ippStsNoErr != status) return -1;
	

	for (i = 0; i &amp;lt; dlySize+1; i++) pDlySrc&lt;I&gt; = 10;
	for (i = 0; i&amp;lt;srcSize; i++)	pSrc&lt;I&gt; = 1;
	pSrc[srcSize - 1] = 100;

	status = ippsFIRMR_32f(pSrc, pDst, numIters, pSpec, pDlySrc, NULL, pBuf);
	if (ippStsNoErr != status) return -1;

	printf("dlySrc[%d]\n", dlySize);
	for (i = 0; i&amp;lt;dlySize; i++)	printf("%6.2f ", pDlySrc&lt;I&gt;);
	printf("{%6.2f}", pDlySrc[dlySize]);
	printf("\nsrc[%d]\n", srcSize);
	for (i = 0; i&amp;lt;srcSize; i++)	printf("%2.0f ", pSrc&lt;I&gt;);
	printf("\ntaps[%d]\n", tapsLen);
	for (i = 0; i&amp;lt;tapsLen; i++)	printf("%1.3f ", pTaps&lt;I&gt;);
	printf("\n\n\ndst[%d]\n", dstSize);
	for (i = 0; i&amp;lt;dstSize; i++)	printf("%2.2f ", pDst&lt;I&gt;);


	pDlySrc[0] = 0;
	status = ippsFIRMR_32f(pSrc, pDst, numIters, pSpec, pDlySrc, NULL, pBuf);
	if (ippStsNoErr != status) return -1;

	printf("\n\n\n\ndlySrc[%d]\n", dlySize);
	for (i = 0; i&amp;lt;dlySize; i++)	printf("%6.2f ", pDlySrc&lt;I&gt;);
	printf("{%6.2f}", pDlySrc[dlySize]);
	printf("\nsrc[%d]\n", srcSize);
	for (i = 0; i&amp;lt;srcSize; i++)	printf("%2.0f ", pSrc&lt;I&gt;);
	printf("\ntaps[%d]\n", tapsLen);
	for (i = 0; i&amp;lt;tapsLen; i++)	printf("%1.3f ", pTaps&lt;I&gt;);
	printf("\n\n\ndst[%d]\n", dstSize);
	for (i = 0; i&amp;lt;dstSize; i++)	printf("%2.2f ", pDst&lt;I&gt;);

	printf("\n\nIPP_VERSION: ");
	printf(IPP_VERSION_STR);
	printf("\n");

	return 0;
}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Mar 2017 04:54:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069256#M24497</guid>
      <dc:creator>Aleksey_Y_</dc:creator>
      <dc:date>2017-03-29T04:54:31Z</dc:date>
    </item>
    <item>
      <title>Dear developers.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069257#M24498</link>
      <description>&lt;P&gt;&lt;SPAN id="result_box" lang="en"&gt;&lt;SPAN&gt;Dear developers.&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN&gt;There is still no feedback on this issue.&lt;/SPAN&gt; &lt;SPAN class="alt-edited"&gt;Tell me maybe I should post this information somewhere else?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Apr 2017 03:21:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069257#M24498</guid>
      <dc:creator>Aleksey_Y_</dc:creator>
      <dc:date>2017-04-03T03:21:23Z</dc:date>
    </item>
    <item>
      <title>Hi Aleksey.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069258#M24499</link>
      <description>&lt;P&gt;Hi Aleksey.&lt;/P&gt;

&lt;P&gt;Thanks for using IPP library.&lt;/P&gt;

&lt;P&gt;FIRMR has&amp;nbsp;very&amp;nbsp;complex API. Actually to get correct result the +-1 element from delay line is used. It depends from combination&amp;nbsp;up/down factors and phases.&amp;nbsp;Therefore ippsFIRMR function always requests&amp;nbsp; enough number &lt;FONT size="2"&gt;&lt;SPAN class="fontstyle3"&gt;(&lt;/SPAN&gt;&lt;SPAN class="fontstyle2"&gt;tapsLen &lt;/SPAN&gt;&lt;SPAN class="fontstyle3"&gt;+ &lt;/SPAN&gt;&lt;SPAN class="fontstyle2"&gt;upFactor &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN class="fontstyle3"&gt;&lt;FONT size="2"&gt;- 1) / &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size="2"&gt;&lt;SPAN class="fontstyle2"&gt;upFactor elements in delay line.&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;See IPP manual&lt;EM&gt; "&lt;/EM&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;SPAN class="fontstyle0"&gt;&lt;FONT face="Verdana"&gt;If the delay line array &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle2"&gt;&lt;EM&gt;pDlyLine &lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle0"&gt;&lt;FONT face="Verdana"&gt;is not &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle3"&gt;NULL&lt;/SPAN&gt;&lt;SPAN class="fontstyle0"&gt;&lt;FONT face="Verdana"&gt;, its length is defined as &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle3"&gt;(&lt;/SPAN&gt;&lt;SPAN class="fontstyle2"&gt;&lt;EM&gt;tapsLen &lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle3"&gt;+ &lt;/SPAN&gt;&lt;SPAN class="fontstyle2"&gt;&lt;EM&gt;upFactor &lt;/EM&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;SPAN class="fontstyle3"&gt;- 1) /&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN class="fontstyle2"&gt;&lt;EM&gt;upFactor&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN class="fontstyle0"&gt;&lt;FONT face="Verdana"&gt;." In your case you provide (10+1-1/1)=10 elements and 0th is not used. So zeroing of&amp;nbsp;0th has no effect in your case.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR style="text-transform: none; line-height: normal; text-indent: 0px; letter-spacing: normal; font-style: normal; font-variant: normal; font-weight: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2017 16:37:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069258#M24499</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2017-04-05T16:37:07Z</dc:date>
    </item>
    <item>
      <title>Hi Andrey.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069259#M24500</link>
      <description>&lt;P&gt;Hi Andrey. Thank you for your reply.&lt;/P&gt;

&lt;P&gt;According to &lt;A href="https://software.intel.com/en-us/node/529034"&gt;this &lt;/A&gt;documentation: "&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;The length of the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px;"&gt;pDlySrc&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&amp;nbsp;array is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="parmname" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-style: italic; color: rgb(102, 102, 102); font-size: 13px;"&gt;tapsLen&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;-1 elements.&lt;/SPAN&gt;"&lt;/P&gt;

&lt;P&gt;There is the same statement i&lt;SPAN style="font-size: 1em;"&gt;n &lt;/SPAN&gt;&lt;A href="https://software.intel.com/en-us/ipp-2017-1-reference-manual-zip" style="font-size: 1em;"&gt;this&lt;/A&gt;&lt;SPAN style="font-size: 1em;"&gt; manual. What "IPP manual"&amp;nbsp;&lt;/SPAN&gt;are you talking about?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2017 16:59:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069259#M24500</guid>
      <dc:creator>Aleksey_Y_</dc:creator>
      <dc:date>2017-04-05T16:59:42Z</dc:date>
    </item>
    <item>
      <title> </title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069260#M24501</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Hmm. Looks like that last documentation of ippsFIRMR is not correct enough. But the code example&amp;nbsp; uses correct sizes of pDlySrc and&amp;nbsp;pDlyDst&lt;/P&gt;

&lt;P&gt;There is a lot of information how ippsFIRMR works in&amp;nbsp;legacy pdf manual of IPP 7.1&lt;/P&gt;

&lt;P&gt;&lt;A href="https://community.intel.com/legacyfs/online/drupal_files/m/d/4/1/d/8/ipps.pdf"&gt;https://software.intel.com/sites/default/files/m/d/4/1/d/8/ipps.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;I hope it will clarify API and behavior of ippsFIRMR.&lt;/P&gt;

&lt;P&gt;We'll fix documentation in next IPP release.&lt;/P&gt;</description>
      <pubDate>Wed, 05 Apr 2017 17:48:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069260#M24501</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2017-04-05T17:48:43Z</dc:date>
    </item>
    <item>
      <title>Got it. Thank you, Andrey.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069261#M24502</link>
      <description>&lt;P&gt;Got it. Thank you, Andrey.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Apr 2017 05:08:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Index-error-of-pDlySrc-in-FIRMR/m-p/1069261#M24502</guid>
      <dc:creator>Aleksey_Y_</dc:creator>
      <dc:date>2017-04-06T05:08:08Z</dc:date>
    </item>
  </channel>
</rss>

