<div dir="ltr"><div><div><div><div>Hi,<br><br></div>was going through the test given in /dune-istl/dune/istl/test yesterday night.<br><br></div>In bcrsbuild.cc the function called to print the matrix is printmatrix(). But if any row whose any index has not been added into the matrix and is printed using the above mentioned function we get a segmentation fault. So it would be better if we use printSparseMatrix() function instead of just printmatrix() as the former one seems to be working fine when handling sparsematrices.<br>
<br></div><div>I hope all this solves the problems mentioned in bug report ID 1280. If some more test have to performed or if m missing some cases I would be happy to try solving them. :)<br></div><div><br></div>Thanking you,<br>
</div>Tilak Raj Singh<br><div><div><div><div><div><div style id="__af745f8f43-e961-4b88-8424-80b67790c964__">and is then printed using this func we are getting a segmentation fa</div></div></div></div></div></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Apr 17, 2013 at 3:12 AM, Tilak Raj Singh <span dir="ltr"><<a href="mailto:tilak72@gmail.com" target="_blank">tilak72@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi Markus,<div><br></div><div>Sorry for not replying yesterday as I was not able to work on it due to personal reasons.</div><div><br></div><div>I went through the bug report I told you about earlier regarding segmentation fault while accessing empty rows in BCRS matrix. </div>


<div><br></div><div>According to me, with reference to the Bug Id 1280., the following changes are to be made:</div><div><br></div><div><pre style="line-height:15px;overflow:auto;font-size:9pt;background-color:rgb(251,252,253);margin:4px 8px 4px 2px;font-family:monospace,fixed;word-wrap:break-word;padding:4px 6px;border:1px solid rgb(196,207,229)">
<span style="color:rgb(224,128,0)">if</span> (row >= n)
<a href="http://www.dune-project.org/doc-2.2.0/doxygen/html/group__Exceptions.html#gad7fce127d6eaabe773adbc409514f21e" style="color:rgb(70,101,162);text-decoration:none" target="_blank">DUNE_THROW</a>(<a href="http://www.dune-project.org/doc-2.2.0/doxygen/html/classDune_1_1ISTLError.html" title="derive error class from the base class in common" style="color:rgb(70,101,162);text-decoration:none" target="_blank">ISTLError</a>,<span style="color:rgb(0,32,128)">"row index exceeds matrix size"</span>);
</pre><div><pre style="line-height:15px;overflow:auto;font-size:9pt;background-color:rgb(251,252,253);margin:4px 8px 4px 2px;font-family:monospace,fixed;word-wrap:break-word;padding:4px 6px;border:1px solid rgb(196,207,229)">
This code is to be added before the following lines in the function 'addindex' in bcrsmatrix.hh:</pre><pre style="line-height:15px;overflow:auto;font-size:9pt;background-color:rgb(251,252,253);margin:4px 8px 4px 2px;font-family:monospace,fixed;word-wrap:break-word;padding:4px 6px;border:1px solid rgb(196,207,229)">
00823           <span style="color:rgb(224,128,0)">if</span> (col >= m)
<a name="13e14cc89fe50f7d_13e14cb1c7726ae1_l00824" style="color:rgb(89,116,181)"></a>00824             <a href="http://www.dune-project.org/doc-2.2.0/doxygen/html/group__Exceptions.html#gad7fce127d6eaabe773adbc409514f21e" style="color:rgb(70,101,162);text-decoration:none" target="_blank">DUNE_THROW</a>(<a href="http://www.dune-project.org/doc-2.2.0/doxygen/html/classDune_1_1ISTLError.html" title="derive error class from the base class in common" style="color:rgb(70,101,162);text-decoration:none" target="_blank">ISTLError</a>,<span style="color:rgb(0,32,128)">"column index exceeds matrix size"</span>);
</pre></div><div><br></div><div>If we are making a matrix of size 4x4 in random built mode and we try inserting the index (4,0) or (5,0), then we get a segmentation fault so we should add this condition. </div><div>
<br></div><div>As mentioned in the bug report, there is no segmentation fault while accessing elements (eg. a[0][1]) but the fault is in the function 'printmatrix' in the file io.hh where trying to print a row having no data in any of its columns gives a segmentation fault.</div>


<div><br></div><div>I am going through this issue. I'll try to provide a solution as early as possible.</div><div><br></div><div>Also, according to me, there is no need for the function 'print_row' specializations for Field Matrix <K, 1, 1> as its purpose can be solved easily using the print_row function just above it.</div>

<div><br></div><div>Thanking You,</div><div>Tilak Raj Singh</div>
<div><br></div></div></div>
</blockquote></div><br></div>