diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2017-12-21 22:20:53 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2017-12-22 00:45:48 -0800 |
commit | fa708f553a3c314aa1eda75cee3c4e5e3b4f40db (patch) | |
tree | 2ad692ae2c9ebe177bbf9ad4073eaffc58dce4d5 /html/032array.cc.html | |
parent | fe8bf967a945c7d9e6aba36e42518262d54bd348 (diff) | |
download | mu-fa708f553a3c314aa1eda75cee3c4e5e3b4f40db.tar.gz |
4162
Diffstat (limited to 'html/032array.cc.html')
-rw-r--r-- | html/032array.cc.html | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/html/032array.cc.html b/html/032array.cc.html index 469d3fd7..a1426054 100644 --- a/html/032array.cc.html +++ b/html/032array.cc.html @@ -120,7 +120,7 @@ if ('onhashchange' in window) { <span id="L55" class="LineNr"> 55 </span> type_tree* array_length_from_type = product<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">;</span> <span id="L56" class="LineNr"> 56 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!product<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>atom<span class="Delimiter">)</span> <span id="L57" class="LineNr"> 57 </span> <span class="Conceal">¦</span> array_length_from_type = array_length_from_type<span class="Delimiter">-></span>left<span class="Delimiter">;</span> -<span id="L58" class="LineNr"> 58 </span> <span class="Normal">int</span> <a href='032array.cc.html#L397'>array_length</a> = <a href='002test.cc.html#L91'>to_integer</a><span class="Delimiter">(</span>array_length_from_type<span class="Delimiter">-></span>name<span class="Delimiter">);</span> +<span id="L58" class="LineNr"> 58 </span> <span class="Normal">int</span> <a href='032array.cc.html#L397'>array_length</a> = to_integer<span class="Delimiter">(</span>array_length_from_type<span class="Delimiter">-></span>name<span class="Delimiter">);</span> <span id="L59" class="LineNr"> 59 </span> <span class="Comment">// initialize array length, so that size_of will work</span> <span id="L60" class="LineNr"> 60 </span> <a href='003trace.cc.html#L167'>trace</a><span class="Delimiter">(</span><span class="Constant">"mem"</span><span class="Delimiter">)</span> << <span class="Constant">"storing "</span> << <a href='032array.cc.html#L397'>array_length</a> << <span class="Constant">" in location "</span> << base_address << <a href='003trace.cc.html#L203'>end</a><span class="Delimiter">();</span> <span id="L61" class="LineNr"> 61 </span> <a href='001help.cc.html#L221'>put</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> base_address<span class="Delimiter">,</span> <a href='032array.cc.html#L397'>array_length</a><span class="Delimiter">);</span> <span class="Comment">// in array elements</span> @@ -181,9 +181,9 @@ if ('onhashchange' in window) { <span id="L116" class="LineNr">116 </span><span class="Delimiter">:(code)</span> <span id="L117" class="LineNr">117 </span><span class="Normal">int</span> <a href='032array.cc.html#L117'>static_array_length</a><span class="Delimiter">(</span><span class="Normal">const</span> type_tree* type<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L118" class="LineNr">118 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!type<span class="Delimiter">-></span>atom && type<span class="Delimiter">-></span>right && !type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>atom && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right && !type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>atom && !type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right <span class="Comment">// exactly 3 types</span> -<span id="L119" class="LineNr">119 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && <a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// third 'type' is a number</span> +<span id="L119" class="LineNr">119 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && is_integer<span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// third 'type' is a number</span> <span id="L120" class="LineNr">120 </span> <span class="Conceal">¦</span> <span class="Comment">// get size from type</span> -<span id="L121" class="LineNr">121 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> <a href='002test.cc.html#L91'>to_integer</a><span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">);</span> +<span id="L121" class="LineNr">121 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> to_integer<span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">);</span> <span id="L122" class="LineNr">122 </span> <span class="Delimiter">}</span> <span id="L123" class="LineNr">123 </span> cerr << <a href='028call_return.cc.html#L163'>to_string</a><span class="Delimiter">(</span>type<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span><span class="Delimiter">;</span> <span id="L124" class="LineNr">124 </span> assert<span class="Delimiter">(</span><span class="Constant">false</span><span class="Delimiter">);</span> @@ -205,7 +205,7 @@ if ('onhashchange' in window) { <span id="L140" class="LineNr">140 </span>$error: <span class="Constant">0</span> <span id="L141" class="LineNr">141 </span> <span id="L142" class="LineNr">142 </span><span class="Delimiter">:(before "End <a href='030container.cc.html#L661'>insert_container</a> Special-cases")</span> -<span id="L143" class="LineNr">143 </span><span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span><a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span>type<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// sometimes types will contain non-type tags, like numbers for the size of an array</span> +<span id="L143" class="LineNr">143 </span><span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_integer<span class="Delimiter">(</span>type<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// sometimes types will contain non-type tags, like numbers for the size of an array</span> <span id="L144" class="LineNr">144 </span> type<span class="Delimiter">-></span>value = <span class="Constant">0</span><span class="Delimiter">;</span> <span id="L145" class="LineNr">145 </span><span class="Delimiter">}</span> <span id="L146" class="LineNr">146 </span> @@ -452,7 +452,7 @@ if ('onhashchange' in window) { <span id="L387" class="LineNr">387 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">;</span> <span id="L388" class="LineNr">388 </span> <span class="Delimiter">}</span> <span id="L389" class="LineNr">389 </span> <span class="Comment">// hack: support array:num:3 without requiring extra parens</span> -<span id="L390" class="LineNr">390 </span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && <a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> +<span id="L390" class="LineNr">390 </span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && is_integer<span class="Delimiter">(</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span id="L391" class="LineNr">391 </span> <span class="Conceal">¦</span> assert<span class="Delimiter">(</span>!type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">);</span> <span id="L392" class="LineNr">392 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">;</span> <span id="L393" class="LineNr">393 </span> <span class="Delimiter">}</span> @@ -463,9 +463,9 @@ if ('onhashchange' in window) { <span id="L398" class="LineNr">398 </span> <span class="Comment">// x should already be canonized.</span> <span id="L399" class="LineNr">399 </span> <span class="Comment">// hack: look for length in type</span> <span id="L400" class="LineNr">400 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>atom && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right && !x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>atom && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right && !x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>atom && !x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right <span class="Comment">// exactly 3 types</span> -<span id="L401" class="LineNr">401 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && <a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span>x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// third 'type' is a number</span> +<span id="L401" class="LineNr">401 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left && x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>atom && is_integer<span class="Delimiter">(</span>x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span class="Comment">// third 'type' is a number</span> <span id="L402" class="LineNr">402 </span> <span class="Conceal">¦</span> <span class="Comment">// get size from type</span> -<span id="L403" class="LineNr">403 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> <a href='002test.cc.html#L91'>to_integer</a><span class="Delimiter">(</span>x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">);</span> +<span id="L403" class="LineNr">403 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> to_integer<span class="Delimiter">(</span>x<span class="Delimiter">.</span>type<span class="Delimiter">-></span>right<span class="Delimiter">-></span>right<span class="Delimiter">-></span>left<span class="Delimiter">-></span>name<span class="Delimiter">);</span> <span id="L404" class="LineNr">404 </span> <span class="Delimiter">}</span> <span id="L405" class="LineNr">405 </span> <span class="Comment">// this should never happen at transform time</span> <span id="L406" class="LineNr">406 </span> <span class="Identifier">return</span> <a href='001help.cc.html#L229'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> x<span class="Delimiter">.</span>value<span class="Delimiter">);</span> |