<html>#2886: support cell centered directions when calling Fortran scheduled functions
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'> Status:</td><td>open</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>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>
<p>Comment (by Roland Haas):</p>
<p>A somehwat ugly workaround right now would be use of Fortran 2003’s <code>iso_c_binding</code> module and using C pointers as intermediate pointers as in <a data-is-external-link="true" href="https://gcc.gnu.org/onlinedocs/gfortran/C_005fF_005fPOINTER.html" rel="nofollow">https://gcc.gnu.org/onlinedocs/gfortran/C_005fF_005fPOINTER.html</a></p>
<div class="codehilite language-fortran"><pre><span></span><code> <span class="k">program </span><span class="n">main</span>
<span class="k">use </span><span class="nb">iso_c_binding</span>
<span class="nb"> </span><span class="k">implicit none</span>
<span class="k"> interface</span>
<span class="k"> subroutine </span><span class="n">my_routine</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">bind</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="n">name</span><span class="o">=</span><span class="s1">'myC_func'</span><span class="p">)</span>
<span class="k">import</span> <span class="kd">::</span> <span class="kt">c_ptr</span>
<span class="kt"> </span><span class="k">type</span><span class="p">(</span><span class="kt">c_ptr</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">out</span><span class="p">)</span> <span class="kd">::</span> <span class="n">p</span>
<span class="k">end subroutine</span>
<span class="k"> end interface</span>
<span class="k"> type</span><span class="p">(</span><span class="kt">c_ptr</span><span class="p">)</span> <span class="kd">::</span> <span class="n">cptr</span>
<span class="kt">real</span><span class="p">,</span><span class="k">pointer</span> <span class="kd">::</span> <span class="n">a</span><span class="p">(:)</span>
<span class="k">call </span><span class="n">my_routine</span><span class="p">(</span><span class="n">cptr</span><span class="p">)</span>
<span class="k">call </span><span class="nb">c_f_pointer</span><s
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2886/support-cell-centered-directions-when'>https://bitbucket.org/einsteintoolkit/tickets/issues/2886/support-cell-centered-directions-when</a></p>
</html>