|
689 | 689 | <div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> <span class="comment">// auto *const out_end = out.end();</span></div> |
690 | 690 | <div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> </div> |
691 | 691 | <div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> <span class="keyword">auto</span> y_start = glid;</div> |
692 | | -<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> <span class="keyword">auto</span> y_stop = std::min(y_start + WorkPI*results.size_x(), out.size());</div> |
693 | | -<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> int32_t i = 0;</div> |
694 | | -<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> <span class="keywordflow">for</span> (uint32_t y = y_start; y < y_stop; y+=results.size_x())</div> |
695 | | -<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> {</div> |
| 692 | +<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> <span class="keyword">auto</span> y_stop =</div> |
| 693 | +<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> std::min(y_start + WorkPI * results.size_x(), out.size());</div> |
| 694 | +<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> int32_t i = 0;</div> |
| 695 | +<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">for</span> (uint32_t y = y_start; y < y_stop; y += results.size_x()) {</div> |
696 | 696 | <div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> out_ptr[y] = results[i++];</div> |
697 | 697 | <div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> }</div> |
698 | | -<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="comment">// due to excessive optimizations this code results in memory corruption</span></div> |
699 | | -<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> <span class="comment">// results.store(&out_ptr[glid],</span></div> |
| 698 | +<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="comment">// due to excessive optimizations this code results in memory</span></div> |
| 699 | +<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> <span class="comment">// corruption results.store(&out_ptr[glid],</span></div> |
700 | 700 | <div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> <span class="comment">// [out_end](auto &&ptr) { return ptr < out_end; });</span></div> |
701 | 701 | <div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> });</div> |
702 | 702 | <div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span>}</div> |
|
759 | 759 | <div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> <span class="comment">// auto *const out_end = out.end();</span></div> |
760 | 760 | <div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> </div> |
761 | 761 | <div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> <span class="keyword">auto</span> y_start = glid;</div> |
762 | | -<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> <span class="keyword">auto</span> y_stop = std::min(y_start + WorkPI*results.size_x(), out.size());</div> |
763 | | -<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> int32_t i = 0;</div> |
764 | | -<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">for</span> (uint32_t y = y_start; y < y_stop; y+=results.size_x())</div> |
765 | | -<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> {</div> |
| 762 | +<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> <span class="keyword">auto</span> y_stop =</div> |
| 763 | +<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> std::min(y_start + WorkPI * results.size_x(), out.size());</div> |
| 764 | +<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> int32_t i = 0;</div> |
| 765 | +<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> <span class="keywordflow">for</span> (uint32_t y = y_start; y < y_stop; y += results.size_x()) {</div> |
766 | 766 | <div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> out_ptr[y] = results[i++];</div> |
767 | 767 | <div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> }</div> |
768 | | -<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> <span class="comment">// due to excessive optimizations this code results in memory corruption</span></div> |
769 | | -<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> <span class="comment">// results.store(&out_ptr[glid],</span></div> |
| 768 | +<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> <span class="comment">// due to excessive optimizations this code results in memory</span></div> |
| 769 | +<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> <span class="comment">// corruption results.store(&out_ptr[glid],</span></div> |
770 | 770 | <div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> <span class="comment">// [out_end](auto &&ptr) { return ptr < out_end; });</span></div> |
771 | 771 | <div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> });</div> |
772 | 772 | <div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span>}</div> |
|
0 commit comments