<html>#2741: Some thorns seem to incorrectly use CCTK_GFINDEX4D
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Gabriele Bozzola</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>EinsteinToolkit thorn</td></tr>
</table>

<p>A student in my group found the following problem in <code>ID_converter_ILGRMHD</code>:</p>
<p>If you compile Einstein Toolkit in debug mode, the code crashes. This is due to the function <code>CCTK_GFINDEX4D</code> that is used in some thorns (such as <code>ID_converter_ILGRMHD</code>). The function is used to unroll a vector index into a linear one:</p>
<div class="codehilite language-c"><pre><span></span><span class="kt">int</span> <span class="nf">CCTK_GFIndex4D</span> <span class="p">(</span><span class="k">const</span> <span class="n">cGH</span> <span class="o">*</span><span class="n">GH</span><span class="p">,</span> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="kt">int</span> <span class="n">j</span><span class="p">,</span> <span class="kt">int</span> <span class="n">k</span><span class="p">,</span> <span class="kt">int</span> <span class="n">l</span><span class="p">)</span>
<span class="p">{</span>
<span class="cp">#ifdef CCTK_DEBUG</span>
  <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o"><</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">i</span> <span class="o">>=</span> <span class="n">GH</span><span class="o">-></span><span class="n">cctk_lsh</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">||</span>
      <span class="n">j</span> <span class="o"><</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">j</span> <span class="o">>=</span> <span class="n">GH</span><span class="o">-></span><span class="n">cctk_lsh</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">||</span>
      <span class="n">k</span> <span class="o"><</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">k</span> <span class="o">>=</span> <span class="n">GH</span><span class="o">-></span><span class="n">cctk_lsh</span><span class="p">[</span><span class="mi">2</s
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2741/some-thorns-seem-to-incorrectly-use'>https://bitbucket.org/einsteintoolkit/tickets/issues/2741/some-thorns-seem-to-incorrectly-use</a></p>
</html>