<?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 Thanks for your reply Gennady in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118556#M24827</link>
    <description>&lt;P&gt;Thanks for your reply Gennady.&lt;/P&gt;

&lt;P&gt;I cannot figure out how others users deal efficiently that kind of result... how can they know if their sitePoints are on the last breakPoint or on the penultimate or between those two points ?&lt;/P&gt;

&lt;P&gt;It is illogical: The routine was typically rightContinuous, and now it is still rightContinuous &lt;STRONG&gt;except for last breakPoint&lt;/STRONG&gt;.&lt;/P&gt;

&lt;P&gt;A parameter to set right or left continuous behavior could be a good thing.&lt;/P&gt;

&lt;P&gt;Guix&lt;/P&gt;</description>
    <pubDate>Thu, 01 Sep 2016 08:34:18 GMT</pubDate>
    <dc:creator>Guillaume_A_2</dc:creator>
    <dc:date>2016-09-01T08:34:18Z</dc:date>
    <item>
      <title>df?dSearchCells1D give different result between Composer 16 and 16 Update3</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118554#M24825</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I'm using the MKL in the&lt;STRONG&gt; Composer 16&lt;/STRONG&gt; &lt;STRONG&gt;update 3&lt;/STRONG&gt; release and I notice a weird behaviour of the df?dSearchCells1D routine when a sitePoint is equal to the last breakPoint.&lt;/P&gt;

&lt;P&gt;I did a little test :&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;  const int NBBreakpoint = 3;
  const int NBSite = 7;

  double *breakpoints = new double[NBBreakpoint];
  double *sites = new double[NBSite];
  int *cellIds = new int[NBSite];
  int *expectedCellIds = new int[NBSite];

  // ref values 
  const double minBreakpoint = 0.0;
  const double maxBreakpoint = 2.0;
  breakpoints[0] = minBreakpoint;
  breakpoints[1] = (maxBreakpoint - minBreakpoint) * 0.5;
  breakpoints[2] = maxBreakpoint;

  // Sites values 
  sites[0] = minBreakpoint - (maxBreakpoint - minBreakpoint) * 0.25;  // before the first breakpoint
  sites[1] = minBreakpoint;                                           // first breakpoint
  sites[2] = minBreakpoint + (maxBreakpoint - minBreakpoint) * 0.25;  // between first and second breakpoints
  sites[3] = breakpoints[1];                                          // second breakpoint
  sites[4] = minBreakpoint + (maxBreakpoint - minBreakpoint) * 0.75;  // between second and last breakpoints
  sites[5] = maxBreakpoint;                                           // last breakpoint
  sites[6] = maxBreakpoint + (maxBreakpoint - minBreakpoint) * 0.25;  // after the last breakpoint

  DFTaskPtr task;
  auto status = dfdNewTask1D(&amp;amp;task, NBBreakpoint, breakpoints, DF_NON_UNIFORM_PARTITION, 0, nullptr, DF_MATRIX_STORAGE_ROWS);
  status = dfdSearchCells1D(task, DF_METHOD_STD, NBSite, sites, DF_NON_UNIFORM_PARTITION, nullptr, cellIds);

  for (int i = 0; i &amp;lt; NBSite; ++i)
    printf("site: %lf\tcellId: %d\n", sites&lt;I&gt;, cellIds&lt;I&gt;);
&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;Here is my output with Composer 16:&lt;/P&gt;

&lt;P&gt;site: -0.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 0&lt;BR /&gt;
	site: 0.000000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 1&lt;BR /&gt;
	site: 0.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 1&lt;BR /&gt;
	site: 1.000000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 2&lt;BR /&gt;
	site: 1.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 2&lt;BR /&gt;
	&lt;STRONG&gt;site: 2.000000&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;cellId: 3&lt;/STRONG&gt;&lt;BR /&gt;
	site: 2.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 3&lt;/P&gt;

&lt;P&gt;So, the behaviour was clear and consistent:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;  // dfdSearchCells1D returns:
  // 0    if site is less than first breakpoint
  // i+1  if breakpoint&lt;I&gt; &amp;lt;= site &amp;lt; breakpoint[i+1]&lt;/I&gt;&lt;/PRE&gt;

&lt;P&gt;But here is my output with Composer 16 &lt;STRONG&gt;update 3&lt;/STRONG&gt;:&lt;/P&gt;

&lt;P&gt;site: -0.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 0&lt;BR /&gt;
	site: 0.000000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 1&lt;BR /&gt;
	site: 0.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 1&lt;BR /&gt;
	site: 1.000000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 2&lt;BR /&gt;
	site: 1.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 2&lt;BR /&gt;
	&lt;STRONG&gt;site: 2.000000&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;cellId: 2&lt;/STRONG&gt;&lt;BR /&gt;
	site: 2.500000&amp;nbsp;&amp;nbsp;&amp;nbsp; cellId: 3&lt;/P&gt;

&lt;P&gt;I am expecting to get 3 as result for ''site = 2.0 = maxBreakpoint''.&lt;/P&gt;

&lt;P&gt;It&lt;B&gt; &lt;/B&gt;is annoying that there is not anymore consistency. Now, in my case, I have to check manually if my site is or not on the last breakpoint.&lt;/P&gt;

&lt;P&gt;Is that a bug or the expected behaviour ? (the documentation is really really poor about this routine....)&lt;/P&gt;

&lt;P&gt;Thanks in advance for your answer,&lt;/P&gt;

&lt;P&gt;Guix&lt;/P&gt;</description>
      <pubDate>Wed, 31 Aug 2016 18:00:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118554#M24825</guid>
      <dc:creator>Guillaume_A_2</dc:creator>
      <dc:date>2016-08-31T18:00:08Z</dc:date>
    </item>
    <item>
      <title>Hi Guillaume! </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118555#M24826</link>
      <description>&lt;P&gt;Hi&amp;nbsp;Guillaume!&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Yes, this is expected result. We changed the behavior of this function based on user's feedback. With regard to documentation - You are right. We have to add some Notification about this topic. It will be done asap. Thanks for the feedback.&lt;/P&gt;

&lt;P&gt;-Gennady&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 06:55:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118555#M24826</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-09-01T06:55:42Z</dc:date>
    </item>
    <item>
      <title>Thanks for your reply Gennady</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118556#M24827</link>
      <description>&lt;P&gt;Thanks for your reply Gennady.&lt;/P&gt;

&lt;P&gt;I cannot figure out how others users deal efficiently that kind of result... how can they know if their sitePoints are on the last breakPoint or on the penultimate or between those two points ?&lt;/P&gt;

&lt;P&gt;It is illogical: The routine was typically rightContinuous, and now it is still rightContinuous &lt;STRONG&gt;except for last breakPoint&lt;/STRONG&gt;.&lt;/P&gt;

&lt;P&gt;A parameter to set right or left continuous behavior could be a good thing.&lt;/P&gt;

&lt;P&gt;Guix&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 08:34:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118556#M24827</guid>
      <dc:creator>Guillaume_A_2</dc:creator>
      <dc:date>2016-09-01T08:34:18Z</dc:date>
    </item>
    <item>
      <title>Hi Guillaume, we analyze your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118557#M24828</link>
      <description>&lt;P&gt;Hi Guillaume, we analyze your request to understand options&amp;nbsp;to address it. Thanks, Andrey&lt;/P&gt;</description>
      <pubDate>Tue, 06 Sep 2016 07:43:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/df-dSearchCells1D-give-different-result-between-Composer-16-and/m-p/1118557#M24828</guid>
      <dc:creator>Andrey_N_Intel</dc:creator>
      <dc:date>2016-09-06T07:43:18Z</dc:date>
    </item>
  </channel>
</rss>

