<html>#2758: conditional read/write statements
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Samuel Cupp</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>enhancement</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>
<p>Currently, if a function reads or writes variables only under certain conditions, proper scheduling within the schedule.ccl would require duplicating the entire function schedule for every possibility. As a simple example,</p>
<div class="codehilite"><pre><span></span><span>if(CCTK_EQUALS(EOS, "Tabulated")) {</span>
<span> schedule func at bin</span>
<span> {</span>
<span> LANG: C</span>
<span> READS: var1</span>
<span> WRITES: var2, var3</span>
<span> }</span>
<span>} else {</span>
<span> schedule func at bin</span>
<span> {</span>
<span> LANG: C</span>
<span> READS: var1</span>
<span> WRITES: var2</span>
<span> }</span>
<span>}</span>
</pre></div>
<p>Instead, having the ability to set these conditionals within the function scheduling like</p>
<div class="codehilite"><pre><span></span><span>schedule func at bin</span>
<span>{</span>
<span> LANG: C</span>
<span> READS: var1</span>
<span> WRITES: var2</span>
<span> if(CCTK_EQUALS(EOS, "Tabulated")) {</span>
<span> WRITES: var3</span>
<span> }</span>
<span>}</span>
</pre></div>
<p>would make this scheduling much more compact <strong>and</strong> more readable.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2758/conditional-read-write-statements'>https://bitbucket.org/einsteintoolkit/tickets/issues/2758/conditional-read-write-statements</a></p>
</html>