Both sides previous revisionPrevious revisionNext revision | Previous revision |
docs:tutorial [2021/02/04 20:56] – fix excersise 5 hnv | docs:tutorial [2022/05/06 09:39] (current) – minor fix hnv |
---|
<head> | <head> |
<title>Contents</title> | <title>Contents</title> |
<!-- Generated on Thu Feb 4 20:42:00 2021 by LaTeXML (version 0.8.5) http://dlmf.nist.gov/LaTeXML/. --> | <!-- Generated on Mon Mar 14 17:52:01 2022 by LaTeXML (version 0.8.5) http://dlmf.nist.gov/LaTeXML/. --> |
| |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> | <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> |
<!-- autoinlined `/home/hans/git/sac/docs/tutorial/html/LaTeXML.css' --> | <!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/LaTeXML.css' --> |
<style type='text/css'> | <style type='text/css'> |
/*====================================================================== | /*====================================================================== |
</style> | </style> |
| |
<!-- autoinlined `/home/hans/git/sac/docs/tutorial/html/ltx-report.css' --> | <!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/ltx-report.css' --> |
<style type='text/css'> | <style type='text/css'> |
| |
</style> | </style> |
| |
<!-- autoinlined `/home/hans/git/sac/docs/tutorial/html/ltx-listings.css' --> | <!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/ltx-listings.css' --> |
<style type='text/css'> | <style type='text/css'> |
| |
| |
<link rel='stylesheet' href='http://www.sac-home.org/lib/tpl/bootstrap3/assets/bootstrap/journal/bootstrap.min.css' type='text/css'> | <link rel='stylesheet' href='http://www.sac-home.org/lib/tpl/bootstrap3/assets/bootstrap/journal/bootstrap.min.css' type='text/css'> |
<!-- autoinlined `/home/hans/git/sac/docs/tutorial/html/html/tutorial.css' --> | <!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/html/tutorial.css' --> |
<style type='text/css'> | <style type='text/css'> |
/*body { | /*body { |
<span class='ltx_text' style='font-size:298%;'>TUTORIAL | <span class='ltx_text' style='font-size:298%;'>TUTORIAL |
<br class='ltx_break'></span> | <br class='ltx_break'></span> |
<span class='ltx_text' style='font-size:144%;'>VERSION 1.2.1</span></p> | <span class='ltx_text' style='font-size:144%;'>VERSION 1.2.3</span></p> |
<p class='ltx_p'><span class='ltx_text ltx_font_smallcaps' style='font-size:144%;'>Sven-Bodo Scholz<span class='ltx_text ltx_font_upright'> </span>Stephan Herhut | <p class='ltx_p'><span class='ltx_text ltx_font_smallcaps' style='font-size:144%;'>Sven-Bodo Scholz<span class='ltx_text ltx_font_upright'> </span>Stephan Herhut |
<br class='ltx_break'>Frank Penczek<span class='ltx_text ltx_font_upright'> </span>Clemens Grelck | <br class='ltx_break'>Frank Penczek<span class='ltx_text ltx_font_upright'> </span>Clemens Grelck |
<br class='ltx_break'>Artem Shinkarov<span class='ltx_text ltx_font_upright'> </span>Hans-Nikolai Vießmann | <br class='ltx_break'>Artem Shinkarov<span class='ltx_text ltx_font_upright'> </span>Hans-Nikolai Vießmann |
<br class='ltx_break'></span></p> | <br class='ltx_break'></span></p> |
<p class='ltx_p'><span class='ltx_text ltx_font_smallcaps' style='font-size:120%;'>February 4, 2021</span></p> | <p class='ltx_p'><span class='ltx_text ltx_font_smallcaps' style='font-size:120%;'>March 14, 2022</span></p> |
</div> | </div> |
<div class='ltx_TOC ltx_role_contents'> | <div class='ltx_TOC ltx_role_contents'> |
<a href='#Ch9.S1' title='9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1 </span>Lesson: States and Objects — the basics</span></a> | <a href='#Ch9.S1' title='9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1 </span>Lesson: States and Objects — the basics</span></a> |
<ul class='ltx_toclist ltx_toclist_section'> | <ul class='ltx_toclist ltx_toclist_section'> |
<li class='ltx_tocentry ltx_tocentry_subsection'><a href='#Ch9.S1.SS1' title='9.1.1 Extending Classes ‣ 9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1.1 </span>Extending Classes</span></a></li> | <li class='ltx_tocentry ltx_tocentry_subsection'><a href='#Ch9.S1.SS1' title='9.1.1 Reference Parameters ‣ 9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1.1 </span>Reference Parameters</span></a></li> |
<li class='ltx_tocentry ltx_tocentry_subsection'><a href='#Ch9.S1.SS2' title='9.1.2 States using Classes ‣ 9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1.2 </span>States using Classes</span></a></li> | <li class='ltx_tocentry ltx_tocentry_subsection'><a href='#Ch9.S1.SS2' title='9.1.2 Global Objects ‣ 9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1.2 </span>Global Objects</span></a></li> |
<li class='ltx_tocentry ltx_tocentry_subsection'><a href='#Ch9.S1.SS3' title='9.1.3 Global Objects ‣ 9.1 Lesson: States and Objects — the basics ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.1.3 </span>Global Objects</span></a></li> | |
</ul> | </ul> |
</li> | </li> |
<li class='ltx_tocentry ltx_tocentry_section'><a href='#Ch9.S2' title='9.2 Lesson: Nondeterminism through Shared State in Wihth-Loops ‣ Chapter 9 Dealing with I/O and State in General ‣ Part II Trails Covering More Advanced Features of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_title'><span class='ltx_tag ltx_tag_ref'>9.2 </span>Lesson: Nondeterminism through Shared State in Wihth-Loops</span></a></li> | |
</ul> | </ul> |
</li> | </li> |
<div id='Ch1.S1.I1.i2.p1' class='ltx_para'> | <div id='Ch1.S1.I1.i2.p1' class='ltx_para'> |
<p class='ltx_p'>The <span class='ltx_text ltx_font_bold'>SaC compiler</span> <span class='ltx_text ltx_font_typewriter'>sac2c</span>. It can be downloaded at | <p class='ltx_p'>The <span class='ltx_text ltx_font_bold'>SaC compiler</span> <span class='ltx_text ltx_font_typewriter'>sac2c</span>. It can be downloaded at |
<a href='http://www.sac-home.org' title='' class='ltx_ref ltx_url ltx_font_typewriter'>http://www.sac-home.org</a>; see instructions in the Download | <a href='https://www.sac-home.org' title='' class='ltx_ref ltx_url ltx_font_typewriter'>https://www.sac-home.org</a>; see instructions in the Download |
section.</p> | section.</p> |
</div> | </div> |
<div id='Ch1.S1.I1.i3.p1' class='ltx_para'> | <div id='Ch1.S1.I1.i3.p1' class='ltx_para'> |
<p class='ltx_p'>The <span class='ltx_text ltx_font_bold'>SaC standard library</span> can be downloaded from GitHub | <p class='ltx_p'>The <span class='ltx_text ltx_font_bold'>SaC standard library</span> can be downloaded from GitHub |
<a href='http://www.github.com/SacBase/stdlib-core' title='' class='ltx_ref ltx_url ltx_font_typewriter'>http://www.github.com/SacBase/stdlib-core</a>. The process | <a href='https://www.github.com/SacBase/Stdlib' title='' class='ltx_ref ltx_url ltx_font_typewriter'>https://www.github.com/SacBase/Stdlib</a>. The process |
of installation is described in README.md file of the stdlib | of installation is described in README.md file of the stdlib |
repository.</p> | repository.</p> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 1: </span>Hello World</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 1: </span>Hello World</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgcHJpbnRmKCJIZWxsbyBXb3JsZCFcbiIpOwogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBwcmludGYoIkhlbGxvIFdvcmxkIVxuIik7CiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx1' class='ltx_listingline'> | <div id='lstnumberx1' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx2' class='ltx_listingline'> | <div id='lstnumberx2' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx3' class='ltx_listingline'> | <div id='lstnumberx3' class='ltx_listingline'> |
<div id='lstnumberx4' class='ltx_listingline'> | <div id='lstnumberx4' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx5' class='ltx_listingline'> | <div id='lstnumberx5' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx6' class='ltx_listingline'> | <div id='lstnumberx6' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx7' class='ltx_listingline'> | <div id='lstnumberx7' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx8' class='ltx_listingline'> | <div id='lstnumberx8' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 2: </span>Typical shell session</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 2: </span>Typical shell session</figcaption> |
<div class='ltx_listing ltx_lst_language_bash ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_bash ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,JCBjZCAvaG9tZS9zYnMvc2FjLwokIGxzCndvcmxkLnNhYwokIHNhYzJjICB3b3JsZC5zYWMKJCBscwphLm91dCAgICAgIGEub3V0LmMgICAgd29ybGQuc2FjCiQgYS5vdXQKSGVsbG8gV29ybGQh'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,ICQgY2QgL2hvbWUvc2JzL3NhYy8KICQgbHMKIHdvcmxkLnNhYwogJCBzYWMyYyAgd29ybGQuc2FjCiAkIGxzCiBhLm91dCAgICAgIGEub3V0LmMgICAgd29ybGQuc2FjCiAkIGEub3V0CiBIZWxsbyBXb3JsZCE='>⬇</a></div> |
<div id='lstnumberx9' class='ltx_listingline'>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>cd</span><span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_identifier'>home</span>/<span class='ltx_text ltx_lst_identifier'>sbs</span>/<span class='ltx_text ltx_lst_identifier'>sac</span>/ | <div id='lstnumberx9' class='ltx_listingline'> |
| <span class='ltx_text ltx_lst_space'> </span>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>cd</span><span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_identifier'>home</span>/<span class='ltx_text ltx_lst_identifier'>sbs</span>/<span class='ltx_text ltx_lst_identifier'>sac</span>/ |
</div> | </div> |
<div id='lstnumberx10' class='ltx_listingline'>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ls</span> | <div id='lstnumberx10' class='ltx_listingline'> |
| <span class='ltx_text ltx_lst_space'> </span>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ls</span> |
</div> | </div> |
<div id='lstnumberx11' class='ltx_listingline'> | <div id='lstnumberx11' class='ltx_listingline'> |
<span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> |
</div> | </div> |
<div id='lstnumberx12' class='ltx_listingline'>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sac2c</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> | <div id='lstnumberx12' class='ltx_listingline'> |
| <span class='ltx_text ltx_lst_space'> </span>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sac2c</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> |
</div> | </div> |
<div id='lstnumberx13' class='ltx_listingline'>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ls</span> | <div id='lstnumberx13' class='ltx_listingline'> |
| <span class='ltx_text ltx_lst_space'> </span>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ls</span> |
</div> | </div> |
<div id='lstnumberx14' class='ltx_listingline'> | <div id='lstnumberx14' class='ltx_listingline'> |
<span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span>.<span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span>.<span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>world</span>.<span class='ltx_text ltx_lst_identifier'>sac</span> |
</div> | </div> |
<div id='lstnumberx15' class='ltx_listingline'>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span> | <div id='lstnumberx15' class='ltx_listingline'> |
| <span class='ltx_text ltx_lst_space'> </span>$<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>.<span class='ltx_text ltx_lst_identifier'>out</span> |
</div> | </div> |
<div id='lstnumberx16' class='ltx_listingline'> | <div id='lstnumberx16' class='ltx_listingline'> |
<span class='ltx_text ltx_lst_identifier'>Hello</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>World</span>! | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Hello</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>World</span>! |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 3: </span>Defining Arrays I</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 3: </span>Defining Arrays I</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgcHJpbnQocmVzaGFwZShbNV0sIFsxLDIsMyw0LDVdKSk7CiAgcHJpbnQocmVzaGFwZShbMywyXSwgWzEsMiwzLDQsNSw2XSkpOwogIHByaW50KHJlc2hhcGUoWzMsMiwxXSwgWzEsMiwzLDQsNSw2XSkpOwogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBwcmludChyZXNoYXBlKFs1XSwgWzEsMiwzLDQsNV0pKTsKICAgcHJpbnQocmVzaGFwZShbMywyXSwgWzEsMiwzLDQsNSw2XSkpOwogICBwcmludChyZXNoYXBlKFszLDIsMV0sIFsxLDIsMyw0LDUsNl0pKTsKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx17' class='ltx_listingline'> | <div id='lstnumberx17' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx18' class='ltx_listingline'> | <div id='lstnumberx18' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx19' class='ltx_listingline'> | <div id='lstnumberx19' class='ltx_listingline'> |
<div id='lstnumberx20' class='ltx_listingline'> | <div id='lstnumberx20' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx21' class='ltx_listingline'> | <div id='lstnumberx21' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx22' class='ltx_listingline'> | <div id='lstnumberx22' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([5],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([5],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5])); |
</div> | </div> |
<div id='lstnumberx23' class='ltx_listingline'> | <div id='lstnumberx23' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([3,2],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([3,2],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6])); |
</div> | </div> |
<div id='lstnumberx24' class='ltx_listingline'> | <div id='lstnumberx24' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([3,2,1],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([3,2,1],<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6])); |
</div> | </div> |
<div id='lstnumberx25' class='ltx_listingline'> | <div id='lstnumberx25' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx26' class='ltx_listingline'> | <div id='lstnumberx26' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 4: </span>Defining Arrays II</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 4: </span>Defining Arrays II</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgcHJpbnQocmVzaGFwZShbMV0sIFsxXSkpOwogIHByaW50KHJlc2hhcGUoW10sIFsxXSkpOwogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBwcmludChyZXNoYXBlKFsxXSwgWzFdKSk7CiAgIHByaW50KHJlc2hhcGUoW10sIFsxXSkpOwogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx27' class='ltx_listingline'> | <div id='lstnumberx27' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx28' class='ltx_listingline'> | <div id='lstnumberx28' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx29' class='ltx_listingline'> | <div id='lstnumberx29' class='ltx_listingline'> |
<div id='lstnumberx30' class='ltx_listingline'> | <div id='lstnumberx30' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx31' class='ltx_listingline'> | <div id='lstnumberx31' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx32' class='ltx_listingline'> | <div id='lstnumberx32' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([1],<span class='ltx_text ltx_lst_space'> </span>[1])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([1],<span class='ltx_text ltx_lst_space'> </span>[1])); |
</div> | </div> |
<div id='lstnumberx33' class='ltx_listingline'> | <div id='lstnumberx33' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([],<span class='ltx_text ltx_lst_space'> </span>[1])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reshape</span>([],<span class='ltx_text ltx_lst_space'> </span>[1])); |
</div> | </div> |
<div id='lstnumberx34' class='ltx_listingline'> | <div id='lstnumberx34' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx35' class='ltx_listingline'> | <div id='lstnumberx35' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 5: </span>Shortcut Notation for Arrays</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 5: </span>Shortcut Notation for Arrays</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgcHJpbnQoMSk7CiAgcHJpbnQoWzEsMiwzLDQsNV0pOwogIHByaW50KFtbMSwyXSwgWzMsNF0sIFs1LDZdXSk7CiAgcHJpbnQoZ2VuYXJyYXkoWzQsMywyXSwgMSkpOwogIHByaW50KGdlbmFycmF5KFs0LDNdLCBbMSwyXSkpOwogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBwcmludCgxKTsKICAgcHJpbnQoWzEsMiwzLDQsNV0pOwogICBwcmludChbWzEsMl0sIFszLDRdLCBbNSw2XV0pOwogICBwcmludChnZW5hcnJheShbNCwzLDJdLCAxKSk7CiAgIHByaW50KGdlbmFycmF5KFs0LDNdLCBbMSwyXSkpOwogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx36' class='ltx_listingline'> | <div id='lstnumberx36' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx37' class='ltx_listingline'> | <div id='lstnumberx37' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx38' class='ltx_listingline'> | <div id='lstnumberx38' class='ltx_listingline'> |
<div id='lstnumberx39' class='ltx_listingline'> | <div id='lstnumberx39' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx40' class='ltx_listingline'> | <div id='lstnumberx40' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx41' class='ltx_listingline'> | <div id='lstnumberx41' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(1); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(1); |
</div> | </div> |
<div id='lstnumberx42' class='ltx_listingline'> | <div id='lstnumberx42' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>([1,2,3,4,5]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>([1,2,3,4,5]); |
</div> | </div> |
<div id='lstnumberx43' class='ltx_listingline'> | <div id='lstnumberx43' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>([[1,2],<span class='ltx_text ltx_lst_space'> </span>[3,4],<span class='ltx_text ltx_lst_space'> </span>[5,6]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>([[1,2],<span class='ltx_text ltx_lst_space'> </span>[3,4],<span class='ltx_text ltx_lst_space'> </span>[5,6]]); |
</div> | </div> |
<div id='lstnumberx44' class='ltx_listingline'> | <div id='lstnumberx44' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>genarray</span>([4,3,2],<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>genarray</span>([4,3,2],<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx45' class='ltx_listingline'> | <div id='lstnumberx45' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>genarray</span>([4,3],<span class='ltx_text ltx_lst_space'> </span>[1,2])); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>genarray</span>([4,3],<span class='ltx_text ltx_lst_space'> </span>[1,2])); |
</div> | </div> |
<div id='lstnumberx46' class='ltx_listingline'> | <div id='lstnumberx46' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx47' class='ltx_listingline'> | <div id='lstnumberx47' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<p class='ltx_p'>Given the language constructs introduced so far, can you define an array that would print as</p> | <p class='ltx_p'>Given the language constructs introduced so far, can you define an array that would print as</p> |
<pre class='ltx_verbatim ltx_font_typewriter'> | <pre class='ltx_verbatim ltx_font_typewriter'> |
Dimension: 3 | Dimension: 3 |
Shape : < 5, 2, 2> | Shape : < 5, 2, 2> |
< 0 0 > < 0 0 > | < 0 0 > < 0 0 > |
< 1 0 > < 0 0 > | < 1 0 > < 0 0 > |
< 0 1 > < 0 0 > | < 0 1 > < 0 0 > |
< 0 0 > < 1 0 > | < 0 0 > < 1 0 > |
< 0 0 > < 0 1 > | < 0 0 > < 0 1 > |
| |
</pre> | </pre> |
<p class='ltx_p'>but whose definition does not contain the symbol ‘1’ more than once?</p> | <p class='ltx_p'>but whose definition does not contain the symbol ‘1’ more than once?</p> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 6: </span>Variables as Placeholders</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 6: </span>Variables as Placeholders</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IFsxLDIsMyw0XTsKICBwcmludChhKTsKCiAgYiA9IG1vZGFycmF5KGEsIFswXSwgOSk7CiAgcHJpbnQoYik7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gWzEsMiwzLDRdOwogICBwcmludChhKTsKCiAgIGIgPSBtb2RhcnJheShhLCBbMF0sIDkpOwogICBwcmludChiKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx48' class='ltx_listingline'> | <div id='lstnumberx48' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx49' class='ltx_listingline'> | <div id='lstnumberx49' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx50' class='ltx_listingline'> | <div id='lstnumberx50' class='ltx_listingline'> |
<div id='lstnumberx51' class='ltx_listingline'> | <div id='lstnumberx51' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx52' class='ltx_listingline'> | <div id='lstnumberx52' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx53' class='ltx_listingline'> | <div id='lstnumberx53' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; |
</div> | </div> |
<div id='lstnumberx54' class='ltx_listingline'> | <div id='lstnumberx54' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx55' class='ltx_listingline'> | <div id='lstnumberx55' class='ltx_listingline'> |
<div id='lstnumberx56' class='ltx_listingline'> | <div id='lstnumberx56' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>9); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>9); |
</div> | </div> |
<div id='lstnumberx57' class='ltx_listingline'> | <div id='lstnumberx57' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx58' class='ltx_listingline'> | <div id='lstnumberx58' class='ltx_listingline'> |
<div id='lstnumberx59' class='ltx_listingline'> | <div id='lstnumberx59' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx60' class='ltx_listingline'> | <div id='lstnumberx60' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 7: </span>Variable Scopes</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 7: </span>Variable Scopes</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IFsxLDIsMyw0XTsKCiAgYiA9IG1vZGFycmF5KGEsIFswXSwgOSk7CiAgcHJpbnQoYSk7CiAgYSA9IGI7CiAgcHJpbnQoYSk7CgogIGEgPSBtb2RhcnJheShhLCBbMV0sIDgpOwogIHByaW50KGEpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gWzEsMiwzLDRdOwoKICAgYiA9IG1vZGFycmF5KGEsIFswXSwgOSk7CiAgIHByaW50KGEpOwogICBhID0gYjsKICAgcHJpbnQoYSk7CgogICBhID0gbW9kYXJyYXkoYSwgWzFdLCA4KTsKICAgcHJpbnQoYSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx61' class='ltx_listingline'> | <div id='lstnumberx61' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx62' class='ltx_listingline'> | <div id='lstnumberx62' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx63' class='ltx_listingline'> | <div id='lstnumberx63' class='ltx_listingline'> |
<div id='lstnumberx64' class='ltx_listingline'> | <div id='lstnumberx64' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx65' class='ltx_listingline'> | <div id='lstnumberx65' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx66' class='ltx_listingline'> | <div id='lstnumberx66' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; |
</div> | </div> |
<div id='lstnumberx67' class='ltx_listingline'> | <div id='lstnumberx67' class='ltx_listingline'> |
<div id='lstnumberx68' class='ltx_listingline'> | <div id='lstnumberx68' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>9); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>9); |
</div> | </div> |
<div id='lstnumberx69' class='ltx_listingline'> | <div id='lstnumberx69' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx70' class='ltx_listingline'> | <div id='lstnumberx70' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; |
</div> | </div> |
<div id='lstnumberx71' class='ltx_listingline'> | <div id='lstnumberx71' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx72' class='ltx_listingline'> | <div id='lstnumberx72' class='ltx_listingline'> |
<div id='lstnumberx73' class='ltx_listingline'> | <div id='lstnumberx73' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[1],<span class='ltx_text ltx_lst_space'> </span>8); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[1],<span class='ltx_text ltx_lst_space'> </span>8); |
</div> | </div> |
<div id='lstnumberx74' class='ltx_listingline'> | <div id='lstnumberx74' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx75' class='ltx_listingline'> | <div id='lstnumberx75' class='ltx_listingline'> |
<div id='lstnumberx76' class='ltx_listingline'> | <div id='lstnumberx76' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx77' class='ltx_listingline'> | <div id='lstnumberx77' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 8: </span>Scope Exercise</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 8: </span>Scope Exercise</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IFsxLDIsMyw0XTsKICBiID0gW2EsYV07CgogIGEgPSBtb2RhcnJheShtb2RhcnJheShhLCBbMF0sIDApLCBbMV0sIDApOwogIGIgPSBtb2RhcnJheShiLCBbMF0sIGEpOwogIHByaW50KGIpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gWzEsMiwzLDRdOwogICBiID0gW2EsYV07CgogICBhID0gbW9kYXJyYXkobW9kYXJyYXkoYSwgWzBdLCAwKSwgWzFdLCAwKTsKICAgYiA9IG1vZGFycmF5KGIsIFswXSwgYSk7CiAgIHByaW50KGIpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx78' class='ltx_listingline'> | <div id='lstnumberx78' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx79' class='ltx_listingline'> | <div id='lstnumberx79' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx80' class='ltx_listingline'> | <div id='lstnumberx80' class='ltx_listingline'> |
<div id='lstnumberx81' class='ltx_listingline'> | <div id='lstnumberx81' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx82' class='ltx_listingline'> | <div id='lstnumberx82' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx83' class='ltx_listingline'> | <div id='lstnumberx83' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4]; |
</div> | </div> |
<div id='lstnumberx84' class='ltx_listingline'> | <div id='lstnumberx84' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_identifier'>a</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_identifier'>a</span>]; |
</div> | </div> |
<div id='lstnumberx85' class='ltx_listingline'> | <div id='lstnumberx85' class='ltx_listingline'> |
<div id='lstnumberx86' class='ltx_listingline'> | <div id='lstnumberx86' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>0),<span class='ltx_text ltx_lst_space'> </span>[1],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span>0),<span class='ltx_text ltx_lst_space'> </span>[1],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx87' class='ltx_listingline'> | <div id='lstnumberx87' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>b</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>b</span>,<span class='ltx_text ltx_lst_space'> </span>[0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx88' class='ltx_listingline'> | <div id='lstnumberx88' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx89' class='ltx_listingline'> | <div id='lstnumberx89' class='ltx_listingline'> |
<div id='lstnumberx90' class='ltx_listingline'> | <div id='lstnumberx90' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx91' class='ltx_listingline'> | <div id='lstnumberx91' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
| |
As of this writing, the latest <span class='ltx_text ltx_font_smallcaps'>SaC</span> compiler release | As of this writing, the latest <span class='ltx_text ltx_font_smallcaps'>SaC</span> compiler release |
is version 1.2.1.</span></span></span>. | is version 1.2.3.</span></span></span>. |
The next section explains <span class='ltx_text ltx_font_italic'>Axis Control Notation</span>, a powerful but simple | The next section explains <span class='ltx_text ltx_font_italic'>Axis Control Notation</span>, a powerful but simple |
way of manipulating the focus of array operations with respect to individual axes of argument arrays. | way of manipulating the focus of array operations with respect to individual axes of argument arrays. |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I1.ix3.I1.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I1.ix3.I1.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
\textless{\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% | \textless{\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% |
ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% | ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% |
\@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>iv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>iv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math>.</p> | \@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>iv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>iv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math>.</p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I1.ix4.I2.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I1.ix4.I2.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
\textless{\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% | \textless{\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% |
ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% | ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% |
\@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>iv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>iv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | \@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>iv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>iv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 9: </span>Basic Operations</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 9: </span>Basic Operations</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFsxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMl07CgogIG1hdCA9IHJlc2hhcGUoWzMsNF0sIHZlY3QpOwogIHByaW50KG1hdCk7CgogIHByaW50KG1hdFtbMSwxXV0pOwogIHByaW50KG1hdFtbMl1dKTsKICBwcmludChtYXRbW11dKTsKCiAgbWF0W1sxLDFdXSA9IDA7CiAgcHJpbnQobWF0KTsKICBtYXRbWzJdXSA9IFswLDAsMCwwXTsKICBwcmludChtYXQpOwogIG1hdFtbXV0gPSBnZW5hcnJheShbMyw0XSwgMCk7CiAgcHJpbnQobWF0KTsKCiAgZW1wdHlfdmVjdCA9IFtdOwogIHByaW50KGVtcHR5X3ZlY3QpOwogIGVtcHR5X21hdCA9IHJlc2hhcGUoWzIyLDBdLCBlbXB0eV92ZWN0KTsKICBwcmludChlbXB0eV9tYXQpOwogIHByaW50KGRpbShlbXB0eV9tYXQpKTsKICBwcmludChzaGFwZShlbXB0eV9tYXQpKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyXTsKCiAgIG1hdCA9IHJlc2hhcGUoWzMsNF0sIHZlY3QpOwogICBwcmludChtYXQpOwoKICAgcHJpbnQobWF0W1sxLDFdXSk7CiAgIHByaW50KG1hdFtbMl1dKTsKICAgcHJpbnQobWF0W1tdXSk7CgogICBtYXRbWzEsMV1dID0gMDsKICAgcHJpbnQobWF0KTsKICAgbWF0W1syXV0gPSBbMCwwLDAsMF07CiAgIHByaW50KG1hdCk7CiAgIG1hdFtbXV0gPSBnZW5hcnJheShbMyw0XSwgMCk7CiAgIHByaW50KG1hdCk7CgogICBlbXB0eV92ZWN0ID0gW107CiAgIHByaW50KGVtcHR5X3ZlY3QpOwogICBlbXB0eV9tYXQgPSByZXNoYXBlKFsyMiwwXSwgZW1wdHlfdmVjdCk7CiAgIHByaW50KGVtcHR5X21hdCk7CiAgIHByaW50KGRpbShlbXB0eV9tYXQpKTsKICAgcHJpbnQoc2hhcGUoZW1wdHlfbWF0KSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx92' class='ltx_listingline'> | <div id='lstnumberx92' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx93' class='ltx_listingline'> | <div id='lstnumberx93' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx94' class='ltx_listingline'> | <div id='lstnumberx94' class='ltx_listingline'> |
<div id='lstnumberx95' class='ltx_listingline'> | <div id='lstnumberx95' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx96' class='ltx_listingline'> | <div id='lstnumberx96' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx97' class='ltx_listingline'> | <div id='lstnumberx97' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9,10,11,12]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9,10,11,12]; |
</div> | </div> |
<div id='lstnumberx98' class='ltx_listingline'> | <div id='lstnumberx98' class='ltx_listingline'> |
<div id='lstnumberx99' class='ltx_listingline'> | <div id='lstnumberx99' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([3,4],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([3,4],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>); |
</div> | </div> |
<div id='lstnumberx100' class='ltx_listingline'> | <div id='lstnumberx100' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx101' class='ltx_listingline'> | <div id='lstnumberx101' class='ltx_listingline'> |
<div id='lstnumberx102' class='ltx_listingline'> | <div id='lstnumberx102' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,1]]); |
</div> | </div> |
<div id='lstnumberx103' class='ltx_listingline'> | <div id='lstnumberx103' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[2]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[2]]); |
</div> | </div> |
<div id='lstnumberx104' class='ltx_listingline'> | <div id='lstnumberx104' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[]]); |
</div> | </div> |
<div id='lstnumberx105' class='ltx_listingline'> | <div id='lstnumberx105' class='ltx_listingline'> |
<div id='lstnumberx106' class='ltx_listingline'> | <div id='lstnumberx106' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[1,1]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[1,1]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx107' class='ltx_listingline'> | <div id='lstnumberx107' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx108' class='ltx_listingline'> | <div id='lstnumberx108' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[2]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,0,0,0]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[2]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,0,0,0]; |
</div> | </div> |
<div id='lstnumberx109' class='ltx_listingline'> | <div id='lstnumberx109' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx110' class='ltx_listingline'> | <div id='lstnumberx110' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([3,4],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[]]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([3,4],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx111' class='ltx_listingline'> | <div id='lstnumberx111' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx112' class='ltx_listingline'> | <div id='lstnumberx112' class='ltx_listingline'> |
<div id='lstnumberx113' class='ltx_listingline'> | <div id='lstnumberx113' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[]; |
</div> | </div> |
<div id='lstnumberx114' class='ltx_listingline'> | <div id='lstnumberx114' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>empty_vect</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>empty_vect</span>); |
</div> | </div> |
<div id='lstnumberx115' class='ltx_listingline'> | <div id='lstnumberx115' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([22,0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_vect</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([22,0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>empty_vect</span>); |
</div> | </div> |
<div id='lstnumberx116' class='ltx_listingline'> | <div id='lstnumberx116' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>); |
</div> | </div> |
<div id='lstnumberx117' class='ltx_listingline'> | <div id='lstnumberx117' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>)); |
</div> | </div> |
<div id='lstnumberx118' class='ltx_listingline'> | <div id='lstnumberx118' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>empty_mat</span>)); |
</div> | </div> |
<div id='lstnumberx119' class='ltx_listingline'> | <div id='lstnumberx119' class='ltx_listingline'> |
<div id='lstnumberx120' class='ltx_listingline'> | <div id='lstnumberx120' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx121' class='ltx_listingline'> | <div id='lstnumberx121' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<dd class='ltx_item'> | <dd class='ltx_item'> |
<div id='Ch2.S2.I3.ix2.p1' class='ltx_para'> | <div id='Ch2.S2.I3.ix2.p1' class='ltx_para'> |
<p class='ltx_p'>including conjunction (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix2.p1.m1' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>&&<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix2.p1.m2' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), disjunction | <p class='ltx_p'>including conjunction (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix2.p1.m1' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>&&<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix2.p1.m2' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), disjunction |
(<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix2.p1.m3' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>||<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix2.p1.m4' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), and negation (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>!<math id='Ch2.S2.I3.ix2.p1.m5' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math></span>). | (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix2.p1.m3' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>||<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix2.p1.m4' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), and negation (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>!<math id='Ch2.S2.I3.ix2.p1.m5' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math></span>). |
<br class='ltx_break'><span class='ltx_text ltx_font_italic'>Domain restrictions</span>: the element types have to be Boolean.</p> | <br class='ltx_break'><span class='ltx_text ltx_font_italic'>Domain restrictions</span>: the element types have to be Boolean.</p> |
<dd class='ltx_item'> | <dd class='ltx_item'> |
<div id='Ch2.S2.I3.ix3.p1' class='ltx_para'> | <div id='Ch2.S2.I3.ix3.p1' class='ltx_para'> |
<p class='ltx_p'>including less-than (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m1' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m2' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), | <p class='ltx_p'>including less-than (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m1' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m2' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), |
less-or-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m3' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m4' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m5' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m6' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), | less-or-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m3' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m4' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m5' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m6' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), |
not-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m7' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>!=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m8' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), | not-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m7' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>!=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m8' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), |
greater-or-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m9' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m10' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), and greater-than | greater-or-equal (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m9' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m10' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math></span>), and greater-than |
(<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m11' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m12' class='ltx_Math' alttext='e2' display='inline'><mrow><mi>e</mi><mo></mo><mn>2</mn></mrow></math></span>). | (<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><math id='Ch2.S2.I3.ix3.p1.m11' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.I3.ix3.p1.m12' class='ltx_Math' alttext='e2' display='inline'><mrow><mi>e</mi><mo></mo><mn>2</mn></mrow></math></span>). |
<br class='ltx_break'><span class='ltx_text ltx_font_italic'>Domain restrictions</span>: the element types of <math id='Ch2.S2.I3.ix3.p1.m13' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math> and <math id='Ch2.S2.I3.ix3.p1.m14' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math> have to be of the same type.</p> | <br class='ltx_break'><span class='ltx_text ltx_font_italic'>Domain restrictions</span>: the element types of <math id='Ch2.S2.I3.ix3.p1.m13' class='ltx_Math' alttext='e_{1}' display='inline'><msub><mi>e</mi><mn>1</mn></msub></math> and <math id='Ch2.S2.I3.ix3.p1.m14' class='ltx_Math' alttext='e_{2}' display='inline'><msub><mi>e</mi><mn>2</mn></msub></math> have to be of the same type.</p> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 10: </span>Elementwise Extensions</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 10: </span>Elementwise Extensions</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFsxLDIsMyw0LDUsNiw3LDgsOV07CgogIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICBwcmludChtYXQpOwoKICBtYXQyID0gd2hlcmUobWF0ICUgMiA9PSAwLCBtYXQsIC1tYXQpOwogIHByaW50KG1hdDIpOwoKICBwcmludChtYXgobWF0MiwgMCkpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICAgcHJpbnQobWF0KTsKCiAgIG1hdDIgPSB3aGVyZShtYXQgJSAyID09IDAsIG1hdCwgLW1hdCk7CiAgIHByaW50KG1hdDIpOwoKICAgcHJpbnQobWF4KG1hdDIsIDApKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx122' class='ltx_listingline'> | <div id='lstnumberx122' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx123' class='ltx_listingline'> | <div id='lstnumberx123' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx124' class='ltx_listingline'> | <div id='lstnumberx124' class='ltx_listingline'> |
<div id='lstnumberx125' class='ltx_listingline'> | <div id='lstnumberx125' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx126' class='ltx_listingline'> | <div id='lstnumberx126' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx127' class='ltx_listingline'> | <div id='lstnumberx127' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx128' class='ltx_listingline'> | <div id='lstnumberx128' class='ltx_listingline'> |
<div id='lstnumberx129' class='ltx_listingline'> | <div id='lstnumberx129' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; |
</div> | </div> |
<div id='lstnumberx130' class='ltx_listingline'> | <div id='lstnumberx130' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx131' class='ltx_listingline'> | <div id='lstnumberx131' class='ltx_listingline'> |
<div id='lstnumberx132' class='ltx_listingline'> | <div id='lstnumberx132' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat2</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>where</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>,<span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat2</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>where</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>,<span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx133' class='ltx_listingline'> | <div id='lstnumberx133' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat2</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat2</span>); |
</div> | </div> |
<div id='lstnumberx134' class='ltx_listingline'> | <div id='lstnumberx134' class='ltx_listingline'> |
<div id='lstnumberx135' class='ltx_listingline'> | <div id='lstnumberx135' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max</span>(<span class='ltx_text ltx_lst_identifier'>mat2</span>,<span class='ltx_text ltx_lst_space'> </span>0)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max</span>(<span class='ltx_text ltx_lst_identifier'>mat2</span>,<span class='ltx_text ltx_lst_space'> </span>0)); |
</div> | </div> |
<div id='lstnumberx136' class='ltx_listingline'> | <div id='lstnumberx136' class='ltx_listingline'> |
<div id='lstnumberx137' class='ltx_listingline'> | <div id='lstnumberx137' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx138' class='ltx_listingline'> | <div id='lstnumberx138' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
the odd numbers are negated. | the odd numbers are negated. |
Note here, that all sub expressions in predicate position are in fact non-scalar | Note here, that all sub expressions in predicate position are in fact non-scalar |
arrays: <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>\%<span class='ltx_text ltx_lst_space'> </span>2)</span> denotes a matrix of zeros and ones and | arrays: <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span>2)</span> denotes a matrix of zeros and ones and |
<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>\%<span class='ltx_text ltx_lst_space'> </span>2)<span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span>0</span> denotes a matrix of boolean values.</p> | <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span>2)<span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span>0</span> denotes a matrix of boolean values.</p> |
</div> | </div> |
<div id='Thmtheorem6' class='ltx_theorem ltx_theorem_theorem'> | <div id='Thmtheorem6' class='ltx_theorem ltx_theorem_theorem'> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix1.I1.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix1.I1.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
\textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% | \textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% |
ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% | ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% |
\@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | \@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix2.I2.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix2.I2.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
\textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% | \textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% |
ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% | ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% |
\@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | \@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix3.I3.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix3.I3.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>sv</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix3.I3.i3.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix3.I3.i3.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
\textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% | \textless={\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{% |
ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% | ltx_lst_identifier}{shape}}({\@listingGroup{ltx_lst_identifier}{a}})[[{% |
\@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>ov</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | \@listingGroup{ltx_lst_identifier}{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>ov</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
ltx_lst_space}{~{}}}{\@listingGroup{ltx_lst_identifier}{shape}}({% | ltx_lst_space}{~{}}}{\@listingGroup{ltx_lst_identifier}{shape}}({% |
\@listingGroup{ltx_lst_identifier}{a}})[[{\@listingGroup{ltx_lst_identifier}{i% | \@listingGroup{ltx_lst_identifier}{a}})[[{\@listingGroup{ltx_lst_identifier}{i% |
}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>min</mtext><mtext>(</mtext><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]],</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]])</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>ov</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext>+</mtext><mtext> </mtext><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | }}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mn>0</mn><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>min</mtext><mtext>(</mtext><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]],</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]])</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>ov</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext>+</mtext><mtext> </mtext><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
\@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{ltx_lst_identifier}{shape}}% | \@listingGroup{ltx_lst_space}{~{}}}{\@listingGroup{ltx_lst_identifier}{shape}}% |
({\@listingGroup{ltx_lst_identifier}{a}})[[{\@listingGroup{ltx_lst_identifier}% | ({\@listingGroup{ltx_lst_identifier}{a}})[[{\@listingGroup{ltx_lst_identifier}% |
{i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>min</mtext><mtext>(</mtext><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]],</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]])</mtext></mrow><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> | {i}}]]}}}}' display='inline'><mrow><mrow><mrow><mo>∀</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</mtext></mrow><mo>∈</mo><mrow><mo stretchy='false'>{</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>min</mtext><mtext>(</mtext><mtext>shape</mtext><mtext>(</mtext><mtext>ov</mtext><mtext>)[[0]],</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]])</mtext></mrow><mo>,</mo><mi mathvariant='normal'>…</mi><mo>,</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>shape</mtext><mtext>(</mtext><mtext>sv</mtext><mtext>)[[0]]</mtext></mrow><mo stretchy='false'>}</mo></mrow></mrow><mo>:</mo><mrow class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><mtext>sv</mtext><mtext>[[</mtext><mtext>i</mtext><mtext>]]</mtext><mtext> </mtext><mtext><=</mtext><mtext> </mtext><mtext>shape</mtext><mtext>(</mtext><mtext>a</mtext><mtext>)[[</mtext><mtext>i</mtext><mtext>]]</mtext></mrow></mrow></math></p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix5.I5.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix5.I5.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> | <span class='ltx_tag ltx_tag_item'><span class='ltx_text ltx_font_bold'>•</span></span> |
<div id='Ch2.S2.I5.ix6.I6.i2.p1' class='ltx_para'> | <div id='Ch2.S2.I5.ix6.I6.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>ov</span>)[[0]]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>dim</span>(<span class='ltx_text ltx_lst_identifier'>a</span>)</span></p> |
</div> | </div> |
</li> | </li> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 11: </span>Restructuring Operations</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 11: </span>Restructuring Operations</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFsxLDIsMyw0LDUsNiw3LDgsOV07CgogIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICBwcmludChtYXQpOwoKICBwcmludCh0YWtlKFsyLC0yXSwgbWF0KSk7CiAgcHJpbnQodGFrZShbMl0sIG1hdCkpOwogIHByaW50KHRha2UoW10sIG1hdCkpOwoKICBwcmludCh0YWtlKFswXSwgbWF0KSk7CiAgcHJpbnQodGFrZShbMiwgMF0sIG1hdCkpOwogIHByaW50KHRha2UoWzJdLCByZXNoYXBlKFszLDAsNV0sIFtdKSkpOwoKICBwcmludChkcm9wKFswLCAtMV0sIG1hdCkpOwoKICBwcmludChtYXQgKysgbWF0KTsKCiAgcHJpbnQocm90YXRlKFstMSwgNDJdLCBtYXQpKTsKICBwcmludChyb3RhdGUoWyAxXSwgbWF0KSk7CgogIHByaW50KHNoaWZ0KFswLCAtMl0sIDAsIG1hdCkpOwogIHByaW50KHNoaWZ0KFswLCAtMjJdLCAwLCBtYXQpKTsKICBwcmludChzaGlmdChbMV0sIDAsIG1hdCkpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICAgcHJpbnQobWF0KTsKCiAgIHByaW50KHRha2UoWzIsLTJdLCBtYXQpKTsKICAgcHJpbnQodGFrZShbMl0sIG1hdCkpOwogICBwcmludCh0YWtlKFtdLCBtYXQpKTsKCiAgIHByaW50KHRha2UoWzBdLCBtYXQpKTsKICAgcHJpbnQodGFrZShbMiwgMF0sIG1hdCkpOwogICBwcmludCh0YWtlKFsyXSwgcmVzaGFwZShbMywwLDVdLCBbXSkpKTsKCiAgIHByaW50KGRyb3AoWzAsIC0xXSwgbWF0KSk7CgogICBwcmludChtYXQgKysgbWF0KTsKCiAgIHByaW50KHJvdGF0ZShbLTEsIDQyXSwgbWF0KSk7CiAgIHByaW50KHJvdGF0ZShbIDFdLCBtYXQpKTsKCiAgIHByaW50KHNoaWZ0KFswLCAtMl0sIDAsIG1hdCkpOwogICBwcmludChzaGlmdChbMCwgLTIyXSwgMCwgbWF0KSk7CiAgIHByaW50KHNoaWZ0KFsxXSwgMCwgbWF0KSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx139' class='ltx_listingline'> | <div id='lstnumberx139' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx140' class='ltx_listingline'> | <div id='lstnumberx140' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx141' class='ltx_listingline'> | <div id='lstnumberx141' class='ltx_listingline'> |
<div id='lstnumberx142' class='ltx_listingline'> | <div id='lstnumberx142' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx143' class='ltx_listingline'> | <div id='lstnumberx143' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx144' class='ltx_listingline'> | <div id='lstnumberx144' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx145' class='ltx_listingline'> | <div id='lstnumberx145' class='ltx_listingline'> |
<div id='lstnumberx146' class='ltx_listingline'> | <div id='lstnumberx146' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; |
</div> | </div> |
<div id='lstnumberx147' class='ltx_listingline'> | <div id='lstnumberx147' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx148' class='ltx_listingline'> | <div id='lstnumberx148' class='ltx_listingline'> |
<div id='lstnumberx149' class='ltx_listingline'> | <div id='lstnumberx149' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2,-2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2,-2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx150' class='ltx_listingline'> | <div id='lstnumberx150' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx151' class='ltx_listingline'> | <div id='lstnumberx151' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx152' class='ltx_listingline'> | <div id='lstnumberx152' class='ltx_listingline'> |
<div id='lstnumberx153' class='ltx_listingline'> | <div id='lstnumberx153' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx154' class='ltx_listingline'> | <div id='lstnumberx154' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2,<span class='ltx_text ltx_lst_space'> </span>0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2,<span class='ltx_text ltx_lst_space'> </span>0],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx155' class='ltx_listingline'> | <div id='lstnumberx155' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([3,0,5],<span class='ltx_text ltx_lst_space'> </span>[]))); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>take</span>([2],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reshape</span>([3,0,5],<span class='ltx_text ltx_lst_space'> </span>[]))); |
</div> | </div> |
<div id='lstnumberx156' class='ltx_listingline'> | <div id='lstnumberx156' class='ltx_listingline'> |
<div id='lstnumberx157' class='ltx_listingline'> | <div id='lstnumberx157' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>drop</span>([0,<span class='ltx_text ltx_lst_space'> </span>-1],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>drop</span>([0,<span class='ltx_text ltx_lst_space'> </span>-1],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx158' class='ltx_listingline'> | <div id='lstnumberx158' class='ltx_listingline'> |
<div id='lstnumberx159' class='ltx_listingline'> | <div id='lstnumberx159' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx160' class='ltx_listingline'> | <div id='lstnumberx160' class='ltx_listingline'> |
<div id='lstnumberx161' class='ltx_listingline'> | <div id='lstnumberx161' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>rotate</span>([-1,<span class='ltx_text ltx_lst_space'> </span>42],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>rotate</span>([-1,<span class='ltx_text ltx_lst_space'> </span>42],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx162' class='ltx_listingline'> | <div id='lstnumberx162' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>rotate</span>([<span class='ltx_text ltx_lst_space'> </span>1],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>rotate</span>([<span class='ltx_text ltx_lst_space'> </span>1],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx163' class='ltx_listingline'> | <div id='lstnumberx163' class='ltx_listingline'> |
<div id='lstnumberx164' class='ltx_listingline'> | <div id='lstnumberx164' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([0,<span class='ltx_text ltx_lst_space'> </span>-2],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([0,<span class='ltx_text ltx_lst_space'> </span>-2],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx165' class='ltx_listingline'> | <div id='lstnumberx165' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([0,<span class='ltx_text ltx_lst_space'> </span>-22],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([0,<span class='ltx_text ltx_lst_space'> </span>-22],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx166' class='ltx_listingline'> | <div id='lstnumberx166' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([1],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>shift</span>([1],<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx167' class='ltx_listingline'> | <div id='lstnumberx167' class='ltx_listingline'> |
<div id='lstnumberx168' class='ltx_listingline'> | <div id='lstnumberx168' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx169' class='ltx_listingline'> | <div id='lstnumberx169' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 12: </span>Reduction Operations</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 12: </span>Reduction Operations</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFsxLDIsMyw0LDUsNiw3LDgsOV07CgogIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKCiAgcHJpbnQoc3VtKG1hdCkpOwogIHByaW50KHByb2QodmVjdCkpOwogIHByaW50KGFsbChtYXQgPj0gMSkpOwogIHByaW50KGFueShtYXQgPiAxKSk7CiAgcHJpbnQobWF4dmFsKG1hdCkpOwogIHByaW50KG1pbnZhbChtYXQpKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKCiAgIHByaW50KHN1bShtYXQpKTsKICAgcHJpbnQocHJvZCh2ZWN0KSk7CiAgIHByaW50KGFsbChtYXQgPj0gMSkpOwogICBwcmludChhbnkobWF0ID4gMSkpOwogICBwcmludChtYXh2YWwobWF0KSk7CiAgIHByaW50KG1pbnZhbChtYXQpKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx170' class='ltx_listingline'> | <div id='lstnumberx170' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx171' class='ltx_listingline'> | <div id='lstnumberx171' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx172' class='ltx_listingline'> | <div id='lstnumberx172' class='ltx_listingline'> |
<div id='lstnumberx173' class='ltx_listingline'> | <div id='lstnumberx173' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx174' class='ltx_listingline'> | <div id='lstnumberx174' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx175' class='ltx_listingline'> | <div id='lstnumberx175' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx176' class='ltx_listingline'> | <div id='lstnumberx176' class='ltx_listingline'> |
<div id='lstnumberx177' class='ltx_listingline'> | <div id='lstnumberx177' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; |
</div> | </div> |
<div id='lstnumberx178' class='ltx_listingline'> | <div id='lstnumberx178' class='ltx_listingline'> |
<div id='lstnumberx179' class='ltx_listingline'> | <div id='lstnumberx179' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx180' class='ltx_listingline'> | <div id='lstnumberx180' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>prod</span>(<span class='ltx_text ltx_lst_identifier'>vect</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>prod</span>(<span class='ltx_text ltx_lst_identifier'>vect</span>)); |
</div> | </div> |
<div id='lstnumberx181' class='ltx_listingline'> | <div id='lstnumberx181' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>all</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>all</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx182' class='ltx_listingline'> | <div id='lstnumberx182' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>any</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>any</span>(<span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx183' class='ltx_listingline'> | <div id='lstnumberx183' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx184' class='ltx_listingline'> | <div id='lstnumberx184' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>minval</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>minval</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>)); |
</div> | </div> |
<div id='lstnumberx185' class='ltx_listingline'> | <div id='lstnumberx185' class='ltx_listingline'> |
<div id='lstnumberx186' class='ltx_listingline'> | <div id='lstnumberx186' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx187' class='ltx_listingline'> | <div id='lstnumberx187' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 13: </span>Generalized Selections</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 13: </span>Generalized Selections</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFsxLDIsMyw0LDUsNiw3LDgsOV07CgogIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICBwcmludChtYXQpOwoKICBwcmludChtYXRbWzFdXSk7CiAgcHJpbnQobWF0W1sxLC5dXSk7CiAgcHJpbnQobWF0W1sxLC4uLl1dKTsKCiAgcHJpbnQobWF0W1suLDFdXSk7CiAgcHJpbnQobWF0W1suLi4sMV1dKTsKCiAgcHJpbnQobWF0W1sxLC4uLiwxXV0pOwoKICBhcnIzZCA9IFttYXQsIG1hdF07CiAgcHJpbnQoYXJyM2QpOwoKICBwcmludChhcnIzZFtbLiwxXV0pOwogIHByaW50KGFycjNkW1suLi4sMV1dKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgIG1hdCA9IFt2ZWN0LCB2ZWN0KzEwLCB2ZWN0KzIwXTsKICAgcHJpbnQobWF0KTsKCiAgIHByaW50KG1hdFtbMV1dKTsKICAgcHJpbnQobWF0W1sxLC5dXSk7CiAgIHByaW50KG1hdFtbMSwuLi5dXSk7CgogICBwcmludChtYXRbWy4sMV1dKTsKICAgcHJpbnQobWF0W1suLi4sMV1dKTsKCiAgIHByaW50KG1hdFtbMSwuLi4sMV1dKTsKCiAgIGFycjNkID0gW21hdCwgbWF0XTsKICAgcHJpbnQoYXJyM2QpOwoKICAgcHJpbnQoYXJyM2RbWy4sMV1dKTsKICAgcHJpbnQoYXJyM2RbWy4uLiwxXV0pOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx188' class='ltx_listingline'> | <div id='lstnumberx188' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx189' class='ltx_listingline'> | <div id='lstnumberx189' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx190' class='ltx_listingline'> | <div id='lstnumberx190' class='ltx_listingline'> |
<div id='lstnumberx191' class='ltx_listingline'> | <div id='lstnumberx191' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx192' class='ltx_listingline'> | <div id='lstnumberx192' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx193' class='ltx_listingline'> | <div id='lstnumberx193' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx194' class='ltx_listingline'> | <div id='lstnumberx194' class='ltx_listingline'> |
<div id='lstnumberx195' class='ltx_listingline'> | <div id='lstnumberx195' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+10,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+20]; |
</div> | </div> |
<div id='lstnumberx196' class='ltx_listingline'> | <div id='lstnumberx196' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx197' class='ltx_listingline'> | <div id='lstnumberx197' class='ltx_listingline'> |
<div id='lstnumberx198' class='ltx_listingline'> | <div id='lstnumberx198' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1]]); |
</div> | </div> |
<div id='lstnumberx199' class='ltx_listingline'> | <div id='lstnumberx199' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,.]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,.]]); |
</div> | </div> |
<div id='lstnumberx200' class='ltx_listingline'> | <div id='lstnumberx200' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,…]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,…]]); |
</div> | </div> |
<div id='lstnumberx201' class='ltx_listingline'> | <div id='lstnumberx201' class='ltx_listingline'> |
<div id='lstnumberx202' class='ltx_listingline'> | <div id='lstnumberx202' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[.,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[.,1]]); |
</div> | </div> |
<div id='lstnumberx203' class='ltx_listingline'> | <div id='lstnumberx203' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[…,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[…,1]]); |
</div> | </div> |
<div id='lstnumberx204' class='ltx_listingline'> | <div id='lstnumberx204' class='ltx_listingline'> |
<div id='lstnumberx205' class='ltx_listingline'> | <div id='lstnumberx205' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,…,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[1,…,1]]); |
</div> | </div> |
<div id='lstnumberx206' class='ltx_listingline'> | <div id='lstnumberx206' class='ltx_listingline'> |
<div id='lstnumberx207' class='ltx_listingline'> | <div id='lstnumberx207' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>mat</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>mat</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>]; |
</div> | </div> |
<div id='lstnumberx208' class='ltx_listingline'> | <div id='lstnumberx208' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx209' class='ltx_listingline'> | <div id='lstnumberx209' class='ltx_listingline'> |
<div id='lstnumberx210' class='ltx_listingline'> | <div id='lstnumberx210' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[.,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[.,1]]); |
</div> | </div> |
<div id='lstnumberx211' class='ltx_listingline'> | <div id='lstnumberx211' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[…,1]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[…,1]]); |
</div> | </div> |
<div id='lstnumberx212' class='ltx_listingline'> | <div id='lstnumberx212' class='ltx_listingline'> |
<div id='lstnumberx213' class='ltx_listingline'> | <div id='lstnumberx213' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx214' class='ltx_listingline'> | <div id='lstnumberx214' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
\textgreater}}}}}\ \langle\textrm{\lstinline{{\lst@@@set@language% | \textgreater}}}}}\ \langle\textrm{\lstinline{{\lst@@@set@language% |
\lst@@@set@numbers\lst@@@set@frame\lst@@@set@rulecolor\lst@@@set@language% | \lst@@@set@numbers\lst@@@set@frame\lst@@@set@rulecolor\lst@@@set@language% |
\lst@@@set@numbers{\@listingGroup{ltx_lst_identifier}{expression}}}}}}\rangle' display='block'><mrow><mrow><mo stretchy='false'>⟨</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>index_vector</mtext><mo rspace='7.5pt' stretchy='false'>⟩</mo></mrow><mo></mo><mrow><mpadded class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting' width='+5pt'><mtext>-></mtext></mpadded><mrow><mo stretchy='false'>⟨</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>expression</mtext><mo stretchy='false'>⟩</mo></mrow></mrow></mrow></math></td> | \lst@@@set@numbers{\@listingGroup{ltx_lst_identifier}{expression}}}}}}\rangle' display='block'><mrow><mrow><mo stretchy='false'>⟨</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>index_vector</mtext><mo rspace='7.5pt' stretchy='false'>⟩</mo></mrow><mo></mo><mrow><mpadded class='ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting' width='+5pt'><mtext>-></mtext></mpadded><mrow><mo stretchy='false'>⟨</mo><mtext class='ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>expression</mtext><mo stretchy='false'>⟩</mo></mrow></mrow></mrow></math></td> |
<td class='ltx_eqn_cell ltx_eqn_center_padright'></td> | <td class='ltx_eqn_cell ltx_eqn_center_padright'></td> |
</tr> | </tr> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 14: </span>Basic Set Notation</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 14: </span>Basic Set Notation</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgbWF0ID0ge1tpXSAtPiB2ZWN0W1tpXV0qMTArdmVjdH07CiAgcHJpbnQobWF0KTsKCiAgbWF0X2luYyA9IHtpdiAtPiBtYXRbaXZdICsgMX07CiAgcHJpbnQobWF0X2luYyk7CgogIG1hdF90cmFucyA9IHtbaSxqXSAtPiBtYXRbW2osaV1dfTsKICBwcmludChtYXRfdHJhbnMpOwoKICBtYXRfZGlhZyA9IHtbaSxqXSAtPiB3aGVyZShpID09IGogLCBtYXRbW2ksal1dICwgMCl9OwogIHByaW50KG1hdF9kaWFnKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOwoKICAgbWF0ID0ge1tpXSAtPiB2ZWN0W1tpXV0qMTArdmVjdH07CiAgIHByaW50KG1hdCk7CgogICBtYXRfaW5jID0ge2l2IC0+IG1hdFtpdl0gKyAxfTsKICAgcHJpbnQobWF0X2luYyk7CgogICBtYXRfdHJhbnMgPSB7W2ksal0gLT4gbWF0W1tqLGldXX07CiAgIHByaW50KG1hdF90cmFucyk7CgogICBtYXRfZGlhZyA9IHtbaSxqXSAtPiB3aGVyZShpID09IGogLCBtYXRbW2ksal1dICwgMCl9OwogICBwcmludChtYXRfZGlhZyk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx215' class='ltx_listingline'> | <div id='lstnumberx215' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx216' class='ltx_listingline'> | <div id='lstnumberx216' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx217' class='ltx_listingline'> | <div id='lstnumberx217' class='ltx_listingline'> |
<div id='lstnumberx218' class='ltx_listingline'> | <div id='lstnumberx218' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx219' class='ltx_listingline'> | <div id='lstnumberx219' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx220' class='ltx_listingline'> | <div id='lstnumberx220' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx221' class='ltx_listingline'> | <div id='lstnumberx221' class='ltx_listingline'> |
<div id='lstnumberx222' class='ltx_listingline'> | <div id='lstnumberx222' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*10+<span class='ltx_text ltx_lst_identifier'>vect</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*10+<span class='ltx_text ltx_lst_identifier'>vect</span>}; |
</div> | </div> |
<div id='lstnumberx223' class='ltx_listingline'> | <div id='lstnumberx223' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx224' class='ltx_listingline'> | <div id='lstnumberx224' class='ltx_listingline'> |
<div id='lstnumberx225' class='ltx_listingline'> | <div id='lstnumberx225' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_inc</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_inc</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1}; |
</div> | </div> |
<div id='lstnumberx226' class='ltx_listingline'> | <div id='lstnumberx226' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_inc</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_inc</span>); |
</div> | </div> |
<div id='lstnumberx227' class='ltx_listingline'> | <div id='lstnumberx227' class='ltx_listingline'> |
<div id='lstnumberx228' class='ltx_listingline'> | <div id='lstnumberx228' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_trans</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>,<span class='ltx_text ltx_lst_identifier'>i</span>]]}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_trans</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>,<span class='ltx_text ltx_lst_identifier'>i</span>]]}; |
</div> | </div> |
<div id='lstnumberx229' class='ltx_listingline'> | <div id='lstnumberx229' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_trans</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_trans</span>); |
</div> | </div> |
<div id='lstnumberx230' class='ltx_listingline'> | <div id='lstnumberx230' class='ltx_listingline'> |
<div id='lstnumberx231' class='ltx_listingline'> | <div id='lstnumberx231' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_diag</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>where</span>(<span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]<span class='ltx_text ltx_lst_space'> </span>,<span class='ltx_text ltx_lst_space'> </span>0)}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat_diag</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>where</span>(<span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>==<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]<span class='ltx_text ltx_lst_space'> </span>,<span class='ltx_text ltx_lst_space'> </span>0)}; |
</div> | </div> |
<div id='lstnumberx232' class='ltx_listingline'> | <div id='lstnumberx232' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_diag</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat_diag</span>); |
</div> | </div> |
<div id='lstnumberx233' class='ltx_listingline'> | <div id='lstnumberx233' class='ltx_listingline'> |
<div id='lstnumberx234' class='ltx_listingline'> | <div id='lstnumberx234' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx235' class='ltx_listingline'> | <div id='lstnumberx235' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 15: </span>Advanced Set Notation</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 15: </span>Advanced Set Notation</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFswLDEsMiwzXTsKCiAgbWF0ID0ge1suLGldIC0+IHZlY3RbW2ldXSo0ICsgdmVjdH07CiAgcHJpbnQobWF0KTsKCiAgYXJyM2QgPSB7W2ldIC0+IHZlY3RbW2ldXSoxNiArIG1hdH07CiAgcHJpbnQoYXJyM2QpOwoKICBhcnIzZCA9IHtbLiwuLGldIC0+IHZlY3RbW2ldXSoxNiArIG1hdH07CiAgcHJpbnQoYXJyM2QpOwoKICBhcnIzZCA9IHtbLixpXSAtPiB2ZWN0W1tpXV0qMTYgKyBtYXR9OwogIHByaW50KGFycjNkKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzAsMSwyLDNdOwoKICAgbWF0ID0ge1suLGldIC0+IHZlY3RbW2ldXSo0ICsgdmVjdH07CiAgIHByaW50KG1hdCk7CgogICBhcnIzZCA9IHtbaV0gLT4gdmVjdFtbaV1dKjE2ICsgbWF0fTsKICAgcHJpbnQoYXJyM2QpOwoKICAgYXJyM2QgPSB7Wy4sLixpXSAtPiB2ZWN0W1tpXV0qMTYgKyBtYXR9OwogICBwcmludChhcnIzZCk7CgogICBhcnIzZCA9IHtbLixpXSAtPiB2ZWN0W1tpXV0qMTYgKyBtYXR9OwogICBwcmludChhcnIzZCk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx236' class='ltx_listingline'> | <div id='lstnumberx236' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx237' class='ltx_listingline'> | <div id='lstnumberx237' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx238' class='ltx_listingline'> | <div id='lstnumberx238' class='ltx_listingline'> |
<div id='lstnumberx239' class='ltx_listingline'> | <div id='lstnumberx239' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx240' class='ltx_listingline'> | <div id='lstnumberx240' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx241' class='ltx_listingline'> | <div id='lstnumberx241' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; |
</div> | </div> |
<div id='lstnumberx242' class='ltx_listingline'> | <div id='lstnumberx242' class='ltx_listingline'> |
<div id='lstnumberx243' class='ltx_listingline'> | <div id='lstnumberx243' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; |
</div> | </div> |
<div id='lstnumberx244' class='ltx_listingline'> | <div id='lstnumberx244' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx245' class='ltx_listingline'> | <div id='lstnumberx245' class='ltx_listingline'> |
<div id='lstnumberx246' class='ltx_listingline'> | <div id='lstnumberx246' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; |
</div> | </div> |
<div id='lstnumberx247' class='ltx_listingline'> | <div id='lstnumberx247' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx248' class='ltx_listingline'> | <div id='lstnumberx248' class='ltx_listingline'> |
<div id='lstnumberx249' class='ltx_listingline'> | <div id='lstnumberx249' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; |
</div> | </div> |
<div id='lstnumberx250' class='ltx_listingline'> | <div id='lstnumberx250' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx251' class='ltx_listingline'> | <div id='lstnumberx251' class='ltx_listingline'> |
<div id='lstnumberx252' class='ltx_listingline'> | <div id='lstnumberx252' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>}; |
</div> | </div> |
<div id='lstnumberx253' class='ltx_listingline'> | <div id='lstnumberx253' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx254' class='ltx_listingline'> | <div id='lstnumberx254' class='ltx_listingline'> |
<div id='lstnumberx255' class='ltx_listingline'> | <div id='lstnumberx255' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx256' class='ltx_listingline'> | <div id='lstnumberx256' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 16: </span>Axis Control: sum</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 16: </span>Axis Control: sum</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsKCiAgbWF0ID0ge1suLGldIC0+IHZlY3RbW2ldXSoxMCt2ZWN0fTsKICBwcmludChtYXQpOwoKICBzdW1fcm93cyA9IHtbaV0gLT4gc3VtKG1hdFtbaV1dKX07CiAgcHJpbnQoc3VtX3Jvd3MpOwoKICBzdW1fY29scyA9IHtbaV0gLT4gc3VtKCBtYXRbWy4saV1dKX07CiAgcHJpbnQoc3VtX2NvbHMpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOwoKICAgbWF0ID0ge1suLGldIC0+IHZlY3RbW2ldXSoxMCt2ZWN0fTsKICAgcHJpbnQobWF0KTsKCiAgIHN1bV9yb3dzID0ge1tpXSAtPiBzdW0obWF0W1tpXV0pfTsKICAgcHJpbnQoc3VtX3Jvd3MpOwoKICAgc3VtX2NvbHMgPSB7W2ldIC0+IHN1bSggbWF0W1suLGldXSl9OwogICBwcmludChzdW1fY29scyk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx257' class='ltx_listingline'> | <div id='lstnumberx257' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx258' class='ltx_listingline'> | <div id='lstnumberx258' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx259' class='ltx_listingline'> | <div id='lstnumberx259' class='ltx_listingline'> |
<div id='lstnumberx260' class='ltx_listingline'> | <div id='lstnumberx260' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx261' class='ltx_listingline'> | <div id='lstnumberx261' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx262' class='ltx_listingline'> | <div id='lstnumberx262' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3,4,5,6,7,8,9]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3,4,5,6,7,8,9]; |
</div> | </div> |
<div id='lstnumberx263' class='ltx_listingline'> | <div id='lstnumberx263' class='ltx_listingline'> |
<div id='lstnumberx264' class='ltx_listingline'> | <div id='lstnumberx264' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*10+<span class='ltx_text ltx_lst_identifier'>vect</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[.,<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*10+<span class='ltx_text ltx_lst_identifier'>vect</span>}; |
</div> | </div> |
<div id='lstnumberx265' class='ltx_listingline'> | <div id='lstnumberx265' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx266' class='ltx_listingline'> | <div id='lstnumberx266' class='ltx_listingline'> |
<div id='lstnumberx267' class='ltx_listingline'> | <div id='lstnumberx267' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum_rows</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum_rows</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}; |
</div> | </div> |
<div id='lstnumberx268' class='ltx_listingline'> | <div id='lstnumberx268' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum_rows</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum_rows</span>); |
</div> | </div> |
<div id='lstnumberx269' class='ltx_listingline'> | <div id='lstnumberx269' class='ltx_listingline'> |
<div id='lstnumberx270' class='ltx_listingline'> | <div id='lstnumberx270' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum_cols</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[.,<span class='ltx_text ltx_lst_identifier'>i</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum_cols</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[.,<span class='ltx_text ltx_lst_identifier'>i</span>]])}; |
</div> | </div> |
<div id='lstnumberx271' class='ltx_listingline'> | <div id='lstnumberx271' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum_cols</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>sum_cols</span>); |
</div> | </div> |
<div id='lstnumberx272' class='ltx_listingline'> | <div id='lstnumberx272' class='ltx_listingline'> |
<div id='lstnumberx273' class='ltx_listingline'> | <div id='lstnumberx273' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx274' class='ltx_listingline'> | <div id='lstnumberx274' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 17: </span>Axis Control: max</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 17: </span>Axis Control: max</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFswLDEsMiwzXTsKCiAgYXJyM2QgPSB7W2ksal0gLT4gdmVjdFtbaV1dKjQgKyB2ZWN0W1tqXV0qMTYgKyB2ZWN0fTsKICBwcmludChhcnIzZCk7CgogIG1heF9pbm5lcl92ZWN0cyA9IHtbaSxqXSAtPiBtYXh2YWwoYXJyM2RbW2ksal1dKX07CiAgcHJpbnQobWF4X2lubmVyX3ZlY3RzKTsKCiAgbWF4X2lubmVyX2FycmF5cyA9IHtbaV0gLT4gbWF4dmFsKGFycjNkW1tpXV0pfTsKICBwcmludChtYXhfaW5uZXJfYXJyYXlzKTsKCiAgbWF4X291dGVyX2FycmF5cyA9IHtbaV0gLT4gbWF4dmFsKGFycjNkW1suLC4saV1dKX07CiAgcHJpbnQobWF4X291dGVyX2FycmF5cyk7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzAsMSwyLDNdOwoKICAgYXJyM2QgPSB7W2ksal0gLT4gdmVjdFtbaV1dKjQgKyB2ZWN0W1tqXV0qMTYgKyB2ZWN0fTsKICAgcHJpbnQoYXJyM2QpOwoKICAgbWF4X2lubmVyX3ZlY3RzID0ge1tpLGpdIC0+IG1heHZhbChhcnIzZFtbaSxqXV0pfTsKICAgcHJpbnQobWF4X2lubmVyX3ZlY3RzKTsKCiAgIG1heF9pbm5lcl9hcnJheXMgPSB7W2ldIC0+IG1heHZhbChhcnIzZFtbaV1dKX07CiAgIHByaW50KG1heF9pbm5lcl9hcnJheXMpOwoKICAgbWF4X291dGVyX2FycmF5cyA9IHtbaV0gLT4gbWF4dmFsKGFycjNkW1suLC4saV1dKX07CiAgIHByaW50KG1heF9vdXRlcl9hcnJheXMpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx275' class='ltx_listingline'> | <div id='lstnumberx275' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx276' class='ltx_listingline'> | <div id='lstnumberx276' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx277' class='ltx_listingline'> | <div id='lstnumberx277' class='ltx_listingline'> |
<div id='lstnumberx278' class='ltx_listingline'> | <div id='lstnumberx278' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx279' class='ltx_listingline'> | <div id='lstnumberx279' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx280' class='ltx_listingline'> | <div id='lstnumberx280' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; |
</div> | </div> |
<div id='lstnumberx281' class='ltx_listingline'> | <div id='lstnumberx281' class='ltx_listingline'> |
<div id='lstnumberx282' class='ltx_listingline'> | <div id='lstnumberx282' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; |
</div> | </div> |
<div id='lstnumberx283' class='ltx_listingline'> | <div id='lstnumberx283' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx284' class='ltx_listingline'> | <div id='lstnumberx284' class='ltx_listingline'> |
<div id='lstnumberx285' class='ltx_listingline'> | <div id='lstnumberx285' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_inner_vects</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_inner_vects</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; |
</div> | </div> |
<div id='lstnumberx286' class='ltx_listingline'> | <div id='lstnumberx286' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_inner_vects</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_inner_vects</span>); |
</div> | </div> |
<div id='lstnumberx287' class='ltx_listingline'> | <div id='lstnumberx287' class='ltx_listingline'> |
<div id='lstnumberx288' class='ltx_listingline'> | <div id='lstnumberx288' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_inner_arrays</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_inner_arrays</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}; |
</div> | </div> |
<div id='lstnumberx289' class='ltx_listingline'> | <div id='lstnumberx289' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_inner_arrays</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_inner_arrays</span>); |
</div> | </div> |
<div id='lstnumberx290' class='ltx_listingline'> | <div id='lstnumberx290' class='ltx_listingline'> |
<div id='lstnumberx291' class='ltx_listingline'> | <div id='lstnumberx291' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_outer_arrays</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[.,.,<span class='ltx_text ltx_lst_identifier'>i</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>max_outer_arrays</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>maxval</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[.,.,<span class='ltx_text ltx_lst_identifier'>i</span>]])}; |
</div> | </div> |
<div id='lstnumberx292' class='ltx_listingline'> | <div id='lstnumberx292' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_outer_arrays</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>max_outer_arrays</span>); |
</div> | </div> |
<div id='lstnumberx293' class='ltx_listingline'> | <div id='lstnumberx293' class='ltx_listingline'> |
<div id='lstnumberx294' class='ltx_listingline'> | <div id='lstnumberx294' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx295' class='ltx_listingline'> | <div id='lstnumberx295' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 18: </span>Axis Control: ++, reverse</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 18: </span>Axis Control: ++, reverse</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgdmVjdCA9IFswLDEsMiwzXTsKCiAgYXJyM2QgPSB7W2ksal0gLT4gdmVjdFtbaV1dKjQgKyB2ZWN0W1tqXV0qMTYgKyB2ZWN0fTsKICBwcmludChhcnIzZCk7CgogIHByaW50KGFycjNkICsrIGFycjNkKTsKICBwcmludCh7W2ldIC0+IGFycjNkW1tpXV0gKysgYXJyM2RbW2ldXX0pOwogIHByaW50KHtbaSxqXSAtPiBhcnIzZFtbaSxqXV0gKysgYXJyM2RbW2ksal1dfSk7CgogIHByaW50KHJldmVyc2UoIGFycjNkKSk7CiAgcHJpbnQoeyBbaV0gLT4gcmV2ZXJzZShhcnIzZFtbaV1dKX0pOwogIHByaW50KHsgW2ksal0gLT4gcmV2ZXJzZShhcnIzZFtbaSxqXV0pfSk7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB2ZWN0ID0gWzAsMSwyLDNdOwoKICAgYXJyM2QgPSB7W2ksal0gLT4gdmVjdFtbaV1dKjQgKyB2ZWN0W1tqXV0qMTYgKyB2ZWN0fTsKICAgcHJpbnQoYXJyM2QpOwoKICAgcHJpbnQoYXJyM2QgKysgYXJyM2QpOwogICBwcmludCh7W2ldIC0+IGFycjNkW1tpXV0gKysgYXJyM2RbW2ldXX0pOwogICBwcmludCh7W2ksal0gLT4gYXJyM2RbW2ksal1dICsrIGFycjNkW1tpLGpdXX0pOwoKICAgcHJpbnQocmV2ZXJzZSggYXJyM2QpKTsKICAgcHJpbnQoeyBbaV0gLT4gcmV2ZXJzZShhcnIzZFtbaV1dKX0pOwogICBwcmludCh7IFtpLGpdIC0+IHJldmVyc2UoYXJyM2RbW2ksal1dKX0pOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx296' class='ltx_listingline'> | <div id='lstnumberx296' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx297' class='ltx_listingline'> | <div id='lstnumberx297' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx298' class='ltx_listingline'> | <div id='lstnumberx298' class='ltx_listingline'> |
<div id='lstnumberx299' class='ltx_listingline'> | <div id='lstnumberx299' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx300' class='ltx_listingline'> | <div id='lstnumberx300' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx301' class='ltx_listingline'> | <div id='lstnumberx301' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[0,1,2,3]; |
</div> | </div> |
<div id='lstnumberx302' class='ltx_listingline'> | <div id='lstnumberx302' class='ltx_listingline'> |
<div id='lstnumberx303' class='ltx_listingline'> | <div id='lstnumberx303' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]*4<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>[[<span class='ltx_text ltx_lst_identifier'>j</span>]]*16<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>}; |
</div> | </div> |
<div id='lstnumberx304' class='ltx_listingline'> | <div id='lstnumberx304' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx305' class='ltx_listingline'> | <div id='lstnumberx305' class='ltx_listingline'> |
<div id='lstnumberx306' class='ltx_listingline'> | <div id='lstnumberx306' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span><span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>); |
</div> | </div> |
<div id='lstnumberx307' class='ltx_listingline'> | <div id='lstnumberx307' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]<span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]}); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]<span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]]}); |
</div> | </div> |
<div id='lstnumberx308' class='ltx_listingline'> | <div id='lstnumberx308' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]<span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]}); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]<span class='ltx_text ltx_lst_space'> </span>++<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]]}); |
</div> | </div> |
<div id='lstnumberx309' class='ltx_listingline'> | <div id='lstnumberx309' class='ltx_listingline'> |
<div id='lstnumberx310' class='ltx_listingline'> | <div id='lstnumberx310' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>arr3d</span>)); |
</div> | </div> |
<div id='lstnumberx311' class='ltx_listingline'> | <div id='lstnumberx311' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>]])}); |
</div> | </div> |
<div id='lstnumberx312' class='ltx_listingline'> | <div id='lstnumberx312' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>({<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>reverse</span>(<span class='ltx_text ltx_lst_identifier'>arr3d</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}); |
</div> | </div> |
<div id='lstnumberx313' class='ltx_listingline'> | <div id='lstnumberx313' class='ltx_listingline'> |
<div id='lstnumberx314' class='ltx_listingline'> | <div id='lstnumberx314' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx315' class='ltx_listingline'> | <div id='lstnumberx315' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<p class='ltx_p'>Line 11 shows a standard application of the concatenation of two arrays. | <p class='ltx_p'>Line 11 shows a standard application of the concatenation of two arrays. |
It affects the outermost axis only, resulting in an array of shape | It affects the outermost axis only, resulting in an array of shape |
<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>[8,<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span>0]</span>. | <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>[8,<span class='ltx_text ltx_lst_space'> </span>4,<span class='ltx_text ltx_lst_space'> </span>4]</span>. |
The two subsequent lines show, how to apply concatenation to other axis. | The two subsequent lines show, how to apply concatenation to other axis. |
Essentially, the selections on the right hand sides select the sub expressions to | Essentially, the selections on the right hand sides select the sub expressions to |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 19: </span>Matrix Product</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 19: </span>Matrix Product</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgaWQgPSBbWzFkLCAwZCwgMGRdLCBbMGQsIDFkLCAwZF0sIFswZCwgMGQsIDFkXV07CgogIHZlY3QgPSBbMWQsIDJkLCAzZCwgNGRdOwogIG1hdCA9IFt2ZWN0LCB2ZWN0KzRkLCB2ZWN0KzhkXTsKICBwcmludChtYXQpOwoKICByZXMgPSB7W2ksal0gLT4gc3VtKGlkW1tpLC5dXSAqIG1hdFtbLixqXV0pfTsKICBwcmludChyZXMpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBpZCA9IFtbMWQsIDBkLCAwZF0sIFswZCwgMWQsIDBkXSwgWzBkLCAwZCwgMWRdXTsKCiAgIHZlY3QgPSBbMWQsIDJkLCAzZCwgNGRdOwogICBtYXQgPSBbdmVjdCwgdmVjdCs0ZCwgdmVjdCs4ZF07CiAgIHByaW50KG1hdCk7CgogICByZXMgPSB7W2ksal0gLT4gc3VtKGlkW1tpLC5dXSAqIG1hdFtbLixqXV0pfTsKICAgcHJpbnQocmVzKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx316' class='ltx_listingline'> | <div id='lstnumberx316' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx317' class='ltx_listingline'> | <div id='lstnumberx317' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx318' class='ltx_listingline'> | <div id='lstnumberx318' class='ltx_listingline'> |
<div id='lstnumberx319' class='ltx_listingline'> | <div id='lstnumberx319' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx320' class='ltx_listingline'> | <div id='lstnumberx320' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx321' class='ltx_listingline'> | <div id='lstnumberx321' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>id</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>]]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>id</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>]]; |
</div> | </div> |
<div id='lstnumberx322' class='ltx_listingline'> | <div id='lstnumberx322' class='ltx_listingline'> |
<div id='lstnumberx323' class='ltx_listingline'> | <div id='lstnumberx323' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>3<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>3<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>]; |
</div> | </div> |
<div id='lstnumberx324' class='ltx_listingline'> | <div id='lstnumberx324' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+8<span class='ltx_text ltx_lst_identifier'>d</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+8<span class='ltx_text ltx_lst_identifier'>d</span>]; |
</div> | </div> |
<div id='lstnumberx325' class='ltx_listingline'> | <div id='lstnumberx325' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx326' class='ltx_listingline'> | <div id='lstnumberx326' class='ltx_listingline'> |
<div id='lstnumberx327' class='ltx_listingline'> | <div id='lstnumberx327' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>res</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>id</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,.]]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[.,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>res</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_identifier'>id</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,.]]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>[[.,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; |
</div> | </div> |
<div id='lstnumberx328' class='ltx_listingline'> | <div id='lstnumberx328' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>res</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>res</span>); |
</div> | </div> |
<div id='lstnumberx329' class='ltx_listingline'> | <div id='lstnumberx329' class='ltx_listingline'> |
<div id='lstnumberx330' class='ltx_listingline'> | <div id='lstnumberx330' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx331' class='ltx_listingline'> | <div id='lstnumberx331' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<div id='Ch2.S2.SS3.SSSx1.p4' class='ltx_para'> | <div id='Ch2.S2.SS3.SSSx1.p4' class='ltx_para'> |
<p class='ltx_p'>After defining two matrices <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>id</span> and <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>mat</span> in | <p class='ltx_p'>After defining two matrices <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>id</span> and <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>mat</span> in |
lines6 and 8, respectively, | lines 6 and 8, respectively, |
the matrix product <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>id</span><span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.SS3.SSSx1.p4.m1' class='ltx_Math' alttext='\odot' display='inline'><mo>⊙</mo></math><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span></span> is specified in line 12. | the matrix product <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>id</span><span class='ltx_text ltx_lst_space'> </span><math id='Ch2.S2.SS3.SSSx1.p4.m1' class='ltx_Math' alttext='\odot' display='inline'><mo>⊙</mo></math><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span></span> is specified in line 12. |
<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>id</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,.]]</span> selects the <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</span>-th row of <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>id</span> and | <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>id</span>[[<span class='ltx_text ltx_lst_identifier'>i</span>,.]]</span> selects the <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>i</span>-th row of <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>id</span> and |
Fig. <a href='#Ch2.F1' title='Figure 2.1 ‣ Relaxation ‣ 2.2.3 Putting it all Together ‣ 2.2 Lesson 2: Shape-Invariant Programming ‣ Chapter 2 Array Programming Basics ‣ Part I Trails Covering the Basics of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_tag'>2.1</span></a> illustrates such a stencil operation.</p> | Fig. <a href='#Ch2.F1' title='Figure 2.1 ‣ Relaxation ‣ 2.2.3 Putting it all Together ‣ 2.2 Lesson 2: Shape-Invariant Programming ‣ Chapter 2 Array Programming Basics ‣ Part I Trails Covering the Basics of SaC' class='ltx_ref'><span class='ltx_text ltx_ref_tag'>2.1</span></a> illustrates such a stencil operation.</p> |
</div> | </div> |
<figure id='Ch2.F1' class='ltx_figure'><img src='data:image/png;base64,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' id='Ch2.F1.g1' class='ltx_graphics ltx_centering' width='209' height='130' alt='A 5-point-stencil relaxation with cyclic boundaries'> | <figure id='Ch2.F1' class='ltx_figure'><img src='data:image/png;base64,b'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'' id='Ch2.F1.g1' class='ltx_graphics ltx_centering' width='209' height='130' alt='A 5-point-stencil relaxation with cyclic boundaries'> |
<figcaption class='ltx_caption ltx_centering'><span class='ltx_tag ltx_tag_figure'>Figure 2.1: </span>A 5-point-stencil relaxation with cyclic boundaries</figcaption> | <figcaption class='ltx_caption ltx_centering'><span class='ltx_tag ltx_tag_figure'>Figure 2.1: </span>A 5-point-stencil relaxation with cyclic boundaries</figcaption> |
</figure> | </figure> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 20: </span>Relaxation with Cyclic Boundaries</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 20: </span>Relaxation with Cyclic Boundaries</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgd2VpZ2h0cyA9IFtbMGQsIDFkLCAwZF0sIFsxZCwgNGQsIDFkXSwgWyAwZCwgMWQsIDBkXV0gLyA4ZDsKCiAgdmVjdCA9IFsxZCwgMmQsIDNkLCA0ZF07CiAgbWF0ID0gW3ZlY3QsIHZlY3QrNGQsIHZlY3QrOGQsIHZlY3QrMTJkXTsKICBwcmludChtYXQpOwoKICBtYXQgPSB7W2ksal0gLT4gc3VtKHsgaXYgLT4gd2VpZ2h0c1tpdl0gKiByb3RhdGUoaXYtMSwgbWF0KX1bWy4uLixpLGpdXSl9OwogIHByaW50KG1hdCk7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICB3ZWlnaHRzID0gW1swZCwgMWQsIDBkXSwgWzFkLCA0ZCwgMWRdLCBbIDBkLCAxZCwgMGRdXSAvIDhkOwoKICAgdmVjdCA9IFsxZCwgMmQsIDNkLCA0ZF07CiAgIG1hdCA9IFt2ZWN0LCB2ZWN0KzRkLCB2ZWN0KzhkLCB2ZWN0KzEyZF07CiAgIHByaW50KG1hdCk7CgogICBtYXQgPSB7W2ksal0gLT4gc3VtKHsgaXYgLT4gd2VpZ2h0c1tpdl0gKiByb3RhdGUoaXYtMSwgbWF0KX1bWy4uLixpLGpdXSl9OwogICBwcmludChtYXQpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx332' class='ltx_listingline'> | <div id='lstnumberx332' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx333' class='ltx_listingline'> | <div id='lstnumberx333' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx334' class='ltx_listingline'> | <div id='lstnumberx334' class='ltx_listingline'> |
<div id='lstnumberx335' class='ltx_listingline'> | <div id='lstnumberx335' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx336' class='ltx_listingline'> | <div id='lstnumberx336' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx337' class='ltx_listingline'> | <div id='lstnumberx337' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>]]<span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_space'> </span>8<span class='ltx_text ltx_lst_identifier'>d</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[[0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>],<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>0<span class='ltx_text ltx_lst_identifier'>d</span>]]<span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_space'> </span>8<span class='ltx_text ltx_lst_identifier'>d</span>; |
</div> | </div> |
<div id='lstnumberx338' class='ltx_listingline'> | <div id='lstnumberx338' class='ltx_listingline'> |
<div id='lstnumberx339' class='ltx_listingline'> | <div id='lstnumberx339' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>3<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>3<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span>4<span class='ltx_text ltx_lst_identifier'>d</span>]; |
</div> | </div> |
<div id='lstnumberx340' class='ltx_listingline'> | <div id='lstnumberx340' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+8<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+12<span class='ltx_text ltx_lst_identifier'>d</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>vect</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+4<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+8<span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>vect</span>+12<span class='ltx_text ltx_lst_identifier'>d</span>]; |
</div> | </div> |
<div id='lstnumberx341' class='ltx_listingline'> | <div id='lstnumberx341' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx342' class='ltx_listingline'> | <div id='lstnumberx342' class='ltx_listingline'> |
<div id='lstnumberx343' class='ltx_listingline'> | <div id='lstnumberx343' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>({<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>rotate</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>-1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)}[[…,<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>{[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>({<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>rotate</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>-1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)}[[…,<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]])}; |
</div> | </div> |
<div id='lstnumberx344' class='ltx_listingline'> | <div id='lstnumberx344' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>mat</span>); |
</div> | </div> |
<div id='lstnumberx345' class='ltx_listingline'> | <div id='lstnumberx345' class='ltx_listingline'> |
<div id='lstnumberx346' class='ltx_listingline'> | <div id='lstnumberx346' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx347' class='ltx_listingline'> | <div id='lstnumberx347' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
This is achieved by applying <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>rotate</span> for each legal index position <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>iv</span> | This is achieved by applying <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>rotate</span> for each legal index position <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>iv</span> |
into the array of weights <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>weights</span>. | into the array of weights <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>weights</span>. |
Since the expression <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>{<span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>rotate</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>-1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)}</span> | Since the expression <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>{<span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span>-><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>weights</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>rotate</span>(<span class='ltx_text ltx_lst_identifier'>iv</span>-1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mat</span>)}</span> |
computes a 3 by 3 array of matrices; the reduction operation <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>sum</span> | computes a 3 by 3 array of matrices; the reduction operation <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>sum</span> |
needs to be directed towards the outer two axes of that expression only. | needs to be directed towards the outer two axes of that expression only. |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 21: </span>Function definitions</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 21: </span>Function definitions</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFNjYWxhckFyaXRoOiBhbGw7CgppbnQsIGludCBkaXZtb2QoaW50IHgsIGludCB5KQp7CiAgcmV0dXJuICh4IC8geSwgeCAlIHkpOwp9CgppbnQgbWFpbigpCnsKICBkLCBtID0gZGl2bW9kKDgsIDMpOwogIHJldHVybiBkOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTY2FsYXJBcml0aDogYWxsOwoKIGludCwgaW50IGRpdm1vZChpbnQgeCwgaW50IHkpCiB7CiAgIHJldHVybiAoeCAvIHksIHggJSB5KTsKIH0KCiBpbnQgbWFpbigpCiB7CiAgIGQsIG0gPSBkaXZtb2QoOCwgMyk7CiAgIHJldHVybiBkOwogfQ=='>⬇</a></div> |
<div id='lstnumberx348' class='ltx_listingline'> | <div id='lstnumberx348' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx349' class='ltx_listingline'> | <div id='lstnumberx349' class='ltx_listingline'> |
<div id='lstnumberx350' class='ltx_listingline'> | <div id='lstnumberx350' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) |
</div> | </div> |
<div id='lstnumberx351' class='ltx_listingline'> | <div id='lstnumberx351' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx352' class='ltx_listingline'> | <div id='lstnumberx352' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx353' class='ltx_listingline'> | <div id='lstnumberx353' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx354' class='ltx_listingline'> | <div id='lstnumberx354' class='ltx_listingline'> |
<div id='lstnumberx355' class='ltx_listingline'> | <div id='lstnumberx355' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx356' class='ltx_listingline'> | <div id='lstnumberx356' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx357' class='ltx_listingline'> | <div id='lstnumberx357' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(8,<span class='ltx_text ltx_lst_space'> </span>3); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(8,<span class='ltx_text ltx_lst_space'> </span>3); |
</div> | </div> |
<div id='lstnumberx358' class='ltx_listingline'> | <div id='lstnumberx358' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>; |
</div> | </div> |
<div id='lstnumberx359' class='ltx_listingline'> | <div id='lstnumberx359' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 22: </span>Element-Type segregation</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 22: </span>Element-Type segregation</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKYm9vbCBmb28oZG91YmxlIHgpCnsKICByZXR1cm4gdHJ1ZTsKfQoKYm9vbCBiYXIoZmxvYXQgeCkKewogIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKQp7CiAgLyogVHlwZSBlcnJvcjogZm9vIGlzIG5vdCBkZWZpbmVkIG9uIGludCEgICovCiAgYSA9IGZvbygwKTsKCiAgLyogQ29ycmVjdCBjYWxsczogICovCiAgYSA9IGZvbygwLjApOwogIGEgPSBmb28oMGQpOwoKICAvKiBUeXBlIGVycm9yOiBiYXIgaXMgbm90IGRlZmluZWQgb24gZG91YmxlISAgKi8KICBhID0gYmFyKDAuMCk7CgogIC8qIENvcnJlY3QgY2FsbHM6ICAgKi8KICBhID0gYmFyKDBmKTsKICBhID0gYmFyKDAuMGYpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogYm9vbCBmb28oZG91YmxlIHgpCiB7CiAgIHJldHVybiB0cnVlOwogfQoKIGJvb2wgYmFyKGZsb2F0IHgpCiB7CiAgIHJldHVybiBmYWxzZTsKIH0KCiBpbnQgbWFpbigpCiB7CiAgIC8qIFR5cGUgZXJyb3I6IGZvbyBpcyBub3QgZGVmaW5lZCBvbiBpbnQhICAqLwogICBhID0gZm9vKDApOwoKICAgLyogQ29ycmVjdCBjYWxsczogICovCiAgIGEgPSBmb28oMC4wKTsKICAgYSA9IGZvbygwZCk7CgogICAvKiBUeXBlIGVycm9yOiBiYXIgaXMgbm90IGRlZmluZWQgb24gZG91YmxlISAgKi8KICAgYSA9IGJhcigwLjApOwoKICAgLyogQ29ycmVjdCBjYWxsczogICAqLwogICBhID0gYmFyKDBmKTsKICAgYSA9IGJhcigwLjBmKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx360' class='ltx_listingline'> | <div id='lstnumberx360' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx361' class='ltx_listingline'> | <div id='lstnumberx361' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx362' class='ltx_listingline'> | <div id='lstnumberx362' class='ltx_listingline'> |
<div id='lstnumberx363' class='ltx_listingline'> | <div id='lstnumberx363' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>bool</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>bool</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx364' class='ltx_listingline'> | <div id='lstnumberx364' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx365' class='ltx_listingline'> | <div id='lstnumberx365' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>true</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>true</span>; |
</div> | </div> |
<div id='lstnumberx366' class='ltx_listingline'> | <div id='lstnumberx366' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx367' class='ltx_listingline'> | <div id='lstnumberx367' class='ltx_listingline'> |
<div id='lstnumberx368' class='ltx_listingline'> | <div id='lstnumberx368' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>bool</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>bool</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx369' class='ltx_listingline'> | <div id='lstnumberx369' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx370' class='ltx_listingline'> | <div id='lstnumberx370' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>false</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>false</span>; |
</div> | </div> |
<div id='lstnumberx371' class='ltx_listingline'> | <div id='lstnumberx371' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx372' class='ltx_listingline'> | <div id='lstnumberx372' class='ltx_listingline'> |
<div id='lstnumberx373' class='ltx_listingline'> | <div id='lstnumberx373' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx374' class='ltx_listingline'> | <div id='lstnumberx374' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx375' class='ltx_listingline'> | <div id='lstnumberx375' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Type<span class='ltx_text ltx_lst_space'> </span>error:<span class='ltx_text ltx_lst_space'> </span>foo<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>not<span class='ltx_text ltx_lst_space'> </span>defined<span class='ltx_text ltx_lst_space'> </span>on<span class='ltx_text ltx_lst_space'> </span>int!<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Type<span class='ltx_text ltx_lst_space'> </span>error:<span class='ltx_text ltx_lst_space'> </span>foo<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>not<span class='ltx_text ltx_lst_space'> </span>defined<span class='ltx_text ltx_lst_space'> </span>on<span class='ltx_text ltx_lst_space'> </span>int!<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx376' class='ltx_listingline'> | <div id='lstnumberx376' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0); |
</div> | </div> |
<div id='lstnumberx377' class='ltx_listingline'> | <div id='lstnumberx377' class='ltx_listingline'> |
<div id='lstnumberx378' class='ltx_listingline'> | <div id='lstnumberx378' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Correct<span class='ltx_text ltx_lst_space'> </span>calls:<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Correct<span class='ltx_text ltx_lst_space'> </span>calls:<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx379' class='ltx_listingline'> | <div id='lstnumberx379' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0.0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0.0); |
</div> | </div> |
<div id='lstnumberx380' class='ltx_listingline'> | <div id='lstnumberx380' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0<span class='ltx_text ltx_lst_identifier'>d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(0<span class='ltx_text ltx_lst_identifier'>d</span>); |
</div> | </div> |
<div id='lstnumberx381' class='ltx_listingline'> | <div id='lstnumberx381' class='ltx_listingline'> |
<div id='lstnumberx382' class='ltx_listingline'> | <div id='lstnumberx382' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Type<span class='ltx_text ltx_lst_space'> </span>error:<span class='ltx_text ltx_lst_space'> </span>bar<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>not<span class='ltx_text ltx_lst_space'> </span>defined<span class='ltx_text ltx_lst_space'> </span>on<span class='ltx_text ltx_lst_space'> </span>double!<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Type<span class='ltx_text ltx_lst_space'> </span>error:<span class='ltx_text ltx_lst_space'> </span>bar<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>not<span class='ltx_text ltx_lst_space'> </span>defined<span class='ltx_text ltx_lst_space'> </span>on<span class='ltx_text ltx_lst_space'> </span>double!<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx383' class='ltx_listingline'> | <div id='lstnumberx383' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0.0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0.0); |
</div> | </div> |
<div id='lstnumberx384' class='ltx_listingline'> | <div id='lstnumberx384' class='ltx_listingline'> |
<div id='lstnumberx385' class='ltx_listingline'> | <div id='lstnumberx385' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Correct<span class='ltx_text ltx_lst_space'> </span>calls:<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Correct<span class='ltx_text ltx_lst_space'> </span>calls:<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx386' class='ltx_listingline'> | <div id='lstnumberx386' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0<span class='ltx_text ltx_lst_identifier'>f</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0<span class='ltx_text ltx_lst_identifier'>f</span>); |
</div> | </div> |
<div id='lstnumberx387' class='ltx_listingline'> | <div id='lstnumberx387' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0.0<span class='ltx_text ltx_lst_identifier'>f</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(0.0<span class='ltx_text ltx_lst_identifier'>f</span>); |
</div> | </div> |
<div id='lstnumberx388' class='ltx_listingline'> | <div id='lstnumberx388' class='ltx_listingline'> |
<div id='lstnumberx389' class='ltx_listingline'> | <div id='lstnumberx389' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx390' class='ltx_listingline'> | <div id='lstnumberx390' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
integer elements in a graphical form.</p> | integer elements in a graphical form.</p> |
</div> | </div> |
<figure id='Ch3.F1' class='ltx_figure'><svg id='Ch3.F1.pic1' class='ltx_picture ltx_centering' style='width:324.5pt;height:104.1pt;' height='144.08' overflow='visible' version='1.1' viewbox='-35.4 -12.98 449.02 144.08' width='449.02'><g color='#000000' fill='#000000' stroke='#000000' stroke-width='0.4pt' transform='matrix(1 0 0 -1 0 118.12)'><g transform='matrix(1 0 0 1 -28.02 115)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='40.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[*]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 31.04 75.63)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='40.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[+]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 31.04 36.26)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='40.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[.]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 159.49 36.26)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='54.0pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[.,.]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 307.63 36.26)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='67.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[.,.,.]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 392.97 36.26)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='6.7pt' y='-1.8pt'><math id='Ch3.F1.pic1.m1' class='ltx_Math' alttext='\cdots' display='inline'><mi mathsize='90%' mathvariant='normal'>⋯</mi></math></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 31.04 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='40.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[1]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 78.28 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='40.5pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[4]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 133.13 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='6.7pt' y='-1.8pt'><math id='Ch3.F1.pic1.m2' class='ltx_Math' alttext='\cdots' display='inline'><mi mathsize='90%' mathvariant='normal'>⋯</mi></math></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 159.49 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='54.0pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[7,2]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 218.55 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='54.0pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[2,9]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 286.67 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='6.7pt' y='-1.8pt'><math id='Ch3.F1.pic1.m3' class='ltx_Math' alttext='\cdots' display='inline'><mi mathsize='90%' mathvariant='normal'>⋯</mi></math></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 302.96 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='74.2pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int[9,8,11]</span></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 396.9 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='6.7pt' y='-1.8pt'><math id='Ch3.F1.pic1.m4' class='ltx_Math' alttext='\cdots' display='inline'><mi mathsize='90%' mathvariant='normal'>⋯</mi></math></foreignobject></switch></g></g><g transform='matrix(1 0 0 1 -14.01 -3.11)'><g class='ltx_svg_fog' fill='#000000' stroke='#000000' transform='matrix(1 0 0 -1 0 11.21)'><switch><foreignobject height='8.1pt' overflow='visible' width='20.2pt' y='-1.8pt'><span class='ltx_text ltx_font_typewriter' style='font-size:90%;'>int</span></foreignobject></switch></g></g><path d='M 0 107.62 L 0 10.49' style='fill:none'></path><path d='M 15.74 107.62 L 43.32 89.23' style='fill:none'></path><path d='M 59.06 68.25 L 59.06 49.86' style='fill:none'></path><path d='M 91.96 69.34 L 160.13 49.86' style='fill:none'></path><path d='M 91.96 74.35 L 302.74 46.25' style='fill:none'></path><path d='M 59.06 28.88 L 59.06 10.49' style='fill:none'></path><path d='M 71.65 28.88 L 93.71 10.49' style='fill:none'></path><path d='M 196.85 28.88 L 196.85 10.49' style='fill:none'></path><path d='M 212.59 28.88 L 240.17 10.49' style='fill:none'></path><path d='M 354.33 28.88 L 354.33 10.49' style='fill:none'></path></g></svg> | <figure id='Ch3.F1' class='ltx_figure'><span class='ltx_ERROR ltx_centering undefined'>{tikzpicture}</span><span class='ltx_ERROR ltx_centering undefined'>\node</span> |
| <p class='ltx_p ltx_align_center'><span class='ltx_text' style='font-size:90%;'>(star) at (0,3) <span class='ltx_text ltx_font_typewriter'>int[*]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(plus) at (1.5,2) <span class='ltx_text ltx_font_typewriter'>int[+]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(akd1) at (1.5,1) <span class='ltx_text ltx_font_typewriter'>int[.]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(akd2) at (5,1) <span class='ltx_text ltx_font_typewriter'>int[.,.]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(akd3) at (9,1) <span class='ltx_text ltx_font_typewriter'>int[.,.,.]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(akd4) at (10.1,1) <math id='Ch3.F1.m1' class='ltx_Math' alttext='\cdots' display='inline'><mi mathvariant='normal'>⋯</mi></math>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks11) at (1.5,0) <span class='ltx_text ltx_font_typewriter'>int[1]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks12) at (2.7,0) <span class='ltx_text ltx_font_typewriter'>int[4]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks13) at (3.5,0) <math id='Ch3.F1.m2' class='ltx_Math' alttext='\cdots' display='inline'><mi mathvariant='normal'>⋯</mi></math>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks21) at (5,0) <span class='ltx_text ltx_font_typewriter'>int[7,2]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks22) at (6.5,0) <span class='ltx_text ltx_font_typewriter'>int[2,9]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks23) at (7.4,0) <math id='Ch3.F1.m3' class='ltx_Math' alttext='\cdots' display='inline'><mi mathvariant='normal'>⋯</mi></math>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks31) at (9,0) <span class='ltx_text ltx_font_typewriter'>int[9,8,11]</span>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks32) at (10.2,0) <math id='Ch3.F1.m4' class='ltx_Math' alttext='\cdots' display='inline'><mi mathvariant='normal'>⋯</mi></math>; |
| <span class='ltx_ERROR undefined'>\node</span>(aks00) at (0,0) <span class='ltx_text ltx_font_typewriter'>int</span>; |
| <a href='star)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>star)edge</a>aks00); |
| <a href='star)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>star)edge</a>plus); |
| <a href='plus)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>plus)edge</a>akd1); |
| <a href='plus)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>plus)edge</a>akd2); |
| <a href='plus)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>plus)edge</a>akd3); |
| <a href='akd1)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>akd1)edge</a>aks11); |
| <a href='akd1)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>akd1)edge</a>aks12); |
| <a href='akd2)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>akd2)edge</a>aks21); |
| <a href='akd2)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>akd2)edge</a>aks22); |
| <a href='akd3)edge' title='' class='ltx_ref ltx_path ltx_font_typewriter'>akd3)edge</a>aks31); |
| </span></p> |
<figcaption class='ltx_caption ltx_centering'><span class='ltx_tag ltx_tag_figure'>Figure 3.1: </span>The hierarchy of array types of integer elements.</figcaption> | <figcaption class='ltx_caption ltx_centering'><span class='ltx_tag ltx_tag_figure'>Figure 3.1: </span>The hierarchy of array types of integer elements.</figcaption> |
</figure> | </figure> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 23: </span>Function overloading</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 23: </span>Function overloading</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFNjYWxhckFyaXRoOiBhbGw7CnVzZSBTdGRJTzogYWxsOwoKaW50IHR3aWNlKGludCB4KQp7CiAgcmV0dXJuIDIgKiB4Owp9Cgpkb3VibGUgdHdpY2UoZG91YmxlIHgpCnsKICByZXR1cm4gMi4wICogeDsKfQoKaW50IG1haW4oKQp7CiAgYSA9IHR3aWNlKDUpOwogIHByaW50KGEpOwoKICBiID0gdHdpY2UoNS45KTsKICBwcmludChiKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTY2FsYXJBcml0aDogYWxsOwogdXNlIFN0ZElPOiBhbGw7CgogaW50IHR3aWNlKGludCB4KQogewogICByZXR1cm4gMiAqIHg7CiB9CgogZG91YmxlIHR3aWNlKGRvdWJsZSB4KQogewogICByZXR1cm4gMi4wICogeDsKIH0KCiBpbnQgbWFpbigpCiB7CiAgIGEgPSB0d2ljZSg1KTsKICAgcHJpbnQoYSk7CgogICBiID0gdHdpY2UoNS45KTsKICAgcHJpbnQoYik7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx391' class='ltx_listingline'> | <div id='lstnumberx391' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx392' class='ltx_listingline'> | <div id='lstnumberx392' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx393' class='ltx_listingline'> | <div id='lstnumberx393' class='ltx_listingline'> |
<div id='lstnumberx394' class='ltx_listingline'> | <div id='lstnumberx394' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx395' class='ltx_listingline'> | <div id='lstnumberx395' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx396' class='ltx_listingline'> | <div id='lstnumberx396' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>2<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; |
</div> | </div> |
<div id='lstnumberx397' class='ltx_listingline'> | <div id='lstnumberx397' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx398' class='ltx_listingline'> | <div id='lstnumberx398' class='ltx_listingline'> |
<div id='lstnumberx399' class='ltx_listingline'> | <div id='lstnumberx399' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx400' class='ltx_listingline'> | <div id='lstnumberx400' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx401' class='ltx_listingline'> | <div id='lstnumberx401' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>2.0<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>2.0<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; |
</div> | </div> |
<div id='lstnumberx402' class='ltx_listingline'> | <div id='lstnumberx402' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx403' class='ltx_listingline'> | <div id='lstnumberx403' class='ltx_listingline'> |
<div id='lstnumberx404' class='ltx_listingline'> | <div id='lstnumberx404' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx405' class='ltx_listingline'> | <div id='lstnumberx405' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx406' class='ltx_listingline'> | <div id='lstnumberx406' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(5); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(5); |
</div> | </div> |
<div id='lstnumberx407' class='ltx_listingline'> | <div id='lstnumberx407' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx408' class='ltx_listingline'> | <div id='lstnumberx408' class='ltx_listingline'> |
<div id='lstnumberx409' class='ltx_listingline'> | <div id='lstnumberx409' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(5.9); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>twice</span>(5.9); |
</div> | </div> |
<div id='lstnumberx410' class='ltx_listingline'> | <div id='lstnumberx410' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx411' class='ltx_listingline'> | <div id='lstnumberx411' class='ltx_listingline'> |
<div id='lstnumberx412' class='ltx_listingline'> | <div id='lstnumberx412' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx413' class='ltx_listingline'> | <div id='lstnumberx413' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 24: </span>Overloading as pattern matching.</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 24: </span>Overloading as pattern matching.</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW50Wy5dIHF1aWNrc29ydChpbnRbLl0gdikKewogICBwaXZvdCA9IHZbWzFdXTsKICAgLyogLi4uICAqLwp9CgppbnRbMV0gcXVpY2tzb3J0KGludFsxXSB2KQp7CiAgcmV0dXJuIHY7Cn0KCmludFswXSBxdWlja3NvcnQoaW50WzBdIHYpCnsKICByZXR1cm4gdjsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGludFsuXSBxdWlja3NvcnQoaW50Wy5dIHYpCiB7CiAgICBwaXZvdCA9IHZbWzFdXTsKICAgIC8qIC4uLiAgKi8KIH0KCiBpbnRbMV0gcXVpY2tzb3J0KGludFsxXSB2KQogewogICByZXR1cm4gdjsKIH0KCiBpbnRbMF0gcXVpY2tzb3J0KGludFswXSB2KQogewogICByZXR1cm4gdjsKIH0='>⬇</a></div> |
<div id='lstnumberx414' class='ltx_listingline'> | <div id='lstnumberx414' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) |
</div> | </div> |
<div id='lstnumberx415' class='ltx_listingline'> | <div id='lstnumberx415' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx416' class='ltx_listingline'> | <div id='lstnumberx416' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>pivot</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>[[1]]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>pivot</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>[[1]]; |
</div> | </div> |
<div id='lstnumberx417' class='ltx_listingline'> | <div id='lstnumberx417' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx418' class='ltx_listingline'> | <div id='lstnumberx418' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx419' class='ltx_listingline'> | <div id='lstnumberx419' class='ltx_listingline'> |
<div id='lstnumberx420' class='ltx_listingline'> | <div id='lstnumberx420' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[1]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[1]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[1]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[1]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) |
</div> | </div> |
<div id='lstnumberx421' class='ltx_listingline'> | <div id='lstnumberx421' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx422' class='ltx_listingline'> | <div id='lstnumberx422' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>; |
</div> | </div> |
<div id='lstnumberx423' class='ltx_listingline'> | <div id='lstnumberx423' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx424' class='ltx_listingline'> | <div id='lstnumberx424' class='ltx_listingline'> |
<div id='lstnumberx425' class='ltx_listingline'> | <div id='lstnumberx425' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[0]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[0]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[0]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>quicksort</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[0]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>) |
</div> | </div> |
<div id='lstnumberx426' class='ltx_listingline'> | <div id='lstnumberx426' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx427' class='ltx_listingline'> | <div id='lstnumberx427' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>; |
</div> | </div> |
<div id='lstnumberx428' class='ltx_listingline'> | <div id='lstnumberx428' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 25: </span>Operator assignments in SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 25: </span>Operator assignments in SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIEFycmF5OiBhbGw7CnVzZSBTdGRJTzogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IDQyOwogIHByaW50KGEpOwogIGErKzsKICBwcmludChhKTsKICBhICs9IDU7CiAgcHJpbnQoYSk7CiAgYSAtPSBhOwogIHByaW50KGEpOwoKICB2ID0gWzEsMiwzLDQsNV07CiAgcHJpbnQodik7CiAgdiArPSAxOwogIHByaW50KHYpOwogIHZbMF0gPSAwOwogIHByaW50KHYpOwoKICBtID0gW3Ysdix2XTsKICBwcmludChtKTsKICBtKys7CiAgcHJpbnQobSk7CgogIHJldHVybiBhOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBBcnJheTogYWxsOwogdXNlIFN0ZElPOiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gNDI7CiAgIHByaW50KGEpOwogICBhKys7CiAgIHByaW50KGEpOwogICBhICs9IDU7CiAgIHByaW50KGEpOwogICBhIC09IGE7CiAgIHByaW50KGEpOwoKICAgdiA9IFsxLDIsMyw0LDVdOwogICBwcmludCh2KTsKICAgdiArPSAxOwogICBwcmludCh2KTsKICAgdlswXSA9IDA7CiAgIHByaW50KHYpOwoKICAgbSA9IFt2LHYsdl07CiAgIHByaW50KG0pOwogICBtKys7CiAgIHByaW50KG0pOwoKICAgcmV0dXJuIGE7CiB9'>⬇</a></div> |
<div id='lstnumberx429' class='ltx_listingline'> | <div id='lstnumberx429' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx430' class='ltx_listingline'> | <div id='lstnumberx430' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx431' class='ltx_listingline'> | <div id='lstnumberx431' class='ltx_listingline'> |
<div id='lstnumberx432' class='ltx_listingline'> | <div id='lstnumberx432' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx433' class='ltx_listingline'> | <div id='lstnumberx433' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx434' class='ltx_listingline'> | <div id='lstnumberx434' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx435' class='ltx_listingline'> | <div id='lstnumberx435' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx436' class='ltx_listingline'> | <div id='lstnumberx436' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>++; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>++; |
</div> | </div> |
<div id='lstnumberx437' class='ltx_listingline'> | <div id='lstnumberx437' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx438' class='ltx_listingline'> | <div id='lstnumberx438' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span>5; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span>5; |
</div> | </div> |
<div id='lstnumberx439' class='ltx_listingline'> | <div id='lstnumberx439' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx440' class='ltx_listingline'> | <div id='lstnumberx440' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>-=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>-=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; |
</div> | </div> |
<div id='lstnumberx441' class='ltx_listingline'> | <div id='lstnumberx441' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx442' class='ltx_listingline'> | <div id='lstnumberx442' class='ltx_listingline'> |
<div id='lstnumberx443' class='ltx_listingline'> | <div id='lstnumberx443' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[1,2,3,4,5]; |
</div> | </div> |
<div id='lstnumberx444' class='ltx_listingline'> | <div id='lstnumberx444' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); |
</div> | </div> |
<div id='lstnumberx445' class='ltx_listingline'> | <div id='lstnumberx445' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span>1; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span>1; |
</div> | </div> |
<div id='lstnumberx446' class='ltx_listingline'> | <div id='lstnumberx446' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); |
</div> | </div> |
<div id='lstnumberx447' class='ltx_listingline'> | <div id='lstnumberx447' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>[0]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v</span>[0]<span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx448' class='ltx_listingline'> | <div id='lstnumberx448' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>v</span>); |
</div> | </div> |
<div id='lstnumberx449' class='ltx_listingline'> | <div id='lstnumberx449' class='ltx_listingline'> |
<div id='lstnumberx450' class='ltx_listingline'> | <div id='lstnumberx450' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>v</span>,<span class='ltx_text ltx_lst_identifier'>v</span>,<span class='ltx_text ltx_lst_identifier'>v</span>]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>v</span>,<span class='ltx_text ltx_lst_identifier'>v</span>,<span class='ltx_text ltx_lst_identifier'>v</span>]; |
</div> | </div> |
<div id='lstnumberx451' class='ltx_listingline'> | <div id='lstnumberx451' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>m</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>m</span>); |
</div> | </div> |
<div id='lstnumberx452' class='ltx_listingline'> | <div id='lstnumberx452' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>++; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>++; |
</div> | </div> |
<div id='lstnumberx453' class='ltx_listingline'> | <div id='lstnumberx453' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>m</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>m</span>); |
</div> | </div> |
<div id='lstnumberx454' class='ltx_listingline'> | <div id='lstnumberx454' class='ltx_listingline'> |
<div id='lstnumberx455' class='ltx_listingline'> | <div id='lstnumberx455' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; |
</div> | </div> |
<div id='lstnumberx456' class='ltx_listingline'> | <div id='lstnumberx456' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 26: </span>Conditionals in SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 26: </span>Conditionals in SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFNjYWxhckFyaXRoOiBhbGw7CnVzZSBTdGRJTzogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IDU7CiAgYiA9IDc7CiAgcHJpbnRmKCJhPSVkLCBiPSVkXG4iLCBhLCBiKTsKCiAgaWYgKGEgPCBiKSBhID0gYjsKICBwcmludGYoImE9JWQsIGI9JWRcbiIsIGEsIGIpOwoKICBpZiAoYSA+PSBiKSB7CiAgICBhID0gYjsKICB9IGVsc2UgewogICAgYiA9IGE7CiAgfQogIHByaW50ZigiYT0lZCwgYj0lZFxuIiwgYSwgYik7CgogIGIgPSBhIDwgYiA/IGEgOiBiOwogIHByaW50ZigiYT0lZCwgYj0lZFxuIiwgYSwgYik7CgogIHJldHVybiBiOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTY2FsYXJBcml0aDogYWxsOwogdXNlIFN0ZElPOiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gNTsKICAgYiA9IDc7CiAgIHByaW50ZigiYT0lZCwgYj0lZFxuIiwgYSwgYik7CgogICBpZiAoYSA8IGIpIGEgPSBiOwogICBwcmludGYoImE9JWQsIGI9JWRcbiIsIGEsIGIpOwoKICAgaWYgKGEgPj0gYikgewogICAgIGEgPSBiOwogICB9IGVsc2UgewogICAgIGIgPSBhOwogICB9CiAgIHByaW50ZigiYT0lZCwgYj0lZFxuIiwgYSwgYik7CgogICBiID0gYSA8IGIgPyBhIDogYjsKICAgcHJpbnRmKCJhPSVkLCBiPSVkXG4iLCBhLCBiKTsKCiAgIHJldHVybiBiOwogfQ=='>⬇</a></div> |
<div id='lstnumberx457' class='ltx_listingline'> | <div id='lstnumberx457' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx458' class='ltx_listingline'> | <div id='lstnumberx458' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx459' class='ltx_listingline'> | <div id='lstnumberx459' class='ltx_listingline'> |
<div id='lstnumberx460' class='ltx_listingline'> | <div id='lstnumberx460' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx461' class='ltx_listingline'> | <div id='lstnumberx461' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx462' class='ltx_listingline'> | <div id='lstnumberx462' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>5; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>5; |
</div> | </div> |
<div id='lstnumberx463' class='ltx_listingline'> | <div id='lstnumberx463' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>7; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>7; |
</div> | </div> |
<div id='lstnumberx464' class='ltx_listingline'> | <div id='lstnumberx464' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx465' class='ltx_listingline'> | <div id='lstnumberx465' class='ltx_listingline'> |
<div id='lstnumberx466' class='ltx_listingline'> | <div id='lstnumberx466' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>if</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>)<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>if</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>)<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; |
</div> | </div> |
<div id='lstnumberx467' class='ltx_listingline'> | <div id='lstnumberx467' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx468' class='ltx_listingline'> | <div id='lstnumberx468' class='ltx_listingline'> |
<div id='lstnumberx469' class='ltx_listingline'> | <div id='lstnumberx469' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>if</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>if</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx470' class='ltx_listingline'> | <div id='lstnumberx470' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; |
</div> | </div> |
<div id='lstnumberx471' class='ltx_listingline'> | <div id='lstnumberx471' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>else</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span>}<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>else</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx472' class='ltx_listingline'> | <div id='lstnumberx472' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; |
</div> | </div> |
<div id='lstnumberx473' class='ltx_listingline'> | <div id='lstnumberx473' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span>} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx474' class='ltx_listingline'> | <div id='lstnumberx474' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx475' class='ltx_listingline'> | <div id='lstnumberx475' class='ltx_listingline'> |
<div id='lstnumberx476' class='ltx_listingline'> | <div id='lstnumberx476' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>?<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>?<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; |
</div> | </div> |
<div id='lstnumberx477' class='ltx_listingline'> | <div id='lstnumberx477' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”a=%d,<span class='ltx_text ltx_lst_space'> </span>b=%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx478' class='ltx_listingline'> | <div id='lstnumberx478' class='ltx_listingline'> |
<div id='lstnumberx479' class='ltx_listingline'> | <div id='lstnumberx479' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span>; |
</div> | </div> |
<div id='lstnumberx480' class='ltx_listingline'> | <div id='lstnumberx480' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 27: </span>Loops in SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 27: </span>Loops in SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFNjYWxhckFyaXRoOiBhbGw7CnVzZSBTdGRJTzogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IDEwOwoKICB3aGlsZSAoYSA+IDApIHsKICAgIGEgPSBhIC0gMjsKICAgIHByaW50KGEpOwogIH0KCiAgZG8gewogICAgcHJpbnQoYSk7CiAgICBhID0gYSArIDE7CiAgfSB3aGlsZSAoYSA8IDcpOwoKICBmb3IgKGkgPSAxLCBqID0gMjsgaSArIGogPCA0MiA7IGkrKywgaisrKSB7CiAgICBhICo9IDI7CiAgICBwcmludChhKTsKICB9CgogIHJldHVybiBhOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTY2FsYXJBcml0aDogYWxsOwogdXNlIFN0ZElPOiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gMTA7CgogICB3aGlsZSAoYSA+IDApIHsKICAgICBhID0gYSAtIDI7CiAgICAgcHJpbnQoYSk7CiAgIH0KCiAgIGRvIHsKICAgICBwcmludChhKTsKICAgICBhID0gYSArIDE7CiAgIH0gd2hpbGUgKGEgPCA3KTsKCiAgIGZvciAoaSA9IDEsIGogPSAyOyBpICsgaiA8IDQyIDsgaSsrLCBqKyspIHsKICAgICBhICo9IDI7CiAgICAgcHJpbnQoYSk7CiAgIH0KCiAgIHJldHVybiBhOwogfQ=='>⬇</a></div> |
<div id='lstnumberx481' class='ltx_listingline'> | <div id='lstnumberx481' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx482' class='ltx_listingline'> | <div id='lstnumberx482' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx483' class='ltx_listingline'> | <div id='lstnumberx483' class='ltx_listingline'> |
<div id='lstnumberx484' class='ltx_listingline'> | <div id='lstnumberx484' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx485' class='ltx_listingline'> | <div id='lstnumberx485' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx486' class='ltx_listingline'> | <div id='lstnumberx486' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>10; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>10; |
</div> | </div> |
<div id='lstnumberx487' class='ltx_listingline'> | <div id='lstnumberx487' class='ltx_listingline'> |
<div id='lstnumberx488' class='ltx_listingline'> | <div id='lstnumberx488' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>while</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span>0)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>while</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>><span class='ltx_text ltx_lst_space'> </span>0)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx489' class='ltx_listingline'> | <div id='lstnumberx489' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_space'> </span>2; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_space'> </span>2; |
</div> | </div> |
<div id='lstnumberx490' class='ltx_listingline'> | <div id='lstnumberx490' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx491' class='ltx_listingline'> | <div id='lstnumberx491' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span>} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx492' class='ltx_listingline'> | <div id='lstnumberx492' class='ltx_listingline'> |
<div id='lstnumberx493' class='ltx_listingline'> | <div id='lstnumberx493' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>do</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>do</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx494' class='ltx_listingline'> | <div id='lstnumberx494' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx495' class='ltx_listingline'> | <div id='lstnumberx495' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1; |
</div> | </div> |
<div id='lstnumberx496' class='ltx_listingline'> | <div id='lstnumberx496' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>while</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>7); | <span class='ltx_text ltx_lst_space'> </span>}<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>while</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>7); |
</div> | </div> |
<div id='lstnumberx497' class='ltx_listingline'> | <div id='lstnumberx497' class='ltx_listingline'> |
<div id='lstnumberx498' class='ltx_listingline'> | <div id='lstnumberx498' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>2;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>42<span class='ltx_text ltx_lst_space'> </span>;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>++,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span>++)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>2;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>42<span class='ltx_text ltx_lst_space'> </span>;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>++,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span>++)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx499' class='ltx_listingline'> | <div id='lstnumberx499' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>*=<span class='ltx_text ltx_lst_space'> </span>2; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>*=<span class='ltx_text ltx_lst_space'> </span>2; |
</div> | </div> |
<div id='lstnumberx500' class='ltx_listingline'> | <div id='lstnumberx500' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx501' class='ltx_listingline'> | <div id='lstnumberx501' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span>} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx502' class='ltx_listingline'> | <div id='lstnumberx502' class='ltx_listingline'> |
<div id='lstnumberx503' class='ltx_listingline'> | <div id='lstnumberx503' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>; |
</div> | </div> |
<div id='lstnumberx504' class='ltx_listingline'> | <div id='lstnumberx504' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 28: </span>User-defined types</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 28: </span>User-defined types</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7Cgp0eXBlZGVmIGludCBteWludDsKdHlwZWRlZiBmbG9hdFsxMDAsMTAwXSByZWFsX21hdHJpeDsKdHlwZWRlZiBkb3VibGVbMl0gY29tcGxleDsKCmludCBtYWluKCkKewogIGNvbXBsZXggICBjOwogIGRvdWJsZVsyXSBkOwoKICBjID0gKGNvbXBsZXgpIFsxLjIsMi4zXTsKICBkID0gKGRvdWJsZVsyXSkgYzsKICBwcmludChkKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwoKIHR5cGVkZWYgaW50IG15aW50OwogdHlwZWRlZiBmbG9hdFsxMDAsMTAwXSByZWFsX21hdHJpeDsKIHR5cGVkZWYgZG91YmxlWzJdIGNvbXBsZXg7CgogaW50IG1haW4oKQogewogICBjb21wbGV4ICAgYzsKICAgZG91YmxlWzJdIGQ7CgogICBjID0gKGNvbXBsZXgpIFsxLjIsMi4zXTsKICAgZCA9IChkb3VibGVbMl0pIGM7CiAgIHByaW50KGQpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx505' class='ltx_listingline'> | <div id='lstnumberx505' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx506' class='ltx_listingline'> | <div id='lstnumberx506' class='ltx_listingline'> |
<div id='lstnumberx507' class='ltx_listingline'> | <div id='lstnumberx507' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>myint</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>myint</span>; |
</div> | </div> |
<div id='lstnumberx508' class='ltx_listingline'> | <div id='lstnumberx508' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span>[100,100]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>real_matrix</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span>[100,100]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>real_matrix</span>; |
</div> | </div> |
<div id='lstnumberx509' class='ltx_listingline'> | <div id='lstnumberx509' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>complex</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>typedef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>complex</span>; |
</div> | </div> |
<div id='lstnumberx510' class='ltx_listingline'> | <div id='lstnumberx510' class='ltx_listingline'> |
<div id='lstnumberx511' class='ltx_listingline'> | <div id='lstnumberx511' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx512' class='ltx_listingline'> | <div id='lstnumberx512' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx513' class='ltx_listingline'> | <div id='lstnumberx513' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>complex</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>complex</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>; |
</div> | </div> |
<div id='lstnumberx514' class='ltx_listingline'> | <div id='lstnumberx514' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span>; |
</div> | </div> |
<div id='lstnumberx515' class='ltx_listingline'> | <div id='lstnumberx515' class='ltx_listingline'> |
<div id='lstnumberx516' class='ltx_listingline'> | <div id='lstnumberx516' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>complex</span>)<span class='ltx_text ltx_lst_space'> </span>[1.2,2.3]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>complex</span>)<span class='ltx_text ltx_lst_space'> </span>[1.2,2.3]; |
</div> | </div> |
<div id='lstnumberx517' class='ltx_listingline'> | <div id='lstnumberx517' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2])<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span>[2])<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>; |
</div> | </div> |
<div id='lstnumberx518' class='ltx_listingline'> | <div id='lstnumberx518' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>d</span>); |
</div> | </div> |
<div id='lstnumberx519' class='ltx_listingline'> | <div id='lstnumberx519' class='ltx_listingline'> |
<div id='lstnumberx520' class='ltx_listingline'> | <div id='lstnumberx520' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx521' class='ltx_listingline'> | <div id='lstnumberx521' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 29: </span>Type conversions</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 29: </span>Type conversions</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFNjYWxhckFyaXRoOiBhbGw7CnVzZSBTdGRJTzogYWxsOwoKaW50IG1haW4oKQp7CiAgZG91YmxlIHg7CiAgZmxvYXQgeTsKICBpbnQgejsKCiAgeCA9IDIuMzsKICBwcmludCh4KTsKCiAgeSA9IHRvZih4KTsKICBwcmludCh5KTsKCiAgeiA9IHRvaSh5KTsKICBwcmludCh6KTsKCiAgcmV0dXJuIHo7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTY2FsYXJBcml0aDogYWxsOwogdXNlIFN0ZElPOiBhbGw7CgogaW50IG1haW4oKQogewogICBkb3VibGUgeDsKICAgZmxvYXQgeTsKICAgaW50IHo7CgogICB4ID0gMi4zOwogICBwcmludCh4KTsKCiAgIHkgPSB0b2YoeCk7CiAgIHByaW50KHkpOwoKICAgeiA9IHRvaSh5KTsKICAgcHJpbnQoeik7CgogICByZXR1cm4gejsKIH0='>⬇</a></div> |
<div id='lstnumberx522' class='ltx_listingline'> | <div id='lstnumberx522' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>ScalarArith</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx523' class='ltx_listingline'> | <div id='lstnumberx523' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx524' class='ltx_listingline'> | <div id='lstnumberx524' class='ltx_listingline'> |
<div id='lstnumberx525' class='ltx_listingline'> | <div id='lstnumberx525' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx526' class='ltx_listingline'> | <div id='lstnumberx526' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx527' class='ltx_listingline'> | <div id='lstnumberx527' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>; |
</div> | </div> |
<div id='lstnumberx528' class='ltx_listingline'> | <div id='lstnumberx528' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>float</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; |
</div> | </div> |
<div id='lstnumberx529' class='ltx_listingline'> | <div id='lstnumberx529' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span>; |
</div> | </div> |
<div id='lstnumberx530' class='ltx_listingline'> | <div id='lstnumberx530' class='ltx_listingline'> |
<div id='lstnumberx531' class='ltx_listingline'> | <div id='lstnumberx531' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>2.3; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>2.3; |
</div> | </div> |
<div id='lstnumberx532' class='ltx_listingline'> | <div id='lstnumberx532' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); |
</div> | </div> |
<div id='lstnumberx533' class='ltx_listingline'> | <div id='lstnumberx533' class='ltx_listingline'> |
<div id='lstnumberx534' class='ltx_listingline'> | <div id='lstnumberx534' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>tof</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>tof</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); |
</div> | </div> |
<div id='lstnumberx535' class='ltx_listingline'> | <div id='lstnumberx535' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx536' class='ltx_listingline'> | <div id='lstnumberx536' class='ltx_listingline'> |
<div id='lstnumberx537' class='ltx_listingline'> | <div id='lstnumberx537' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>toi</span>(<span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>toi</span>(<span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx538' class='ltx_listingline'> | <div id='lstnumberx538' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>z</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>z</span>); |
</div> | </div> |
<div id='lstnumberx539' class='ltx_listingline'> | <div id='lstnumberx539' class='ltx_listingline'> |
<div id='lstnumberx540' class='ltx_listingline'> | <div id='lstnumberx540' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>z</span>; |
</div> | </div> |
<div id='lstnumberx541' class='ltx_listingline'> | <div id='lstnumberx541' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 30: </span>Simple with-loop</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 30: </span>Simple with-loop</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IHdpdGggewogICAgICAgIChbMF0gPD0gaXYgPCBbNV0pOiA0MjsKICAgICAgfTogZ2VuYXJyYXkoWzddLCAwKTsKCiAgcHJpbnQoYSk7CiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gd2l0aCB7CiAgICAgICAgIChbMF0gPD0gaXYgPCBbNV0pOiA0MjsKICAgICAgIH06IGdlbmFycmF5KFs3XSwgMCk7CgogICBwcmludChhKTsKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx542' class='ltx_listingline'> | <div id='lstnumberx542' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx543' class='ltx_listingline'> | <div id='lstnumberx543' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx544' class='ltx_listingline'> | <div id='lstnumberx544' class='ltx_listingline'> |
<div id='lstnumberx545' class='ltx_listingline'> | <div id='lstnumberx545' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx546' class='ltx_listingline'> | <div id='lstnumberx546' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx547' class='ltx_listingline'> | <div id='lstnumberx547' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx548' class='ltx_listingline'> | <div id='lstnumberx548' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx549' class='ltx_listingline'> | <div id='lstnumberx549' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([7],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([7],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx550' class='ltx_listingline'> | <div id='lstnumberx550' class='ltx_listingline'> |
<div id='lstnumberx551' class='ltx_listingline'> | <div id='lstnumberx551' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx552' class='ltx_listingline'> | <div id='lstnumberx552' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx553' class='ltx_listingline'> | <div id='lstnumberx553' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
the vector <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>[42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span>0]</span>. | the vector <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>[42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>42,<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span>0]</span>. |
The generator-range is specified by the code snippet in round | The generator-range is specified by the code snippet in round |
brackets in line 7: <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>. | brackets in line 7: <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>. |
It denotes the set of vectors | It denotes the set of vectors |
<math id='Ch4.S1.SS1.p4.m1' class='ltx_Math' alttext='{\{\textrm{\lstinline{{\lst@@@set@language\lst@@@set@numbers\lst@@@set@frame% | <math id='Ch4.S1.SS1.p4.m1' class='ltx_Math' alttext='{\{\textrm{\lstinline{{\lst@@@set@language\lst@@@set@numbers\lst@@@set@frame% |
<span class='ltx_tag ltx_tag_item'>•</span> | <span class='ltx_tag ltx_tag_item'>•</span> |
<div id='Ch4.S1.I2.i1.p1' class='ltx_para'> | <div id='Ch4.S1.I2.i1.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([-2]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[3])</span>?</p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([-2]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[3])</span>?</p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'>•</span> | <span class='ltx_tag ltx_tag_item'>•</span> |
<div id='Ch4.S1.I2.i2.p1' class='ltx_para'> | <div id='Ch4.S1.I2.i2.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[8])</span>? | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[8])</span>? |
</p> | </p> |
</div> | </div> |
<span class='ltx_tag ltx_tag_item'>•</span> | <span class='ltx_tag ltx_tag_item'>•</span> |
<div id='Ch4.S1.I2.i3.p1' class='ltx_para'> | <div id='Ch4.S1.I2.i3.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([6]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>?</p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([6]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>?</p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'>•</span> | <span class='ltx_tag ltx_tag_item'>•</span> |
<div id='Ch4.S1.I2.i4.p1' class='ltx_para'> | <div id='Ch4.S1.I2.i4.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([8]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>?</p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([8]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5])</span>?</p> |
</div> | </div> |
</li> | </li> |
<span class='ltx_tag ltx_tag_item'>•</span> | <span class='ltx_tag ltx_tag_item'>•</span> |
<div id='Ch4.S1.I2.i5.p1' class='ltx_para'> | <div id='Ch4.S1.I2.i5.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([6]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[0])</span>?</p> | <p class='ltx_p'><span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>([6]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[0])</span>?</p> |
</div> | </div> |
</li> | </li> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 31: </span>Generator Range Specifications</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 31: </span>Generator Range Specifications</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IHdpdGggewogICAgICAgIChbMCwyXSA8PSBbaSxqXSA8IFs1LDZdKTogNDI7CiAgICAgIH06IGdlbmFycmF5KFs1LDZdLCAwKTsKICBwcmludChhKTsKCiAgc2hwID0gWzUsNl07CiAgYSA9IHdpdGggewogICAgICAgICgwKnNocCA8PSBpdiA8IHNocCk6IDQyOwogICAgICB9OiBnZW5hcnJheShzaHAsIDApOwogIHByaW50KGEpOwoKICBhID0gd2l0aCB7CiAgICAgICAgKC4gPCBpdiA8IC4pOiA0MjsKICAgICAgfTogZ2VuYXJyYXkoWzUsNl0sIDApOwogIHByaW50KGEpOwoKICBhID0gd2l0aCB7CiAgICAgICAgKC4gPD0ganY9W3gseV0gPD0gWzQsNV0pOiA0MjsKICAgICAgfTogZ2VuYXJyYXkoIFs1LDZdLCAwKTsKICBwcmludChhKTsKCiAgYSA9IHdpdGggewogICAgICAgICguIDw9IFtpLGpdIDw9IC4gc3RlcCBbMSw0XSk6IDQyOwogICAgICB9OiBnZW5hcnJheShbNSw2XSwgMCk7CiAgcHJpbnQoYSk7CgogIGEgPSB3aXRoIHsKICAgICAgICAoLiA8PSBbaSxqXSA8PSAuIHN0ZXAgWzIsNF0gd2lkdGggWzEsMl0pOiA0MjsKICAgICAgfTogZ2VuYXJyYXkoWzUsNl0sIDApOwogIHByaW50KGEpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gd2l0aCB7CiAgICAgICAgIChbMCwyXSA8PSBbaSxqXSA8IFs1LDZdKTogNDI7CiAgICAgICB9OiBnZW5hcnJheShbNSw2XSwgMCk7CiAgIHByaW50KGEpOwoKICAgc2hwID0gWzUsNl07CiAgIGEgPSB3aXRoIHsKICAgICAgICAgKDAqc2hwIDw9IGl2IDwgc2hwKTogNDI7CiAgICAgICB9OiBnZW5hcnJheShzaHAsIDApOwogICBwcmludChhKTsKCiAgIGEgPSB3aXRoIHsKICAgICAgICAgKC4gPCBpdiA8IC4pOiA0MjsKICAgICAgIH06IGdlbmFycmF5KFs1LDZdLCAwKTsKICAgcHJpbnQoYSk7CgogICBhID0gd2l0aCB7CiAgICAgICAgICguIDw9IGp2PVt4LHldIDw9IFs0LDVdKTogNDI7CiAgICAgICB9OiBnZW5hcnJheSggWzUsNl0sIDApOwogICBwcmludChhKTsKCiAgIGEgPSB3aXRoIHsKICAgICAgICAgKC4gPD0gW2ksal0gPD0gLiBzdGVwIFsxLDRdKTogNDI7CiAgICAgICB9OiBnZW5hcnJheShbNSw2XSwgMCk7CiAgIHByaW50KGEpOwoKICAgYSA9IHdpdGggewogICAgICAgICAoLiA8PSBbaSxqXSA8PSAuIHN0ZXAgWzIsNF0gd2lkdGggWzEsMl0pOiA0MjsKICAgICAgIH06IGdlbmFycmF5KFs1LDZdLCAwKTsKICAgcHJpbnQoYSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx554' class='ltx_listingline'> | <div id='lstnumberx554' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx555' class='ltx_listingline'> | <div id='lstnumberx555' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx556' class='ltx_listingline'> | <div id='lstnumberx556' class='ltx_listingline'> |
<div id='lstnumberx557' class='ltx_listingline'> | <div id='lstnumberx557' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx558' class='ltx_listingline'> | <div id='lstnumberx558' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx559' class='ltx_listingline'> | <div id='lstnumberx559' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx560' class='ltx_listingline'> | <div id='lstnumberx560' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span>([0,2]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5,6]):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>([0,2]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[5,6]):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx561' class='ltx_listingline'> | <div id='lstnumberx561' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx562' class='ltx_listingline'> | <div id='lstnumberx562' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx563' class='ltx_listingline'> | <div id='lstnumberx563' class='ltx_listingline'> |
<div id='lstnumberx564' class='ltx_listingline'> | <div id='lstnumberx564' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>shp</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[5,6]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>shp</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[5,6]; |
</div> | </div> |
<div id='lstnumberx565' class='ltx_listingline'> | <div id='lstnumberx565' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx566' class='ltx_listingline'> | <div id='lstnumberx566' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(0*<span class='ltx_text ltx_lst_identifier'>shp</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>shp</span>):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>(0*<span class='ltx_text ltx_lst_identifier'>shp</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>shp</span>):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx567' class='ltx_listingline'> | <div id='lstnumberx567' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_identifier'>shp</span>,<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_identifier'>shp</span>,<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx568' class='ltx_listingline'> | <div id='lstnumberx568' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx569' class='ltx_listingline'> | <div id='lstnumberx569' class='ltx_listingline'> |
<div id='lstnumberx570' class='ltx_listingline'> | <div id='lstnumberx570' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx571' class='ltx_listingline'> | <div id='lstnumberx571' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx572' class='ltx_listingline'> | <div id='lstnumberx572' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx573' class='ltx_listingline'> | <div id='lstnumberx573' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx574' class='ltx_listingline'> | <div id='lstnumberx574' class='ltx_listingline'> |
<div id='lstnumberx575' class='ltx_listingline'> | <div id='lstnumberx575' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx576' class='ltx_listingline'> | <div id='lstnumberx576' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>jv</span>=[<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_identifier'>y</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[4,5]):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>jv</span>=[<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_identifier'>y</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[4,5]):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx577' class='ltx_listingline'> | <div id='lstnumberx577' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_space'> </span>[5,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_space'> </span>[5,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx578' class='ltx_listingline'> | <div id='lstnumberx578' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx579' class='ltx_listingline'> | <div id='lstnumberx579' class='ltx_listingline'> |
<div id='lstnumberx580' class='ltx_listingline'> | <div id='lstnumberx580' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx581' class='ltx_listingline'> | <div id='lstnumberx581' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[1,4]):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[1,4]):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx582' class='ltx_listingline'> | <div id='lstnumberx582' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx583' class='ltx_listingline'> | <div id='lstnumberx583' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx584' class='ltx_listingline'> | <div id='lstnumberx584' class='ltx_listingline'> |
<div id='lstnumberx585' class='ltx_listingline'> | <div id='lstnumberx585' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>32</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>32</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx586' class='ltx_listingline'> | <div id='lstnumberx586' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>33</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>33</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[2,4]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>width</span><span class='ltx_text ltx_lst_space'> </span>[1,2]):<span class='ltx_text ltx_lst_space'> </span>42; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[2,4]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>width</span><span class='ltx_text ltx_lst_space'> </span>[1,2]):<span class='ltx_text ltx_lst_space'> </span>42; |
</div> | </div> |
<div id='lstnumberx587' class='ltx_listingline'> | <div id='lstnumberx587' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>34</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>34</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([5,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx588' class='ltx_listingline'> | <div id='lstnumberx588' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>35</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>35</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx589' class='ltx_listingline'> | <div id='lstnumberx589' class='ltx_listingline'> |
<div id='lstnumberx590' class='ltx_listingline'> | <div id='lstnumberx590' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>37</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>37</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx591' class='ltx_listingline'> | <div id='lstnumberx591' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>38</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>38</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
index space of the resulting array! | index space of the resulting array! |
As the “<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>.</span>” always represents legal indices, we have to make sure | As the “<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>.</span>” always represents legal indices, we have to make sure |
that we use <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><=</span> on both sides if we want to cover the entire | that we use <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><=</span> on both sides if we want to cover the entire |
range. The example presented here, excludes the extreme cases and, thus, | range. The example presented here, excludes the extreme cases and, thus, |
covers all inner elements of the resulting array only.</p> | covers all inner elements of the resulting array only.</p> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 32: </span>Non-trivial generator expressions</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 32: </span>Non-trivial generator expressions</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IHdpdGggewogICAgICAgIChbMCwxXSA8PSBbaSxqXSA8IFs2LDZdKSB7CiAgICAgICAgICBkaXYsIG1vZCA9IGRpdm1vZCggaSwgaik7CiAgICAgICAgfTogbW9kOwogICAgICB9OiBnZW5hcnJheShbNiw2XSwgMCk7CiAgcHJpbnQoYSk7CgogIGEgPSB3aXRoIHsKICAgICAgICAoLiA8PSBbaSxqXSA8PSAuKTogKGk9PWogPyAxOiAwKSA7CiAgICAgIH06IGdlbmFycmF5KFs2LDZdLCAwKTsKICBwcmludChhKTsKCiAgYSA9IHdpdGggewogICAgICAgICguIDw9IFtpXSA8PSAuKSB7CiAgICAgICAgICBtdmFsID0gaTsKICAgICAgICAgIHZhbCA9IHN1bSh3aXRoIHsKICAgICAgICAgICAgICAgICAgICAgICAoLiA8PSBbaV0gPD0gLik6IGk7CiAgICAgICAgICAgICAgICAgICAgfTogZ2VuYXJyYXkoW212YWxdLCAwKSk7CiAgICAgICAgfTogdmFsOwogICAgICB9OiBnZW5hcnJheShbNl0sIDApOwogIHByaW50KGEpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50LCBpbnQgZGl2bW9kKGludCB4LCBpbnQgeSkKIHsKICAgcmV0dXJuICh4IC8geSwgeCAlIHkpOwogfQoKIGludCBtYWluKCkKIHsKICAgYSA9IHdpdGggewogICAgICAgICAoWzAsMV0gPD0gW2ksal0gPCBbNiw2XSkgewogICAgICAgICAgIGRpdiwgbW9kID0gZGl2bW9kKCBpLCBqKTsKICAgICAgICAgfTogbW9kOwogICAgICAgfTogZ2VuYXJyYXkoWzYsNl0sIDApOwogICBwcmludChhKTsKCiAgIGEgPSB3aXRoIHsKICAgICAgICAgKC4gPD0gW2ksal0gPD0gLik6IChpPT1qID8gMTogMCkgOwogICAgICAgfTogZ2VuYXJyYXkoWzYsNl0sIDApOwogICBwcmludChhKTsKCiAgIGEgPSB3aXRoIHsKICAgICAgICAgKC4gPD0gW2ldIDw9IC4pIHsKICAgICAgICAgICBtdmFsID0gaTsKICAgICAgICAgICB2YWwgPSBzdW0od2l0aCB7CiAgICAgICAgICAgICAgICAgICAgICAgICguIDw9IFtpXSA8PSAuKTogaTsKICAgICAgICAgICAgICAgICAgICAgfTogZ2VuYXJyYXkoW212YWxdLCAwKSk7CiAgICAgICAgIH06IHZhbDsKICAgICAgIH06IGdlbmFycmF5KFs2XSwgMCk7CiAgIHByaW50KGEpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx592' class='ltx_listingline'> | <div id='lstnumberx592' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx593' class='ltx_listingline'> | <div id='lstnumberx593' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx594' class='ltx_listingline'> | <div id='lstnumberx594' class='ltx_listingline'> |
<div id='lstnumberx595' class='ltx_listingline'> | <div id='lstnumberx595' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) |
</div> | </div> |
<div id='lstnumberx596' class='ltx_listingline'> | <div id='lstnumberx596' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx597' class='ltx_listingline'> | <div id='lstnumberx597' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>/<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>%<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx598' class='ltx_listingline'> | <div id='lstnumberx598' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span>([0,1]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[6,6])<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx599' class='ltx_listingline'> | <div id='lstnumberx599' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>div</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mod</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span>); | |
</div> | </div> |
<div id='lstnumberx600' class='ltx_listingline'> | <div id='lstnumberx600' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mod</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx601' class='ltx_listingline'> | <div id='lstnumberx601' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx602' class='ltx_listingline'> | <div id='lstnumberx602' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx603' class='ltx_listingline'> | <div id='lstnumberx603' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>([0,1]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><<span class='ltx_text ltx_lst_space'> </span>[6,6])<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx604' class='ltx_listingline'> | <div id='lstnumberx604' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>div</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mod</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>divmod</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>j</span>); |
</div> | </div> |
<div id='lstnumberx605' class='ltx_listingline'> | <div id='lstnumberx605' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span>==<span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>?<span class='ltx_text ltx_lst_space'> </span>1:<span class='ltx_text ltx_lst_space'> </span>0)<span class='ltx_text ltx_lst_space'> </span>; | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mod</span>; |
</div> | </div> |
<div id='lstnumberx606' class='ltx_listingline'> | <div id='lstnumberx606' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6,6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx607' class='ltx_listingline'> | <div id='lstnumberx607' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx608' class='ltx_listingline'> | <div id='lstnumberx608' class='ltx_listingline'> |
<div id='lstnumberx609' class='ltx_listingline'> | <div id='lstnumberx609' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx610' class='ltx_listingline'> | <div id='lstnumberx610' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>,<span class='ltx_text ltx_lst_identifier'>j</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span>==<span class='ltx_text ltx_lst_identifier'>j</span><span class='ltx_text ltx_lst_space'> </span>?<span class='ltx_text ltx_lst_space'> </span>1:<span class='ltx_text ltx_lst_space'> </span>0)<span class='ltx_text ltx_lst_space'> </span>; |
</div> | </div> |
<div id='lstnumberx611' class='ltx_listingline'> | <div id='lstnumberx611' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mval</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6,6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx612' class='ltx_listingline'> | <div id='lstnumberx612' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx613' class='ltx_listingline'> | <div id='lstnumberx613' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; | |
</div> | </div> |
<div id='lstnumberx614' class='ltx_listingline'> | <div id='lstnumberx614' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([<span class='ltx_text ltx_lst_identifier'>mval</span>],<span class='ltx_text ltx_lst_space'> </span>0)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx615' class='ltx_listingline'> | <div id='lstnumberx615' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span>; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx616' class='ltx_listingline'> | <div id='lstnumberx616' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mval</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; |
</div> | </div> |
<div id='lstnumberx617' class='ltx_listingline'> | <div id='lstnumberx617' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx618' class='ltx_listingline'> | <div id='lstnumberx618' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; |
</div> | </div> |
<div id='lstnumberx619' class='ltx_listingline'> | <div id='lstnumberx619' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([<span class='ltx_text ltx_lst_identifier'>mval</span>],<span class='ltx_text ltx_lst_space'> </span>0)); |
</div> | </div> |
<div id='lstnumberx620' class='ltx_listingline'> | <div id='lstnumberx620' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span>; |
| </div> |
| <div id='lstnumberx621' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>([6],<span class='ltx_text ltx_lst_space'> </span>0); |
| </div> |
| <div id='lstnumberx622' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
| </div> |
| <div id='lstnumberx623' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>32</span></span> |
| |
| </div> |
| <div id='lstnumberx624' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>33</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
| </div> |
| <div id='lstnumberx625' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>34</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
</figure> | </figure> |
<div id='Ch4.S1.SS3.p2' class='ltx_para'> | <div id='Ch4.S1.SS3.p2' class='ltx_para'> |
<p class='ltx_p'>The first with-loop in lines 6–10 | <p class='ltx_p'>The first with-loop in lines 11–15 |
shows a typical scenario. | shows a typical scenario. |
The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>divmod</span> returns two values rather than just one. | The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>divmod</span> returns two values rather than just one. |
</div> | </div> |
<div id='Ch4.S1.SS3.p3' class='ltx_para'> | <div id='Ch4.S1.SS3.p3' class='ltx_para'> |
<p class='ltx_p'>The with-loop in lines 13–15 | <p class='ltx_p'>The with-loop in lines 18–20 |
demonstrates how non-trivial expressions | demonstrates how non-trivial expressions |
can be used even without necessitating the introduction of an | can be used even without necessitating the introduction of an |
assignment block.</p> | assignment block. |
| </p> |
</div> | </div> |
<div id='Ch4.S1.SS3.p4' class='ltx_para'> | <div id='Ch4.S1.SS3.p4' class='ltx_para'> |
Note, however, that with-loops can be arbitrarily nested. | Note, however, that with-loops can be arbitrarily nested. |
An example for such a nesting is shown in the with-loop in | An example for such a nesting is shown in the with-loop in |
lines 18–25 | lines 23–30 |
of the examples above.</p> | of the examples above.</p> |
</div> | </div> |
<div id='Ch4.S1.SS4.p1' class='ltx_para'> | <div id='Ch4.S1.SS4.p1' class='ltx_para'> |
<p class='ltx_p'>Besides the genarray with-loop operator described so far, <span class='ltx_text ltx_font_smallcaps'>SaC</span> supports | <p class='ltx_p'>Besides the genarray with-loop operator described so far, <span class='ltx_text ltx_font_smallcaps'>SaC</span> supports |
a few more. These are: | a few more. These are:</p> |
</p> | |
</div> | </div> |
<div id='Ch4.S1.SS4.p2' class='ltx_para'> | <div id='Ch4.S1.SS4.p2' class='ltx_para'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 33: </span>Further with-loop operators</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 33: </span>Further with-loop operators</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CnVzZSBBcnJheTogYWxsOwoKaW50IG1haW4oKQp7CiAgYSA9IHdpdGggewogICAgICAgICguIDw9IFtpXSA8PSAuKTogaTsKICAgICAgfTogZ2VuYXJyYXkoIFs2XSwgMCk7CiAgcHJpbnQoYSk7CgogIGIgPSB3aXRoIHsKICAgICAgICAoLiA8PSBpdiA8PSAuIHN0ZXAgWzJdKTogLWFbaXZdOwogICAgICB9OiBtb2RhcnJheShhKTsKICBwcmludChiKTsKICBwcmludChhKTsKCiAgYyA9IHdpdGggewogICAgICAgKFswXSA8PSBpdiA8PSBbNV0pOiBhW2l2XTsKICAgICAgfTogZm9sZCgqLCAxKTsKICBwcmludChjKTsKCiAgZCA9IHdpdGggewogICAgICAgKFswXSA8PSBpdiA8PSBbNV0pOiBhW2l2XTsKICAgICAgfTogZm9sZGZpeCgqLCAxLCAwKTsKICBwcmludChkKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogdXNlIEFycmF5OiBhbGw7CgogaW50IG1haW4oKQogewogICBhID0gd2l0aCB7CiAgICAgICAgICguIDw9IFtpXSA8PSAuKTogaTsKICAgICAgIH06IGdlbmFycmF5KCBbNl0sIDApOwogICBwcmludChhKTsKCiAgIGIgPSB3aXRoIHsKICAgICAgICAgKC4gPD0gaXYgPD0gLiBzdGVwIFsyXSk6IC1hW2l2XTsKICAgICAgIH06IG1vZGFycmF5KGEpOwogICBwcmludChiKTsKICAgcHJpbnQoYSk7CgogICBjID0gd2l0aCB7CiAgICAgICAgKFswXSA8PSBpdiA8PSBbNV0pOiBhW2l2XTsKICAgICAgIH06IGZvbGQoKiwgMSk7CiAgIHByaW50KGMpOwoKICAgZCA9IHdpdGggewogICAgICAgIChbMF0gPD0gaXYgPD0gWzVdKTogYVtpdl07CiAgICAgICB9OiBmb2xkZml4KCosIDEsIDApOwogICBwcmludChkKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx621' class='ltx_listingline'> | <div id='lstnumberx626' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx622' class='ltx_listingline'> | <div id='lstnumberx627' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx623' class='ltx_listingline'> | <div id='lstnumberx628' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx624' class='ltx_listingline'> | <div id='lstnumberx629' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx625' class='ltx_listingline'> | <div id='lstnumberx630' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx626' class='ltx_listingline'> | <div id='lstnumberx631' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx627' class='ltx_listingline'> | <div id='lstnumberx632' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[<span class='ltx_text ltx_lst_identifier'>i</span>]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span>; |
</div> | </div> |
<div id='lstnumberx628' class='ltx_listingline'> | <div id='lstnumberx633' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_space'> </span>[6],<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>genarray</span>(<span class='ltx_text ltx_lst_space'> </span>[6],<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx629' class='ltx_listingline'> | <div id='lstnumberx634' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx630' class='ltx_listingline'> | <div id='lstnumberx635' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| |
</div> | </div> |
<div id='lstnumberx631' class='ltx_listingline'> | <div id='lstnumberx636' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>b</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx632' class='ltx_listingline'> | <div id='lstnumberx637' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[2]):<span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; | <span class='ltx_text ltx_lst_space'> </span>(.<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>.<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>step</span><span class='ltx_text ltx_lst_space'> </span>[2]):<span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; |
</div> | </div> |
<div id='lstnumberx633' class='ltx_listingline'> | <div id='lstnumberx638' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>modarray</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx634' class='ltx_listingline'> | <div id='lstnumberx639' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>b</span>); |
</div> | </div> |
<div id='lstnumberx635' class='ltx_listingline'> | <div id='lstnumberx640' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>a</span>); |
</div> | </div> |
<div id='lstnumberx636' class='ltx_listingline'> | <div id='lstnumberx641' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
| |
</div> | </div> |
<div id='lstnumberx637' class='ltx_listingline'> | <div id='lstnumberx642' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx638' class='ltx_listingline'> | <div id='lstnumberx643' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; | <span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; |
</div> | </div> |
<div id='lstnumberx639' class='ltx_listingline'> | <div id='lstnumberx644' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fold</span>(*,<span class='ltx_text ltx_lst_space'> </span>1); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fold</span>(*,<span class='ltx_text ltx_lst_space'> </span>1); |
</div> | </div> |
<div id='lstnumberx640' class='ltx_listingline'> | <div id='lstnumberx645' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>c</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
</div> | </div> |
<div id='lstnumberx641' class='ltx_listingline'> | <div id='lstnumberx646' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
| |
</div> | </div> |
<div id='lstnumberx642' class='ltx_listingline'> | <div id='lstnumberx647' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>d</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>with</span><span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx643' class='ltx_listingline'> | <div id='lstnumberx648' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
<span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; | <span class='ltx_text ltx_lst_space'> </span>([0]<span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>iv</span><span class='ltx_text ltx_lst_space'> </span><=<span class='ltx_text ltx_lst_space'> </span>[5]):<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>a</span>[<span class='ltx_text ltx_lst_identifier'>iv</span>]; |
</div> | </div> |
<div id='lstnumberx644' class='ltx_listingline'> | <div id='lstnumberx649' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
<span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foldfix</span>(*,<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>0); | <span class='ltx_text ltx_lst_space'> </span>}:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foldfix</span>(*,<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>0); |
</div> | </div> |
<div id='lstnumberx645' class='ltx_listingline'> | <div id='lstnumberx650' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>d</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>print</span>(<span class='ltx_text ltx_lst_identifier'>d</span>); |
</div> | </div> |
<div id='lstnumberx646' class='ltx_listingline'> | <div id='lstnumberx651' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
| |
</div> | </div> |
<div id='lstnumberx647' class='ltx_listingline'> | <div id='lstnumberx652' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx648' class='ltx_listingline'> | <div id='lstnumberx653' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 34: </span>Hello world program with name spaces</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 34: </span>Hello world program with name spaces</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW50IG1haW4oKQp7CiAgU3RkSU86OnByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGludCBtYWluKCkKIHsKICAgU3RkSU86OnByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx649' class='ltx_listingline'> | <div id='lstnumberx654' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx650' class='ltx_listingline'> | <div id='lstnumberx655' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx651' class='ltx_listingline'> | <div id='lstnumberx656' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx652' class='ltx_listingline'> | <div id='lstnumberx657' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx653' class='ltx_listingline'> | <div id='lstnumberx658' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 35: </span>hello world with use statement</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 35: </span>hello world with use statement</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CgppbnQgbWFpbigpCnsKICBwcmludGYoIkhlbGxvIFdvcmxkIVxuIik7CiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwoKIGludCBtYWluKCkKIHsKICAgcHJpbnRmKCJIZWxsbyBXb3JsZCFcbiIpOwogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx654' class='ltx_listingline'> | <div id='lstnumberx659' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx655' class='ltx_listingline'> | <div id='lstnumberx660' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx656' class='ltx_listingline'> | <div id='lstnumberx661' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx657' class='ltx_listingline'> | <div id='lstnumberx662' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx658' class='ltx_listingline'> | <div id='lstnumberx663' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx659' class='ltx_listingline'> | <div id='lstnumberx664' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx660' class='ltx_listingline'> | <div id='lstnumberx665' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 36: </span>hello world with specific use statement</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 36: </span>hello world with specific use statement</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiB7cHJpbnRmfTsKCmludCBtYWluKCkKewogIHByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzoge3ByaW50Zn07CgogaW50IG1haW4oKQogewogICBwcmludGYoIkhlbGxvIFdvcmxkIVxuIik7CiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx661' class='ltx_listingline'> | <div id='lstnumberx666' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx662' class='ltx_listingline'> | <div id='lstnumberx667' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx663' class='ltx_listingline'> | <div id='lstnumberx668' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx664' class='ltx_listingline'> | <div id='lstnumberx669' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx665' class='ltx_listingline'> | <div id='lstnumberx670' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx666' class='ltx_listingline'> | <div id='lstnumberx671' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx667' class='ltx_listingline'> | <div id='lstnumberx672' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 37: </span>hello world with use all but statement</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 37: </span>hello world with use all but statement</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIEZhc3RJTzogYWxsIGV4Y2VwdCB7cHJpbnRmfTsKdXNlIFN0ZElPOiB7cHJpbnRmfTsKCmludCBtYWluKCkKewogIHByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBGYXN0SU86IGFsbCBleGNlcHQge3ByaW50Zn07CiB1c2UgU3RkSU86IHtwcmludGZ9OwoKIGludCBtYWluKCkKIHsKICAgcHJpbnRmKCJIZWxsbyBXb3JsZCFcbiIpOwogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx668' class='ltx_listingline'> | <div id='lstnumberx673' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>FastIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>FastIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx669' class='ltx_listingline'> | <div id='lstnumberx674' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx670' class='ltx_listingline'> | <div id='lstnumberx675' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx671' class='ltx_listingline'> | <div id='lstnumberx676' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx672' class='ltx_listingline'> | <div id='lstnumberx677' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx673' class='ltx_listingline'> | <div id='lstnumberx678' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx674' class='ltx_listingline'> | <div id='lstnumberx679' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx675' class='ltx_listingline'> | <div id='lstnumberx680' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 38: </span>hello world with import statement</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 38: </span>hello world with import statement</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW1wb3J0IFN0ZElPOiB7cHJpbnRmfTsKCmludCBtYWluKCkKewogIG1haW46OnByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGltcG9ydCBTdGRJTzoge3ByaW50Zn07CgogaW50IG1haW4oKQogewogICBtYWluOjpwcmludGYoIkhlbGxvIFdvcmxkIVxuIik7CiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx676' class='ltx_listingline'> | <div id='lstnumberx681' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx677' class='ltx_listingline'> | <div id='lstnumberx682' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx678' class='ltx_listingline'> | <div id='lstnumberx683' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx679' class='ltx_listingline'> | <div id='lstnumberx684' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx680' class='ltx_listingline'> | <div id='lstnumberx685' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hello<span class='ltx_text ltx_lst_space'> </span>World!\n”</span>); |
</div> | </div> |
<div id='lstnumberx681' class='ltx_listingline'> | <div id='lstnumberx686' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx682' class='ltx_listingline'> | <div id='lstnumberx687' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 39: </span>bar overloading</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 39: </span>bar overloading</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW1wb3J0IGZvbzoge2Jhcn07CgppbnRbK10gYmFyKGludFsrXSB4KQp7CiAgLyogLi4uICAqLwp9CgppbnQgbWFpbigpCnsKICAvKiAuLi4gICovCgogIHkgPSBiYXIoeCk7CgogIC8qIC4uLiAgKi8KfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGltcG9ydCBmb286IHtiYXJ9OwoKIGludFsrXSBiYXIoaW50WytdIHgpCiB7CiAgIC8qIC4uLiAgKi8KIH0KCiBpbnQgbWFpbigpCiB7CiAgIC8qIC4uLiAgKi8KCiAgIHkgPSBiYXIoeCk7CgogICAvKiAuLi4gICovCiB9'>⬇</a></div> |
<div id='lstnumberx683' class='ltx_listingline'> | <div id='lstnumberx688' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>bar</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>bar</span>}; |
</div> | </div> |
<div id='lstnumberx684' class='ltx_listingline'> | <div id='lstnumberx689' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx685' class='ltx_listingline'> | <div id='lstnumberx690' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[+]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[+]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[+]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[+]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx686' class='ltx_listingline'> | <div id='lstnumberx691' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx687' class='ltx_listingline'> | <div id='lstnumberx692' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx688' class='ltx_listingline'> | <div id='lstnumberx693' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx689' class='ltx_listingline'> | <div id='lstnumberx694' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| |
</div> | </div> |
<div id='lstnumberx690' class='ltx_listingline'> | <div id='lstnumberx695' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx691' class='ltx_listingline'> | <div id='lstnumberx696' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx692' class='ltx_listingline'> | <div id='lstnumberx697' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx693' class='ltx_listingline'> | <div id='lstnumberx698' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| |
</div> | </div> |
<div id='lstnumberx694' class='ltx_listingline'> | <div id='lstnumberx699' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_identifier'>x</span>); |
</div> | </div> |
<div id='lstnumberx695' class='ltx_listingline'> | <div id='lstnumberx700' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
| |
</div> | </div> |
<div id='lstnumberx696' class='ltx_listingline'> | <div id='lstnumberx701' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx697' class='ltx_listingline'> | <div id='lstnumberx702' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 40: </span>name clash example</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 40: </span>name clash example</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGw7CmltcG9ydCBTdGRJTzoge3ByaW50Zn07CgppbnQgbWFpbigpCnsKICBwcmludGYoIk5ldmVyIHNlZSB0aGlzIVxuIik7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsOwogaW1wb3J0IFN0ZElPOiB7cHJpbnRmfTsKCiBpbnQgbWFpbigpCiB7CiAgIHByaW50ZigiTmV2ZXIgc2VlIHRoaXMhXG4iKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx698' class='ltx_listingline'> | <div id='lstnumberx703' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx699' class='ltx_listingline'> | <div id='lstnumberx704' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx700' class='ltx_listingline'> | <div id='lstnumberx705' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx701' class='ltx_listingline'> | <div id='lstnumberx706' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx702' class='ltx_listingline'> | <div id='lstnumberx707' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx703' class='ltx_listingline'> | <div id='lstnumberx708' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Never<span class='ltx_text ltx_lst_space'> </span>see<span class='ltx_text ltx_lst_space'> </span>this!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Never<span class='ltx_text ltx_lst_space'> </span>see<span class='ltx_text ltx_lst_space'> </span>this!\n”</span>); |
</div> | </div> |
<div id='lstnumberx704' class='ltx_listingline'> | <div id='lstnumberx709' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| |
</div> | </div> |
<div id='lstnumberx705' class='ltx_listingline'> | <div id='lstnumberx710' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx706' class='ltx_listingline'> | <div id='lstnumberx711' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 41: </span>name clash example</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 41: </span>name clash example</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0ZElPOiBhbGwgZXhjZXB0IHtwcmludGZ9OwppbXBvcnQgU3RkSU86IHtwcmludGZ9OwoKaW50IG1haW4oKQp7CiAgcHJpbnRmKCJIZXksIGl0IHdvcmtzIVxuIik7CgogIHJldHVybiAwOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdGRJTzogYWxsIGV4Y2VwdCB7cHJpbnRmfTsKIGltcG9ydCBTdGRJTzoge3ByaW50Zn07CgogaW50IG1haW4oKQogewogICBwcmludGYoIkhleSwgaXQgd29ya3MhXG4iKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx707' class='ltx_listingline'> | <div id='lstnumberx712' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx708' class='ltx_listingline'> | <div id='lstnumberx713' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>import</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>printf</span>}; |
</div> | </div> |
<div id='lstnumberx709' class='ltx_listingline'> | <div id='lstnumberx714' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx710' class='ltx_listingline'> | <div id='lstnumberx715' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx711' class='ltx_listingline'> | <div id='lstnumberx716' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx712' class='ltx_listingline'> | <div id='lstnumberx717' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hey,<span class='ltx_text ltx_lst_space'> </span>it<span class='ltx_text ltx_lst_space'> </span>works!\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”Hey,<span class='ltx_text ltx_lst_space'> </span>it<span class='ltx_text ltx_lst_space'> </span>works!\n”</span>); |
</div> | </div> |
<div id='lstnumberx713' class='ltx_listingline'> | <div id='lstnumberx718' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| |
</div> | </div> |
<div id='lstnumberx714' class='ltx_listingline'> | <div id='lstnumberx719' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx715' class='ltx_listingline'> | <div id='lstnumberx720' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 42: </span>module implementation example</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 42: </span>module implementation example</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,bW9kdWxlIG15bW9kOwoKcHJvdmlkZSBhbGwgZXhjZXB0IHtmb299OwpleHBvcnQge2Zvb307CgppbnQgZm9vKGludCB4KQp7CiAgcmV0dXJuIC8qIC4uLiAgKi87Cn0KCmludCBiYXIoeCBpbnQgeCkKewogIHJldHVybiAvKiAuLi4gICovOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IG1vZHVsZSBteW1vZDsKCiBwcm92aWRlIGFsbCBleGNlcHQge2Zvb307CiBleHBvcnQge2Zvb307CgogaW50IGZvbyhpbnQgeCkKIHsKICAgcmV0dXJuIC8qIC4uLiAgKi87CiB9CgogaW50IGJhcih4IGludCB4KQogewogICByZXR1cm4gLyogLi4uICAqLzsKIH0='>⬇</a></div> |
<div id='lstnumberx716' class='ltx_listingline'> | <div id='lstnumberx721' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_identifier'>module</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mymod</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>module</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mymod</span>; |
</div> | </div> |
<div id='lstnumberx717' class='ltx_listingline'> | <div id='lstnumberx722' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx718' class='ltx_listingline'> | <div id='lstnumberx723' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>provide</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>foo</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>provide</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>except</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>foo</span>}; |
</div> | </div> |
<div id='lstnumberx719' class='ltx_listingline'> | <div id='lstnumberx724' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_identifier'>export</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>foo</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>export</span><span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>foo</span>}; |
</div> | </div> |
<div id='lstnumberx720' class='ltx_listingline'> | <div id='lstnumberx725' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| |
</div> | </div> |
<div id='lstnumberx721' class='ltx_listingline'> | <div id='lstnumberx726' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx722' class='ltx_listingline'> | <div id='lstnumberx727' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx723' class='ltx_listingline'> | <div id='lstnumberx728' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>; |
</div> | </div> |
<div id='lstnumberx724' class='ltx_listingline'> | <div id='lstnumberx729' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx725' class='ltx_listingline'> | <div id='lstnumberx730' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| |
</div> | </div> |
<div id='lstnumberx726' class='ltx_listingline'> | <div id='lstnumberx731' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>bar</span>(<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>) |
</div> | </div> |
<div id='lstnumberx727' class='ltx_listingline'> | <div id='lstnumberx732' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx728' class='ltx_listingline'> | <div id='lstnumberx733' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>; |
</div> | </div> |
<div id='lstnumberx729' class='ltx_listingline'> | <div id='lstnumberx734' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<td class='ltx_td ltx_align_left ltx_eqn_cell'><math id='Ch6.Ex2.m3' class='ltx_Math' alttext='\displaystyle\begin{cases}v_{xy},&\mbox{if }x<x_{\text{max}}\wedge y<y_{\text{% | <td class='ltx_td ltx_align_left ltx_eqn_cell'><math id='Ch6.Ex2.m3' class='ltx_Math' alttext='\displaystyle\begin{cases}v_{xy},&\mbox{if }x<x_{\text{max}}\wedge y<y_{\text{% |
max}}\\ | max}}\\ |
0,&\mbox{otherwise}\end{cases}' display='inline'><mrow><mo>{</mo><mtable columnspacing='5pt' rowspacing='0pt'><mtr><mtd columnalign='left'><mrow><msub><mi>v</mi><mrow><mi>x</mi><mo></mo><mi>y</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd columnalign='left'><mrow><mrow><mtext>if </mtext><mo></mo><mi>x</mi></mrow><mo><</mo><mrow><msub><mi>x</mi><mtext>max</mtext></msub><mo>∧</mo><mi>y</mi></mrow><mo><</mo><msub><mi>y</mi><mtext>max</mtext></msub></mrow></mtd></mtr><mtr><mtd columnalign='left'><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd columnalign='left'><mtext>otherwise</mtext></mtd></mtr></mtable></mrow></math></td> | 0,&\mbox{otherwise}\end{cases}' display='inline'><mrow><mo>{</mo><mtable columnspacing='5pt' rowspacing='0pt'><mtr><mtd columnalign='left'><mrow><msub><mi>v</mi><mrow><mi>x</mi><mo></mo><mi>y</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd columnalign='left'><mrow><mrow><mtext>if </mtext><mo></mo><mi>x</mi></mrow><mo><</mo><mrow><msub><mi>x</mi><mtext>max</mtext></msub><mo>∧</mo><mi>y</mi></mrow><mo><</mo><msub><mi>y</mi><mtext>max</mtext></msub></mrow></mtd></mtr><mtr><mtd columnalign='left'><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd columnalign='left'><mtext>otherwise</mtext></mtd></mtr></mtable></mrow></math></td> |
<td class='ltx_eqn_cell ltx_eqn_center_padright'></td> | <td class='ltx_eqn_cell ltx_eqn_center_padright'></td> |
</tr></tbody> | </tr></tbody> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 43: </span>Skeleton of sobel.sac</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 43: </span>Skeleton of sobel.sac</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFN0cnVjdHVyZXM6IGFsbDsKdXNlIFN0ZElPOiBhbGw7CnVzZSBDbG9jazoge3RpbWUsIGdldHRpbWUsIGRpZmZ0aW1lfTsKCi8qIEhlbHBlciB0byB3cml0ZSBtYXRyaXggdG8gc3Rkb3V0IGluIHBsYWluIG1hdHJpeCBmb3JtYXQuCiAgIFRoZSBwcm9kdWNlZCBvdXRwdXQgKGxldCdzIHNheSBtLmRhdCkgY2FuIGJlIHVzZWQgd2l0aCBnbnVwbG90CiAgIGxpa2Ugc286CiAgICAgICAgZ251cGxvdD4gcGxvdCAibS5kYXQiIG1hdHJpeCB3aXRoIGltYWdlICAqLwp2b2lkIHdyaXRlTWF0cml4KCBpbnRbLiwuXSBtKQp7CiAgZm9yICh5PTA7IHk8c2hhcGUobSlbMV07IHkrKykgewogICAgZm9yICh4PTA7IHg8c2hhcGUobSlbMF07IHgrKykgewogICAgICBwcmludGYoIiVkICIsIG1bW3gseV1dKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKICB9Cn0KCi8qIENvbnZvbHV0aW9uIHdpdGggZ2l2ZW4gbWFzay4gICovCmlubGluZSBpbnRbLiwuXSBhcHBseShpbnRbLiwuXSBtYXNrLCBpbnRbLiwuXSBpbWcpCnsKICAvKiBJbXBsZW1lbnQgY29udm9sdXRpb24gaGVyZS4gICovCn0KCmludFsuLC5dIHNvYmVsKGludFsuLC5dIGltZykKewogIFNZID0gWwogICAgICAgICBbMSwgMiwgMV0sIFswLCAwLCAwXSwgWy0xLCAtMiwgLTFdCiAgICAgICBdOwogIC8qIENvbXBsZXRlIHRoaXMgZnVuY3Rpb24gaGVyZS4gICovCn0KCmludFsuLC5dIGdhdXNzQmx1cjkoaW50Wy4sLl0gaW1nKQp7CiAgLyogQ29tcGxldGUgdGhpcyBmdW5jdGlvbiBoZXJlLiAgKi8KfQoKaW50Wy4sLl0gZ2F1c3NCbHVyMjUoaW50Wy4sLl0gaW1nKQp7CiAgLyogQ29tcGxldGUgdGhpcyBmdW5jdGlvbiBoZXJlLiAgKi8KfQoKaW50WypdLCB0aW1lIHRpbWVzdGFtcChpbnRbKl0gaW1nKQp7CiAgcmV0dXJuIChpbWcsIGdldHRpbWUoKSk7Cn0KCmludCBtYWluKCkKewogIGZwcmludGYoc3RkZXJyLCAiXG5SZWFkaW5nIGltYWdlIGluIEZpYnJlIGZvcm1hdC4uLlxuIik7CiAgaW1nID0gRmlicmVTY2FuSW50QXJyYXkoc3RkaW4pOwoKICBmcHJpbnRmKHN0ZGVyciwgIlxuQXBwbHlpbmcgZmlsdGVyIC4uLlxuIik7CiAgaW1nLCBzdGFydCA9IHRpbWVzdGFtcChpbWcpOwogIGltZyA9IHNvYmVsKGltZyk7CiAgaW1nLCBlbmQgPSB0aW1lc3RhbXAoaW1nKTsKCiAgLyogQ2FsbCB0aGUgb3RoZXIgZmlsdGVycyBoZXJlLiAgKi8KCiAgZnByaW50ZihzdGRlcnIsICJcbkZpbmlzaGVkIGZpbHRlcmluZyBhZnRlciAlZnNcbiIsIGRpZmZ0aW1lKGVuZCwgc3RhcnQpKTsKICBmcHJpbnRmKHN0ZGVyciwgIlxuV3JpdGluZyByZXN1bHQgaW1hZ2UgLi4uXG4iKTsKICB3cml0ZU1hdHJpeChpbWcpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBTdHJ1Y3R1cmVzOiBhbGw7CiB1c2UgU3RkSU86IGFsbDsKIHVzZSBDbG9jazoge3RpbWUsIGdldHRpbWUsIGRpZmZ0aW1lfTsKCiAvKiBIZWxwZXIgdG8gd3JpdGUgbWF0cml4IHRvIHN0ZG91dCBpbiBwbGFpbiBtYXRyaXggZm9ybWF0LgogICAgVGhlIHByb2R1Y2VkIG91dHB1dCAobGV0J3Mgc2F5IG0uZGF0KSBjYW4gYmUgdXNlZCB3aXRoIGdudXBsb3QKICAgIGxpa2Ugc286CiAgICAgICAgIGdudXBsb3Q+IHBsb3QgIm0uZGF0IiBtYXRyaXggd2l0aCBpbWFnZSAgKi8KIHZvaWQgd3JpdGVNYXRyaXgoIGludFsuLC5dIG0pCiB7CiAgIGZvciAoeT0wOyB5PHNoYXBlKG0pWzFdOyB5KyspIHsKICAgICBmb3IgKHg9MDsgeDxzaGFwZShtKVswXTsgeCsrKSB7CiAgICAgICBwcmludGYoIiVkICIsIG1bW3gseV1dKTsKICAgICB9CiAgICAgcHJpbnRmKCJcbiIpOwogICB9CiB9CgogLyogQ29udm9sdXRpb24gd2l0aCBnaXZlbiBtYXNrLiAgKi8KIGlubGluZSBpbnRbLiwuXSBhcHBseShpbnRbLiwuXSBtYXNrLCBpbnRbLiwuXSBpbWcpCiB7CiAgIC8qIEltcGxlbWVudCBjb252b2x1dGlvbiBoZXJlLiAgKi8KIH0KCiBpbnRbLiwuXSBzb2JlbChpbnRbLiwuXSBpbWcpCiB7CiAgIFNZID0gWwogICAgICAgICAgWzEsIDIsIDFdLCBbMCwgMCwgMF0sIFstMSwgLTIsIC0xXQogICAgICAgIF07CiAgIC8qIENvbXBsZXRlIHRoaXMgZnVuY3Rpb24gaGVyZS4gICovCiB9CgogaW50Wy4sLl0gZ2F1c3NCbHVyOShpbnRbLiwuXSBpbWcpCiB7CiAgIC8qIENvbXBsZXRlIHRoaXMgZnVuY3Rpb24gaGVyZS4gICovCiB9CgogaW50Wy4sLl0gZ2F1c3NCbHVyMjUoaW50Wy4sLl0gaW1nKQogewogICAvKiBDb21wbGV0ZSB0aGlzIGZ1bmN0aW9uIGhlcmUuICAqLwogfQoKIGludFsqXSwgdGltZSB0aW1lc3RhbXAoaW50WypdIGltZykKIHsKICAgcmV0dXJuIChpbWcsIGdldHRpbWUoKSk7CiB9CgogaW50IG1haW4oKQogewogICBmcHJpbnRmKHN0ZGVyciwgIlxuUmVhZGluZyBpbWFnZSBpbiBGaWJyZSBmb3JtYXQuLi5cbiIpOwogICBpbWcgPSBGaWJyZVNjYW5JbnRBcnJheShzdGRpbik7CgogICBmcHJpbnRmKHN0ZGVyciwgIlxuQXBwbHlpbmcgZmlsdGVyIC4uLlxuIik7CiAgIGltZywgc3RhcnQgPSB0aW1lc3RhbXAoaW1nKTsKICAgaW1nID0gc29iZWwoaW1nKTsKICAgaW1nLCBlbmQgPSB0aW1lc3RhbXAoaW1nKTsKCiAgIC8qIENhbGwgdGhlIG90aGVyIGZpbHRlcnMgaGVyZS4gICovCgogICBmcHJpbnRmKHN0ZGVyciwgIlxuRmluaXNoZWQgZmlsdGVyaW5nIGFmdGVyICVmc1xuIiwgZGlmZnRpbWUoZW5kLCBzdGFydCkpOwogICBmcHJpbnRmKHN0ZGVyciwgIlxuV3JpdGluZyByZXN1bHQgaW1hZ2UgLi4uXG4iKTsKICAgd3JpdGVNYXRyaXgoaW1nKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx730' class='ltx_listingline'> | <div id='lstnumberx735' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Structures</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Structures</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx731' class='ltx_listingline'> | <div id='lstnumberx736' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx732' class='ltx_listingline'> | <div id='lstnumberx737' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Clock</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>time</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gettime</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>difftime</span>}; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Clock</span>:<span class='ltx_text ltx_lst_space'> </span>{<span class='ltx_text ltx_lst_identifier'>time</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gettime</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>difftime</span>}; |
</div> | </div> |
<div id='lstnumberx733' class='ltx_listingline'> | <div id='lstnumberx738' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| |
</div> | </div> |
<div id='lstnumberx734' class='ltx_listingline'> | <div id='lstnumberx739' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Helper<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>write<span class='ltx_text ltx_lst_space'> </span>matrix<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>stdout<span class='ltx_text ltx_lst_space'> </span>in<span class='ltx_text ltx_lst_space'> </span>plain<span class='ltx_text ltx_lst_space'> </span>matrix<span class='ltx_text ltx_lst_space'> </span>format.</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Helper<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>write<span class='ltx_text ltx_lst_space'> </span>matrix<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>stdout<span class='ltx_text ltx_lst_space'> </span>in<span class='ltx_text ltx_lst_space'> </span>plain<span class='ltx_text ltx_lst_space'> </span>matrix<span class='ltx_text ltx_lst_space'> </span>format.</span> |
</div> | </div> |
<div id='lstnumberx735' class='ltx_listingline'> | <div id='lstnumberx740' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>The</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>produced</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>output</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>(let’s</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>say</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>m.dat)</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>can</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>be</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>used</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>with</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>gnuplot</span> | <span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>The</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>produced</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>output</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>(let’s</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>say</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>m.dat)</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>can</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>be</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>used</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>with</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>gnuplot</span> |
</div> | </div> |
<div id='lstnumberx736' class='ltx_listingline'> | <div id='lstnumberx741' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>like</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>so:</span> | <span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>like</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>so:</span> |
</div> | </div> |
<div id='lstnumberx737' class='ltx_listingline'> | <div id='lstnumberx742' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text ltx_font_italic' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>gnuplot></span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>plot</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>”m.dat”</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>matrix</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>with</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>image</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>*/</span> | <span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>gnuplot></span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>plot</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>”m.dat”</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>matrix</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>with</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>image</span><span class='ltx_text ltx_lst_space ltx_font_italic'> </span><span class='ltx_text ltx_font_italic'>*/</span> |
</div> | </div> |
<div id='lstnumberx738' class='ltx_listingline'> | <div id='lstnumberx743' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>writeMatrix</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>writeMatrix</span>(<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>) |
</div> | </div> |
<div id='lstnumberx739' class='ltx_listingline'> | <div id='lstnumberx744' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx740' class='ltx_listingline'> | <div id='lstnumberx745' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>y</span>=0;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>m</span>)[1];<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>++)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>y</span>=0;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span><<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>m</span>)[1];<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>++)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx741' class='ltx_listingline'> | <div id='lstnumberx746' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>x</span>=0;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>m</span>)[0];<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>++)<span class='ltx_text ltx_lst_space'> </span>{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>x</span>=0;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><<span class='ltx_text ltx_lst_identifier'>shape</span>(<span class='ltx_text ltx_lst_identifier'>m</span>)[0];<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>++)<span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx742' class='ltx_listingline'> | <div id='lstnumberx747' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”%d<span class='ltx_text ltx_lst_space'> </span>”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>[[<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_identifier'>y</span>]]); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”%d<span class='ltx_text ltx_lst_space'> </span>”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>m</span>[[<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_identifier'>y</span>]]); |
</div> | </div> |
<div id='lstnumberx743' class='ltx_listingline'> | <div id='lstnumberx748' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span>} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx744' class='ltx_listingline'> | <div id='lstnumberx749' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”\n”</span>); |
</div> | </div> |
<div id='lstnumberx745' class='ltx_listingline'> | <div id='lstnumberx750' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span>} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx746' class='ltx_listingline'> | <div id='lstnumberx751' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx747' class='ltx_listingline'> | <div id='lstnumberx752' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
| |
</div> | </div> |
<div id='lstnumberx748' class='ltx_listingline'> | <div id='lstnumberx753' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Convolution<span class='ltx_text ltx_lst_space'> </span>with<span class='ltx_text ltx_lst_space'> </span>given<span class='ltx_text ltx_lst_space'> </span>mask.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Convolution<span class='ltx_text ltx_lst_space'> </span>with<span class='ltx_text ltx_lst_space'> </span>given<span class='ltx_text ltx_lst_space'> </span>mask.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx749' class='ltx_listingline'> | <div id='lstnumberx754' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_identifier'>inline</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>apply</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mask</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>inline</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>apply</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>mask</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) |
</div> | </div> |
<div id='lstnumberx750' class='ltx_listingline'> | <div id='lstnumberx755' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx751' class='ltx_listingline'> | <div id='lstnumberx756' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Implement<span class='ltx_text ltx_lst_space'> </span>convolution<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Implement<span class='ltx_text ltx_lst_space'> </span>convolution<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx752' class='ltx_listingline'> | <div id='lstnumberx757' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>23</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx753' class='ltx_listingline'> | <div id='lstnumberx758' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>24</span></span> |
| |
</div> | </div> |
<div id='lstnumberx754' class='ltx_listingline'> | <div id='lstnumberx759' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>25</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sobel</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sobel</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) |
</div> | </div> |
<div id='lstnumberx755' class='ltx_listingline'> | <div id='lstnumberx760' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>26</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx756' class='ltx_listingline'> | <div id='lstnumberx761' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>27</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SY</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SY</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>[ |
</div> | </div> |
<div id='lstnumberx757' class='ltx_listingline'> | <div id='lstnumberx762' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>28</span></span> |
<span class='ltx_text ltx_lst_space'> </span>[1,<span class='ltx_text ltx_lst_space'> </span>2,<span class='ltx_text ltx_lst_space'> </span>1],<span class='ltx_text ltx_lst_space'> </span>[0,<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span>0],<span class='ltx_text ltx_lst_space'> </span>[-1,<span class='ltx_text ltx_lst_space'> </span>-2,<span class='ltx_text ltx_lst_space'> </span>-1] | <span class='ltx_text ltx_lst_space'> </span>[1,<span class='ltx_text ltx_lst_space'> </span>2,<span class='ltx_text ltx_lst_space'> </span>1],<span class='ltx_text ltx_lst_space'> </span>[0,<span class='ltx_text ltx_lst_space'> </span>0,<span class='ltx_text ltx_lst_space'> </span>0],<span class='ltx_text ltx_lst_space'> </span>[-1,<span class='ltx_text ltx_lst_space'> </span>-2,<span class='ltx_text ltx_lst_space'> </span>-1] |
</div> | </div> |
<div id='lstnumberx758' class='ltx_listingline'> | <div id='lstnumberx763' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>29</span></span> |
<span class='ltx_text ltx_lst_space'> </span>]; | <span class='ltx_text ltx_lst_space'> </span>]; |
</div> | </div> |
<div id='lstnumberx759' class='ltx_listingline'> | <div id='lstnumberx764' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>30</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx760' class='ltx_listingline'> | <div id='lstnumberx765' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>31</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx761' class='ltx_listingline'> | <div id='lstnumberx766' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>32</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>32</span></span> |
| |
</div> | </div> |
<div id='lstnumberx762' class='ltx_listingline'> | <div id='lstnumberx767' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>33</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>33</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gaussBlur9</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gaussBlur9</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) |
</div> | </div> |
<div id='lstnumberx763' class='ltx_listingline'> | <div id='lstnumberx768' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>34</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>34</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx764' class='ltx_listingline'> | <div id='lstnumberx769' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>35</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>35</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx765' class='ltx_listingline'> | <div id='lstnumberx770' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>36</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>36</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx766' class='ltx_listingline'> | <div id='lstnumberx771' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>37</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>37</span></span> |
| |
</div> | </div> |
<div id='lstnumberx767' class='ltx_listingline'> | <div id='lstnumberx772' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>38</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>38</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gaussBlur25</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gaussBlur25</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[.,.]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) |
</div> | </div> |
<div id='lstnumberx768' class='ltx_listingline'> | <div id='lstnumberx773' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>39</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>39</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx769' class='ltx_listingline'> | <div id='lstnumberx774' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>40</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>40</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Complete<span class='ltx_text ltx_lst_space'> </span>this<span class='ltx_text ltx_lst_space'> </span>function<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx770' class='ltx_listingline'> | <div id='lstnumberx775' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>41</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>41</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx771' class='ltx_listingline'> | <div id='lstnumberx776' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>42</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>42</span></span> |
| |
</div> | </div> |
<div id='lstnumberx772' class='ltx_listingline'> | <div id='lstnumberx777' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>43</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>43</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[*],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[*]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[*],<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[*]<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>) |
</div> | </div> |
<div id='lstnumberx773' class='ltx_listingline'> | <div id='lstnumberx778' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>44</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>44</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx774' class='ltx_listingline'> | <div id='lstnumberx779' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>45</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>45</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gettime</span>()); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>gettime</span>()); |
</div> | </div> |
<div id='lstnumberx775' class='ltx_listingline'> | <div id='lstnumberx780' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>46</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>46</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx776' class='ltx_listingline'> | <div id='lstnumberx781' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>47</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>47</span></span> |
| |
</div> | </div> |
<div id='lstnumberx777' class='ltx_listingline'> | <div id='lstnumberx782' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>48</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>48</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx778' class='ltx_listingline'> | <div id='lstnumberx783' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>49</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>49</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx779' class='ltx_listingline'> | <div id='lstnumberx784' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>50</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>50</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nReading<span class='ltx_text ltx_lst_space'> </span>image<span class='ltx_text ltx_lst_space'> </span>in<span class='ltx_text ltx_lst_space'> </span>Fibre<span class='ltx_text ltx_lst_space'> </span>format…\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nReading<span class='ltx_text ltx_lst_space'> </span>image<span class='ltx_text ltx_lst_space'> </span>in<span class='ltx_text ltx_lst_space'> </span>Fibre<span class='ltx_text ltx_lst_space'> </span>format…\n”</span>); |
</div> | </div> |
<div id='lstnumberx780' class='ltx_listingline'> | <div id='lstnumberx785' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>51</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>51</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>FibreScanIntArray</span>(<span class='ltx_text ltx_lst_identifier'>stdin</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>FibreScanIntArray</span>(<span class='ltx_text ltx_lst_identifier'>stdin</span>); |
</div> | </div> |
<div id='lstnumberx781' class='ltx_listingline'> | <div id='lstnumberx786' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>52</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>52</span></span> |
| |
</div> | </div> |
<div id='lstnumberx782' class='ltx_listingline'> | <div id='lstnumberx787' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>53</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>53</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nApplying<span class='ltx_text ltx_lst_space'> </span>filter<span class='ltx_text ltx_lst_space'> </span>…\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nApplying<span class='ltx_text ltx_lst_space'> </span>filter<span class='ltx_text ltx_lst_space'> </span>…\n”</span>); |
</div> | </div> |
<div id='lstnumberx783' class='ltx_listingline'> | <div id='lstnumberx788' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>54</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>54</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>start</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>start</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); |
</div> | </div> |
<div id='lstnumberx784' class='ltx_listingline'> | <div id='lstnumberx789' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>55</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>55</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sobel</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sobel</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); |
</div> | </div> |
<div id='lstnumberx785' class='ltx_listingline'> | <div id='lstnumberx790' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>56</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>56</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>end</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>img</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>end</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timestamp</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); |
</div> | </div> |
<div id='lstnumberx786' class='ltx_listingline'> | <div id='lstnumberx791' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>57</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>57</span></span> |
| |
</div> | </div> |
<div id='lstnumberx787' class='ltx_listingline'> | <div id='lstnumberx792' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>58</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>58</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Call<span class='ltx_text ltx_lst_space'> </span>the<span class='ltx_text ltx_lst_space'> </span>other<span class='ltx_text ltx_lst_space'> </span>filters<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>Call<span class='ltx_text ltx_lst_space'> </span>the<span class='ltx_text ltx_lst_space'> </span>other<span class='ltx_text ltx_lst_space'> </span>filters<span class='ltx_text ltx_lst_space'> </span>here.<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx788' class='ltx_listingline'> | <div id='lstnumberx793' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>59</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>59</span></span> |
| |
</div> | </div> |
<div id='lstnumberx789' class='ltx_listingline'> | <div id='lstnumberx794' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>60</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>60</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nFinished<span class='ltx_text ltx_lst_space'> </span>filtering<span class='ltx_text ltx_lst_space'> </span>after<span class='ltx_text ltx_lst_space'> </span>%fs\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>difftime</span>(<span class='ltx_text ltx_lst_identifier'>end</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>start</span>)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nFinished<span class='ltx_text ltx_lst_space'> </span>filtering<span class='ltx_text ltx_lst_space'> </span>after<span class='ltx_text ltx_lst_space'> </span>%fs\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>difftime</span>(<span class='ltx_text ltx_lst_identifier'>end</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>start</span>)); |
</div> | </div> |
<div id='lstnumberx790' class='ltx_listingline'> | <div id='lstnumberx795' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>61</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>61</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nWriting<span class='ltx_text ltx_lst_space'> </span>result<span class='ltx_text ltx_lst_space'> </span>image<span class='ltx_text ltx_lst_space'> </span>…\n”</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>fprintf</span>(<span class='ltx_text ltx_lst_identifier'>stderr</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”\nWriting<span class='ltx_text ltx_lst_space'> </span>result<span class='ltx_text ltx_lst_space'> </span>image<span class='ltx_text ltx_lst_space'> </span>…\n”</span>); |
</div> | </div> |
<div id='lstnumberx791' class='ltx_listingline'> | <div id='lstnumberx796' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>62</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>62</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>writeMatrix</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>writeMatrix</span>(<span class='ltx_text ltx_lst_identifier'>img</span>); |
</div> | </div> |
<div id='lstnumberx792' class='ltx_listingline'> | <div id='lstnumberx797' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>63</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>63</span></span> |
| |
</div> | </div> |
<div id='lstnumberx793' class='ltx_listingline'> | <div id='lstnumberx798' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>64</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>64</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx794' class='ltx_listingline'> | <div id='lstnumberx799' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>65</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>65</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<table style='width:100%;'> | <table style='width:100%;'> |
<tr> | <tr> |
<td class='ltx_subgraphics'><img src='data:image/png;base64,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' id='Ch6.F1.g1' class='ltx_graphics ltx_centering' width='298' height='421' alt='The '></td> | <td class='ltx_subgraphics'><img src='data:image/png;base64,b'iVBORw0KGgoAAAANSUhEUgAAASoAAAGlEAQAAAC3Ra/qAAAAAmJLR0T//xSrMc0AAAAJcEhZcwAAAJAAAACQAPFFumsAAAAHdElNRQfmAw4QNAOVs17hAABEWElEQVR42u3dd5QUxdrH8W/35NkcYIEFFFAUE5hQEBMmTChmr+nqa0Yx55zFgGLWq2K6ihGzGEBRMYuKkQwSJLPLptlJ9f5R42VFZjawS3B/n3PmiDs9nfvpp6qrq0BEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQkE0e7AHq8VXxV5KyNP9CekPVJwZPLDpiwy29XtIZt9epww5y5F5xXc8UOTQ/au4IzBHx9wHc7eHzgGwK+nuC7DdzHwf0RlnfOGhUIVA1Kvg3xwyDxMCTug8RbkDgQ4k9A8nhIPrCaGxRzZvNNaD59qrdv8Z0313s+1e7XbBz9pMWX9WXoOHpGqgiaV1p8WZ+Fa+hd8xFes2+D7/pDwSkF5wNwvwXHBfcGcD8CZ2swMyBxMsQvh2QYzANApduOSYFr2LbmjMau4qJfA3HYSRdwa5E1b3ghGNPkz3HGOI4xwc+NyRtqTHHQmI4djen2ozGb3W/MVpcbs/XWxnS+0ZjuCWO63W9M587GtM81pqjamPw7jcnKMsbvN8btsBrroc/a/XxtjHuuMT6fMYE3jQlta0zWhcbk5hqT95Mxud2NCe9hv+fx1V9e8NKZu7eWa1QZ1ersvHsgex/I6Q/BueCWg2vAGQGuH9zPwX0bnFpgHBS+C+Z0MN3B5EHyazAvg+kH5jgwH0JiL0gcAtUP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'' id='Ch6.F1.g1' class='ltx_graphics ltx_centering' width='298' height='421' alt='The '></td> |
<td class='ltx_subgraphics'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASoAAAGlCAYAAABN3LsiAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAACQAAAAkADxRbprAABvF0lEQVR42u39d3yc5ZX3j3+m96YZjcqod6u4yjYGbAyhJ9hg4lASNmxYNpDNJrshbBZ2UzZhH5Jnk32AJSHfDRASCAsJYCA0m+aCiyQ3Fat3zWg0TdN7uX9/ZO/rp/HIlmxsY/B5v17zgvGMptwz92fOda5zPkfAcRwIgiDOZ4R0CAiCIKEiCIIgoSIIgoSKIAiChIogCIKEiiAIEiqCIAgSKoIgSKgIgiBIqAiCIEioCIIgoSIIgiChIgiCIKEiCIKEiiAIgoSKIAgSKoIgCBIqgiAIEiqCIEioCIIgSKgIgiBIqAiCIKEiCIIgoSIIgoSKIAiChIogCIKEiiAIEiqCIAgSKoIgCBIqgiBIqAiCIEioCIIgoSIIgiChIgiCIKEiCIKEiiAIgoSKIAiChIogCBIqgiAIEiqCIEioCIIgSKgIgiBIqAiCIKEiCIIgoSIIgiChIgiChIogCIKEiiAIEiqCIAgSKoIgCBIqgiBIqAiCIEioCIIgSKgIgiChIgiCIKEiCIKEiiAIgoSKIAiChIogCBIqgiAIEiqCIAgSKoIgSKgIgiBIqAiCIKEiCIIgoSIIgiChIgiChIogCIKEiiAIgoSKIAgSKoIgCBIqgiBIqAiCIEioCIIgSKgIgiChIgiCIKEiCIIgoSIIgoSKIAiChIogCBIqgiAIEiqCIAgSKoIgSKgIgiBIqAiCIEioCIIgoSIIgiChIgiChIogCIKEiiAIgoSKIAgSKoIgCBIqgiAIEiqCIEioCIIgSKgIgiChIgiCIKEiCIIgoSIIgoSKIAiChIogCIKEiiAIEiqCIAgSKoIgSKgIgiBIqAiCIEioCIIgoSIIgiChIgiCIKEiCIKEiiAIgoSKIAgSKoIgCBIqgiAIEiqCIEioCIIgSKgIgiBIqAiCIKEiCIIgoSIIgoSKIAiChIogCIKEiiAIEiqCIAgSKoIgCBIqgiBIqAiCIEioCIIgoSIIgiChIgiCIKEiCIKEiiAIgoSKIAgSKoIgCBIqgiAIEiqCIEioCIIgPlnEdAiA2dlZbmxsjA4E8akiLy8PlZWVAhKqC4RHH30U+/btW3wYKhRCIpGgtLQUFRUVsFgsMBgMkEqlEAiyvzepVArpdBqxWAwDAwNYsWIFAIDjuKz7chwHAEgkEkgkEnA4HJienobT6UQgEIDf72f3WQiO4xCNRqFUKs/6sUulUuA4DjKZjL2+E71OsVgMkUgEofAvgXwymUQ6nV70+4pEIpDL5ezvzyaRSAQKhSLn8wQAgUAAnU4HrVaLwsJCFBcXw2g0QiwWQywWz/t5ZDIZiEQiSCQSdtySySRmZ2cxMDAAkUiEQCAAj8eDQCCATCaz4GvMZDJ4//33KaK6UIhEInjvvfcWfX+JRAKlUol169YxoaquroZarc45iWKxGBKJBHw+HzweD5YtWwaO45hQCQQCdh0AQqEQu/j9fgwODsJqtWJqagrpdPq8O3YCgQAikQgCgQCZTIadlPOhUCggkUjYyRoOh5lYfZoQiUQoKytDSUkJlEol6uvrUV5eDoVCAblcniNSHMchlUpBKpWyH49oNIpIJAKxWIyenh74fD7YbDb2eSeTyQVfR11dHS39iFzkcjkqKiqwYsUKtLa24tJLL0VBQQH7cg4MDLAIaGZmBg6Hg133+XzIz89He3s7lEol9Ho99Ho9dDodu24ymWA0GlFaWori4mJccsklcLlc8Hq9OHToEPr6+jA8PAyn0wm73f6JnOBVVVW48847cemllzKhmsvAwAB+/vOfY3h4OOvft27dihtvvBGlpaXsb/hoiuM4/OY3v8GHH36ImZmZ8+5zFwqFKC4uhtlsRm1tLRobG7FixQrk5eUhPz8fGo2G/eD5fD6EQiHEYjGkUinE43H2/zKZDDqdjkVjOp0Oa9euRWtrK0KhEILBIOx2O7q6uvDRRx/BarVibGwMkUiEclQkP6f2S6rValFSUoLGxkY0NTVBqVQiHo+zL5rL5cLs7CzGx8cxMTEBm80Gn88Hn88Hs9kMo9EIjUYDs9mM/Px8RKNRaDQaCAQCqFQqCIVCKJVKqNVqFBUVobCwEIFAANFoFMFgEB6PB6FQCEKh8BMRKpVKhaamJmzcuPGEt/Mn7lxKS0vR2tqK2traef9u+/btOdHI+RQ1KhQKGAwGlJWVMaHSarXsvQYCASQSCSZOkUgEiUSCRU6pVApyuRwCgQBSqRQajQYSiQR6vZ6971gshsLCQqRSKQwPDyMYDEIkEtGJB0Cw2PzAZ5n777+f+/nPf37CvIrFYkFDQwO+8pWvYP369SgrKwMA2Gw2vP/++9i+fTva29sxMTGBVCp12q9DIpGgsLAQJpMJF198MVpbW7Fs2TKUlJTAZDKxX+1wOIwDBw7gtddew759+zA+Po5YLHbWj9Ntt92GjRs34u67717wvitWrMDw8DCMRiP++q//Gt///vcXzC3dddddeP/99zE5OXlefC9UKhXKy8uxefNmfO1rX4PJZIJOpwMAuFwu2Gw2dHZ24sCBAzhw4ABcLhecTueivgMqlQoGgwGVlZVYuXIlli9fjvLycjQ1NSE/Px8AYLVasWfPHjz33HNob29HKBRCPB7PWvoNDAxQMp0iKBG/s4KWlhYUFBRAJBLB6/XC5/NhYGAAQ0NDcDqdiEaj+Liiz3EcYrEYQqEQbDYbi7TcbjdKS0vZr3Amk4HRaER9fT3sdjtisdg5yWEVFxejqKgo69/C4TAmJyexZMmSrH8vLy+H1WqFXC5HeXl5zhKxt7cXZWVlUKvV7N/49/NJC5VAIIBWq0VBQQEaGhpQWVkJhUKBZDKJmZkZ+Hw+TE1NwW63o7+/H9PT0wiFQkgkEov+DqTTacTjcfj9flitVigUCgSDQaRSKVRVVaGgoABCoRBmsxktLS0IBAJwOp1wOBwIBoO44AIMPkdwIV+++93vcgByLlqtlrvhhhu4P/zhD1w6nebS6TTn8Xi4999/n/v+97/PLV26lNNoNPP+7Zm4CIVCzmw2c0uWLOHuuusu7oknnuD279/PWa1WLpPJcJlMhnv55Ze5e++9l9NoNJxQKDxrrwUAt3v3bva8/KWnp4f78pe/nPPvf/rTn7impiZu/fr1ObdlMhnulltu4Y4ePZrz73v37j2r72ExF4lEwl122WXcP//zP3Pt7e3stQ0PD3PPPPMM99WvfpVraGjgzGbzGT3mGo2Ga25u5h544AGup6eHc7vd7Llfe+017kc/+hG3bt06TiaTcQKBgKurq+MulHOUIqoTJE8lEgnKyspQVVUFs9kMAHA4HBgbG0NfXx8mJiYQDofPahTDcRwSiQQikQjsdjsGBwchEokwOzuLVCrFlolVVVXQ6/WIxWKL2tY+HbRabU6+5OjRo+js7ITD4cC+ffvQ1NTElkYmk4nt7s3F5/Ph6NGjcDqd6OzshFAoRHNz83kTQSsUChQWFqKlpQWVlZVQq9UIh8OYmprCyMgIBgcHMTMzw3JQZzKySafTLELldwLLyspQUFAAo9GIiooKLF26FF6vFzabbd5SCIqoLqCISqVSceXl5dy///u/c729vexX7emnn+Y2b97MFRYWcgKB4BP5tc/Ly+Nqa2u5hx9+mLPb7Vwmk+GCwSC3efNmTqfTnZXnFAgE3Lp167gjR45kRT+XXXYZiyiKioq4vXv3Zt2+cePGnIhq165d7HGNRiO3efPm8yai0mg03LJly7h/+7d/44LBIJfJZLhoNModO3aMu/POO7k1a9ZwCoXirL8OgUDAVVdXc9dffz33yCOPcB6Ph0smk1w6neb8fj/3i1/8gmttbeVWr15NEdWFilQqRXl5OVatWoU1a9bAZDJhamoKR48exfvvv4+hoSGEQqEFf0n53TulUgmpVJqVg+KjpNOJxqLRKGZnZ7Fnzx7U1tbioosugsFgQGlp6bwRzJnK2XzhC19AXl4egL8UGv7yl7+EzWZjxyEYDC74fvg6K55IJAKPx4PBwUHU1tayHbHi4mJMT0+f08+9uLgYtbW1WL9+PTZs2ACJRIKZmRn09PRgz5496OzshNPpXFR903zfheMDg4WCh9nZWQwNDUEoFILjOCxfvhwWiwWlpaW46KKLYLPZMDo6esGclyRUxyGTyVBWVoYNGzZg7dq1UKvV2LdvH9544w28//77cLvdi9rVEYlE0Gg0MJlMLGGcyWTg8/kQDAaRSCRyTtzFClU0GsWePXtQX1+PsrIyVnvFC+LZFiqO4/D444/DarVmFaouJFTHn6TRaBQejwdDQ0OoqalhQmWxWGC3289pwri4uBgrV67EDTfcgNWrV7Ol/p49e/DCCy9gdHT0tH5Y+IJY/v0v9jPnN2ympqZgs9kQCoXQ2tqKmpoarFu3Di6X65zs9JJQnYcIBAI0NzfjmmuuwfXXXw+ZTIYXX3wRL7/8Mvbv34/Z2dl5v6xyuRw6nQ5Lly5FVVUVTCYTiouLUVhYCKVSCaFQCK/XC61Wi3Q6jWQyCa/Xi9nZWfj9fkQiEczOzsJut8NqtcLj8cDpdJ403xSJRNDd3Y3m5mYoFIqzflwqKyuz6pysVisSicQpRxbHlyjY7Xb88pe/xDXXXAOhUIjCwkJ8+9vfxp133vmxSj0Wi0QigcViwT333IOGhgZUVVVhcnISzz77LHp7e3Hw4EFYrdZ5P3eBQACZTIbCwkI0NTXBaDSisLAQWq0WcrkcEokEUqkUEomEiVQqlYLf74fb7YbP58P09DSGhoZgt9tZHdbxOcqhoSH87ne/w86dO9He3o777rsP69atQ19fHwnVhSpUOp0OhYWFKCoqQjqdhtVqZQnUE/2iikQiyOVyFBQUoLq6GsXFxaisrERRURHrgXM4HDCZTBAIBEin0/D5fHA6nXC73QgGg3A4HOA4DoFAAOFweN4es+MTrz6fD36/H6FQ6Kwfm7llBHw0dDrH93hisRhGRkZYlKFQKNgy8FxtnKhUKlRVVaGkpARqtRputxt9fX3o7+/H5ORkVu3S8e+H//uioiIUFRWhsrISRqORLfnlcjmkUikymQwymQySySQ8Hg9sNhtcLhcymQzsdjtrQ5pvuRwKhVitXH5+PtLpNIxG41n/gSKhOk9paGjAli1bsGHDBgDAr3/9a7z22msYGRmZV6Ty8vKwZMkSrF27FmvXrkVDQwP0ej0kEgmrSrbb7UyIzGYzdDod5HI5VCoVKioqUFJSgnQ6DbFYDI7j4PF44PV6cfTo0ayWGZvNlvUa1Go11qxZgxUrVqCmpga7d+/+RI9dcXFx1tJzeHgY0Wh0weVoIpHIWkIqFArU19efE6HSaDQoKSnBnXfeiaamJqTTabS3t+OXv/wl9uzZw5boWSeMWAyz2YyVK1eyQuBly5ahsLAQMpkMYrEYoVAIyWSSvQc+SuIr0vPz89Hc3IxMJoNYLAaXy4XDhw9jZGQE7e3t6OnpQSwWy1oiptNpuFwu7Nu3D4899hjuueeeC+rcJKE67otrsVhYZfDIyAimp6cRDodPmM/iywOWLl2KyspKSKVSpNNpzM7OIhQKIRKJIBAIIBAIsOWASCSCWCyGVCqFUCiEQCCARqOBQqFAKBRi7RjhcJg9ztyWGYFAAIlEgry8POj1+pxo55NAoVBkLesWW7qRyWSyojO+TelcCJVEImE/GFqtFn6/H7Ozszh27BicTucJl3sKhQJFRUWoqqpCc3MzVqxYwVpp+GR7NBpFJpPJegyhUAipVAqVSsXKPYRCIUpKShCPx5HJZDA8PHxCB4Z4PA63243h4eFTXnaTUH2K2LdvH3fxxRcLjh07xu3cuRNf+cpXoNPpBCKRCAaDAffeey9aWlowMjKC3bt34+WXX4bdbs9Z5lksFrS0tODv//7vsWLFCiZsbW1t2LlzJ44dO4ZDhw4xkZubd+CTqwaDAfn5+TCZTNBqtaitrcXy5cvR3NwMi8WCm2++GTfffDOi0SjC4TDa2tpw+PBhuFwupNNpXHzxxbj++uuh0+kQCoXwwQcfIBgMnvFjZjKZWB0Z8Jc6qJ6enpz7/ehHP0JFRQW7/o1vfAODg4OoqalhuTSBQAC5XI7Kykp80v5fGo0GN910Ey699FLcfPPNcLvdePvtt/Hoo4/i2LFjOfdXqVSorKzExo0bce+996K2thZisZhVq7/zzjsYGxtDV1cX+vr64Ha7EY/HEY1GEYvFWD5Lp9OxSKy4uBgtLS24/PLLcfnll+Oqq67CPffcg+3bt+P555/H8PAwBgYGspLm6XQa09PTrJaLhOozhs1m437961/j4osvxh/+8Ad89atfxVNPPYXvfOc7LKLJy8uDSCRibQ3HF/TxOazy8nI0NzfDYDAgk8nA4XBgdnYWvb29GB8fh8PhYAI13w7P3EJOn8+HZDIJuVwOuVyOTCYDl8uFsrIyaDQaSKVScByHvLw8WCwWyGQypFIp5Ofng+M4zMzMYGZmBl6v96wUn/L9aHNzU8c7IwCA2WzOWuYFAgGkUilEo1EMDg6yok7egeJ4oQqFQtBqtSyakMvlSCaTZ6WAVSAQoKCgABaLBQUFBSx6tlqtOfk+gUAApVKJqqoq1NbWoqamBkqlEsFgENFoFG63G+Pj4+jr64PdbofT6WQ9ecf7baXTaSQSCQQCATgcDqRSKdaYXFNTw5w0TCYTGhsbIZPJkEwmYbVaWd5SrVajtLQ0J4IlofqMYLFYBFVVVRy/ZKuurmZLDj7CqaiogEwmQ3d3N1566SV4PJ6sk18ikaC5uRl33HEH7rrrLgDAxMQEPvroI7zzzjvYvXs3nE7nCZOvvEil02n4/X74/f6cxK7RaEReXh4uuugirFmzBsuXL0dZWRnWrVuHuro6+P1+JJNJVFRUIBAIYMeOHdi1axeOHDlyWjU+C7F69Wp88YtfZNenpqbw+OOP55zMV111Vda/8VGJ1WrFf/7nf+Kmm26CQCCA2WzGnXfeiV27dmWJ0OjoKOrr69kSqrCwkOX5zrRISaVSfO5zn8OWLVuwdOlSAMATTzyBzs7OHBGWSqWoqqrC3/7t32LFihW4+OKLAQAHDhxAV1cX3n33XbS3t2N6enrBHwreQNHtdmNgYIDlvMrLy7Fp0yasWrUKV111FdavX4/169djZGQE77zzDp5//nl0d3dDIpGgpqYGGzZswNGjR3OifRKqzxixWAzPPfccixQkEgnq6upQVFTE8hThcDgnGtJqtSgvL0dhYSEAYGZmBkNDQxgeHobD4fjYLSwcxyGZTCISibDHFolE8Hg88Pl8rIaKd4f0eDwYHx9nu0dnA/4Xfu7JdipLTF6U5574fBQzl6GhIZSUlDChKi8vh8vlOuNCxf8oVVdXQ6VSIR6PY2JiAi6XKycXKZVKYTQasWTJEhQVFUGr1SIWi8Fms6Gvrw+jo6Osnul0a754N1ar1cocQ2tqalBQUACZTAaLxYIVK1ZALBZDIpGgqqoKjY2NqKmpuaCE6oJqlRkbG+P+twSAa2tr41KpFMdxHB5++GHu4Ycf5nw+H/faa69xW7Zsmbe14fLLL+e2b9/OpdNpLpPJcL/97W+566+/njMajWetncJgMHAVFRXczTffzN17773ct7/9be5b3/oWd/fdd3OXX345V15ezimVyrP2/A899FBWi8uOHTvmbfk4vrn4+Pskk8ms20UiUdbta9eu5Q4cOMBuf/bZZ7mWlpaz0ibz+c9/nvP7/Vwmk+Gmpqa4e++9l1Or1TkNxkVFRdzWrVu5zs5OLh6Pc4lEghsfH+fuv/9+rrKyktNqtWf0ten1em716tXcz372M85qtXKRSIQdj66uLq6np4dzOBxcJpPhxsfHuR//+MfUQvNZpKKiQvC/iVTBmjVrspZ0FosFIpEITqcTLpcr51dYJpOhtbUVZrMZbrcbo6Oj2LVrF0ZHR89qUpO3j+nt7cXExASrcub9tvkc1yeFUCjMquc5fqdrsVit1qykcUtLy7wGfB93l0+v12Pt2rUQi8UYGBhAb28vurq6cvKRJpMJzc3NuPzyy2E2m+FwODAxMYF9+/Zh//798Pl8J13in26kPz09zXzQS0tLUVNTg+LiYrY7zPuq8989WvpdQIjFYlRUVEAkEsHlcsHtdufcrlKp0NraioKCArjdbrS3t2PXrl2w2Wxndas4FoshFovB5/Odl8dOJBJBpVJlReinU1Fus9myhGrp0qVnRagMBgMTqsHBQbS1tTGhmgtf63TFFVegoKAABw8eRFtbG1588UV0dnaelY0LflnJb5A0NDTg8ssvZ0l0viB4cnISb7/9dk6Ok4TqAhAqi8UCm83G8k1z0ev1qKurw9KlS8FxHI4cOYKXXnrptJtUPy1oNJqstplIJJKTMzKbzdi0aRO7PjExgSeffDLnsRKJBGQyGdup0mq1CAQC59ROuaKiAsuWLcOqVavgdruxa9cufPjhh1kRMW+W+OUvfxmtra3Iz8/HsWPH8Mgjj2BwcBCDg4Nn/TWn02mMjIzAbrfj6NGjrFaOH6ARCoUwNjbGcqUkVBcIfBHfXGP+43+JtVot9Ho9MpkMvF4vrFYr4vH4Z9ppkR9vxcOP/pqLTCZDSUlJlpjN14N2/FgsiURyzn3f+SEaeXl5LIF+fGEnX+vF+0DJZDIEAgEMDQ1hamrqnLQrAX8pmA2Hw3C5XJBIJGzCEb/hEgqFWJP4hQBNSv7fvEogEEBXVxempqZyck5GoxGtra2QSqVob2/H+++/j7GxsXPSNPtJcuutt2JuLu+hhx7Cz372s6z7lJeX44EHHmDXPR4P3njjjZzH+spXvpJVSPnNb34TpaWlWfeJx+NZeR+dTge9Xn9G3otcLseVV16JG264AQDw/PPPo6OjAzabLUs8y8rK8K1vfQtbtmxBTU0Nenp68N3vfhdHjx7NibTPFXwTu8fjwezs7AVpRUxCRRAECdWnJaLy+XyYnZ2ddydHoVDAbDbD6XSip6cHF8r49y9/+ctYt24du97W1oaOjo6T/g1f0Ho8b7zxRtYmxb/+679mVbwDwE9/+lP88Ic/ZNdvvPFG3HrrrWfkvbS2tuL666/Hxo0b4XK58Nprr2VFUwBgsVhw3XXX4b777oNSqcTu3bvx4IMP4sCBA5/pXCQJ1WcMvtDy0zbZ90wyd8kxn7/Ux4EfXc9jNpvnLQ49HUwmE2tJmZmZyenBFAqFUKvVrLh1amoK09PT8Pl8oJFyJFTnz4EQChd0X+RPpAt1cu3xx0cqlS7aVXQxzpZ9fX1ZDc9XXHEFrrnmmjPy2i+55BKYTCYEg0Hs2LEDY2NjWTuYcrkcNTU1WL9+PQDgpZdewp///Gd0dXXRyUFCdX4JFV9UN18UwXEcNBoNaxz9rCORSBa0WqmurkZVVRW7vn//fhw4cGDRz3H8riLvgnkm4Xd0KyoqIJfLEY1GcezYsZyomDc7LC8vRzAYRE9PD6xW61lrTSJIqE7ry3wyoeJPIrVaDa1We0E4K0ql0lMWKn5i8GIRiUQ5QnWml1n8kI3y8nIoFApEIhEcO3YsZ8e2qKgIFRUVKCsrQygUwrFjx0ioSKjOP6FSq9UwGAzzLmUSiQT8fj9kMhny8/PP2Jb5+Xw8li9fzirOM5kMXn/9dczOzmbdb926dbjooovY9ZGREYyMjJzwcdvb27F//352vbKyEtXV1QsKzceZriORSFBYWAij0YhAIACr1cpsn+fS0NCAoqIixGIxdHV1zdukTJBQfeLLPrVaDb1eD5lMlnN7MplkQmUymWAwGC4ooeI4Dn/+85/nFaq5u4KLEaq5EddihIq3ZTldxGIxCgsLkZeXx3zGHA5HVqQkEAiYUMXjcRIqEqpPDqvVyv3iF7/gOjs7uWPHjnG//OUvOb/fz/EnYiKRQGVlJYqLi3Osff1+P3NaLCwshMViOWsz9M4HRCIRvvWtb6GoqIhFVO+9996C/YbxePykfY/t7e1oa2tj17du3Yrbbrst6z52ux2PPPIIW5rpdDpcddVVp727KJfL0djYCIlEAqvVipGRkazXyLfMrFixAhaLBT6fDx9++OEFZ/VLQnWesGPHDnzlK1/B73//e/zhD3/AlVdeiaeeeordnslkoFKpoFAocjyrk8kkG7Apk8k+8+6KAoEAtbW1Wbm4xfQ18pNWTgQ/IoyntLQUZWVlWfeJxWIYGhpiSzOJRIKCgoLT9lCf68EejUZzhsfyEZter4dCoUAymTyr/l4ECdVJue222/Dss89i+fLlOQ6ffr8fTzzxBOLxOBobG1FeXp5zgnV1dWFkZARGoxFLly5FXV3dZzqqOh5+WMFcAThV8eCdIE6Gy+XC73//e/ZclZWVeOKJJ07rWAuFQmg0GqxZswYikQgDAwM55QZyuRzLly9HeXk5G+za1dX1mW+PIqE6T/nFL36B0tJS1NXV5Th8yuVyrFu3DsXFxfSNIAgSqk+OLVu2sCrnBx98EI2NjbjllltYbqW9vR3JZBKVlZVZ01T42z0eDzo6OhAIBNDY2Ijbb78dBoPhnA3KPJfLvrklAyfi2muvZZsKHMfhZz/7Gaampj7282UymXltoE8HnU6H4uJiNDc3Y2ZmBseOHctxdlAqlVizZg1kMhlcLhe6u7upXeY85IKxeWlsbBQ0Njay63NdATKZDILBIDKZDJsGMx8ejwexWIxNAjGbzWx232cF3gpl7rLX4/HkiEtDQ0NW4Stve7MQ8XgcU1NTKCkpgUAggFgshsFgyDErnE/QThWJRAKZTAaRSIRIJIJYLJYjQiKRCBqNBgKBAIlE4pzZuBAUUZ0yiUQCAwMDiMfjbJz7fFFFW1sbZmZmUFlZidtvvx1XXHEFszD+rFBWVpZVG3XkyBE899xzOaLx4IMPMpsWjuPw0ksv5Vg4z4fL5cIf//hHFjGp1WqsXr16QSE6nc0LfnaiSqXC5OQkZmZmsnYueRvlJUuWQCgUYnZ29oJpOCeh+hSSTqcxMzMDv98Pg8GAsrIyFBYW5giQ1WrFoUOH0N/fz5Y/V155JZqbm6HT6T4TO4HNzc246aabst5ze3t7zv3kcnnW+w2FQotq1g4Gg9i3bx8Tqry8PNx44405x27fvn3wer3sOj815lRQKBRQKpVIp9Pwer05vuj81GKj0YhQKASPx7MosSVIqD5xodLr9Wwk1omEip/Jdu211+Kqq65CU1MT9Hr9Z1Kopqam5hUqhUKRdXzC4fCitvQDgUCWUBmNxnmFav/+/TlCdao9lscL1fGOrFKpFEqlEkajEcFgkISKclTnv1DNzs7i6NGjMJvNqKiowObNmzE1NZU1hDSRSODgwYOQy+UIhULYtGkTLr30UpSUlOCGG27Au+++i76+PjidTkxPT3+seW+fFCKRKKsSPB6PIxAInLHHT6VSWbVUIpEIOp0u536vvPIKrrjiCtZLeP/998Nut5+SkKjVauh0OmQyGXg8npwiTn46tkwmw8TEBOx2+wU1MIGE6lMGX5nu9XqRTCahUqlgsVhyGnM5jmN+6ZOTk0ilUjCZTJBIJFCpVBgaGoLT6UQ4HM4pGv3UhNhCYVaklE6nz2hNEe/5Pff55muROX4qTX19fU7HwEJIJBL2OSQSiZyITywWQyqVQiQSIRqNzptsJ0iozjux2rlzJ1atWoU1a9bg2muvxZtvvom9e/dmeWWHw2H09PTA7XbD4/Fgw4YNaGlpQVlZGe644w5cd911CAQCmJqawtjYGOx2O3w+H6anp+FwONgU5oUKH89XlEplVvmG1+vF0aNHz/jz8D8ac6OjU9204CMq/vHmi6i0Wi0ymQzcbvcpTYAmSKg+MVwuFyKRCORyObRa7bxuCvyI8kQigb6+PtTU1KC+vh4qlQoqlQoFBQWIRqMwmUxQKBRQKBRwuVxsVPt8U24+bUvDufP2+JaTM00ymcyKgPipNaf05f7fMejzPd7xtycSCapGJ6H6dHD06FH87ne/A8dx2Lx5Mx588EGoVCps27Ytq5gxlUohGAzi7bffxp49e1BRUYElS5bgoosuQm1tLQoKClBVVYWamho2OZgfzBkIBBAKhTA5OYnx8XEMDw/DbrfjyJEjbLnzSfWZNTc3Z1Xnv/POO1mOm8Bf7FAee+wxdn10dBT/+q//esrP9eqrr2LDhg0wm80AgJUrV6K3t/eMRjU6nQ4GgwGZTAYOhyOnzkun0yEvLw+ZTAZOp/OM5uIIEqqzuvzz+/1wuVzwer2QSqWwWCwoLS2F1+udt2I6nU4jHA7D6XSyznw+KctHZEKhEDKZDBKJBJlMBmKxmFVNA2AFlkajET6fD7FYDIFAAOFweN5I4GxRWlqaNSuOX7aeLKJKp9M5Q0kXw9jYGFavXs2u19TUYHx8PEuo/H4/vF4vq4Dnd/EWW2DLmyGm0+l5j6NAIIBAIEA6nUYikbigvfBJqD5lQtXV1YXi4mJUV1dj3bp1uPnmmyGTyRCPx9Hd3Z2T54hGoxgbG8PY2Bh27drFErSlpaWora1FaWkpjEYjKisr2VBLrVaLkpISKJVKNlTS6/Wir68PAwMDsNls6OjoQHd3N5xO5zlbKt56661Z4vHWW2/lNPGqVCo0NDSw6/F4PGeay2J46qmncMkll7AG8L/7u7/D4OBgVj6wq6sLJpMJn/vc5wAAJSUlKC8vn3fA6XzwyfRoNAqfz5eTKJdIJJBIJOz20xFcgoTqEyGZTGJ2dhajo6NobGyEWCxGQUEBGhoaMD09Pe829/Fil06nEYlE4PF4IBKJEAqFEI/H4fP5YDKZoNVqkZ+fj7y8PKhUKpYH02g0KCwsZCdXJpOBQqGAx+OBz+c76zkUhUKRU5pwtp4zEolkRTBarTZnp3RmZgbT09PsusViQVlZ2aKFioe3n5mvVIT/vBayqCFIqM4r/H4/2tvb4XK5UF5ejhUrVuDqq69Gc3MzIpEI2tra4HA4TrhMSKfTSKfTmJqaymnS5Z1E1Wo1qqur0djYiPr6elgsFqxcuRJ1dXVoaWlhSeNDhw5h+/btOHToEHbu3IlAIHBWlyclJSVZ7qUej+esuVwe3xvY2NiYU36wfft2BINB3HHHHQCAzZs3Iz8/H9u3bz8lkUokEvOWJ/BCFY/HEYvFKJlOQvXJ4/F4uJmZGSxZsoQt15qamiCYp8ksEonAZrNh+/btEAqFqK+vR35+Pr70pS+hsLAQhw4dwvj4eFYx6GKXlnx19MTEBCKRCMbHx6HVanHkyBFUVlaisLAQer0eDQ0NMJvNWL9+PSorK2E0GnHw4EFMTU0hEAh8IvU+vMjyzM7OZlWPn2mCwWBWAabRaER+fv5pPRafjzrV2wgSqnPKv/3bv6G8vBzT09N47733UFNTg4MHD+LOO++cd1kSiUTwzjvvoKioiOWbvvSlLzFrFz6vcTpCFY/HEQwGMTk5yU4Uk8mEhoYGLFmyBOXl5TCZTKisrERpaSkSiQTy8vKQSCQQiUQQjUY/EaHSaDQ5QnW8j/qZFqq5O3GnKlRzp9osJFIkViRU5wWPPfaY4Nvf/ja3atUqqNVq3HnnnfjpT3960r8ZGxvDn/70J9jtdlx88cW4+uqr0draCovFgptuugmvv/46Dh48iOHhYczOzp72sozjOPh8PnR1dWF4eBhKpRL79+/H+vXrcckll6C6uhqrV69GeXk56zV84403MDIysugeu4XgK/H55dLg4GBOcvm6667DZZddxq7/8Y9/xO7du0/7Oe12O6anp9nuZ15eHoxGY46tzOmykFDxt/OeWJ9le2kSqk8Jjz/+OPfAAw/gt7/9LaLRKKampmA0Gk/6N5FIBFarFWNjY6ioqEA6nUZeXh6USiUKCwvR09ODsbExWK1Wtg1+uvCTbvx+P4RCIVKpFAoLC9HQ0IDS0lIUFBQgLy8P0WgUHMfBYDBALBafkShAIBCwHci50czx76eoqAiFhYVZeSar1XrazxuLxbLE8FQmL5+KWM19n/PdTtEUCdV5w/Lly/HMM8/ga1/7GpxOJ15++WXcfffdC/6dzWbDq6++ijfffBPPP/88rr32WlxzzTVYs2YNvv3tb+PrX/86ZmZmMDExgf7+foyOjmJmZga9vb0YGxtDMBg85WVaJpPBxMQEnnzySbz22mswm8340pe+hC996UtoaGjA8uXLcdNNN+HnP/85Xn/9dfT19X2sEgaxWIyHHnqI+UulUil885vfzPFmuuaaa3DppZey68eOHUNvb+9pP+8jjzyCQ4cO4de//jUA4I477kBFRQV+8pOfsPuEw2F0dnayTQbe7350dHTBhm9+p08oFM4r6vxun1gshlwuv6A88EmozlMuvfRSAX+SFRQUoKWlhT59giCh+uyQyWQQj8exf/9+HDp0CL/73e+wZMkSXHvttVi6dCkqKirQ2tqKdevWsQLOWCyG6elp2Gw2eDweTE5Owmq1wm63w+v1Ynh4GDMzM4jH4yfNMblcLrhcLvzoRz/Cc889h6uvvhpr1qzBHXfcgR/+8Idobm7Gjh078Pzzz+dMilksIpEIW7duzVoOdXR0nPXj2tfXl1UOceWVV0KlUmVFVOPj4/jGN76BDz74ADKZDBaLBT/60Y9w1113LTh7j29dUiqV89ZpJZNJJJNJKJVKGAyGU/a7Ikiozls4jkM0GoXH48HQ0BCAv3Tm84WcSqWSWYcIhUKoVCpWyyMWi6HVahEMBqHRaGC1WuH3+9m8uZO1zHAch0gkgpmZGYyOjmJsbAzFxcXIz89HTU0NzGYzbDbbWRucKZFI2NKJ47gTFlCeafgm8Llz/sxm86JySnyfJe+xdXyynLew4a1mPq3WPCRURA7JZBJ2ux12ux0HDhyAUqlEfn4+iouLUV9fj5qaGlbJbrFYUFVVBZFIxJK2fK4kFAphYGAA/f39sFqtOHLkCHp7e+F0Ok/YymGz2fDWW29h7969yGQyuOeee7Bhwwa0trZicHAQr7766hnbMTsevV6fdSKfqIDyTBONRtHb28uEip+cvBjLF35ys0KhgNFozEnUR6NRRCIRSKVSGI3GU7Y6JkioPlXCxddTRaNRTE5OQq1Wo62tje3U8UsPvptfpVLBYDCgtLQUKpUKdXV1WLJkCfr7+9Hb2wur1YqBgQGEQqEcMUgmkwiFQmhra0NDQwMuueQSFBYW4oorrsCRI0fYybdYeN/wuY9/fGJeIBBg7dq1rBmZ4zi8/PLLC06OWWyEmk6nIRQKIRAI2MCFM9F3F41GEQ6HIRAIoNFocpLl/LHibz/R9CGChOozIVR8WcHcrXqJRAKTyYTCwkImSiUlJSgrK4PZbIZGo0FJSQmz2gWAoaEh7Nq1C52dnZiZmZk355RKpZhQlZeXo6ysDCUlJbjiiivwpz/9CZOTkx9LqFKp1DkVKn6Jxi/LhEIhlErlGRMqXojmy1EdL2QkVCRUFxzpdBrBYJAVc3o8HoyOjkKv10OtVuPgwYOoqqpibgrl5eXQarVYuXIlioqKoNFosH//foyOjmJ2djZHfGKxGLq7u5nDgMViQXNzM4aHh+H1ehdd01VWVoampiZ2/dixYzh8+HCOUK1fvx5arZb923wFoaeD2+3GSy+9hFtuuQUCgQBqtRpr1qzB9u3bs0Q6mUxCJpMxQVMqlYjH4yd9n5FIhPUqniiiCoVCSCQSUKvVUCqVEIlEZPdCQnXhkMlkEAqF5h1oKRKJYDabWVNySUkJRCIRli1bhsLCQqRSKWZ/kkgkEI/Hc4QqHo+jp6cHXV1dKCkpQX19PZqamtDW1obBwcFFn2zl5eVYu3ZtllC99tprOUK1YcOGrH87lec4GR6PBy+99BK2bt3KmrbXrFmDHTt25ESSc5P3SqVywSZt3lGVF6rjI6pIJIJgMIhEIgGVSgWFQgGxWExCdR5CPQOfULTl8Xhw6NAhvPrqq3jyySfxwAMP4Mc//jH+/Oc/Y2hoCJWVlbj77rtx//334zvf+Q4aGxshk8lyIoJDhw7hz3/+MziOw7p167By5Uomcoth2bJlWaUJVqt1UaUJZ+pkDgaDbHMAAPLz8/HVr341J1n+05/+FMPDw+z6TTfdlFUlPx+BQABerxeZTAZ5eXk5yfRYLIZgMIjZ2VkolUrodLp5J+IQFFFdsPDWIz6fDwKBAF6vFzqdjjko8E4FvBWKTqfLOXn5eXW8Z5PRaIRerz+l3SudTscq0vko42w2Gs+X45u7UymXy1FRUZFTftDf358VnVosFigUigUfmy/XOFl5QiKRgEgkYkZ6BEVUxDzwDp9//vOf8U//9E/44he/iK9//evo6OiAxWLBpk2b8OSTT+Kaa65hHuM8Y2Nj2LNnD5555hnEYjHU1dVlLeVOZ8k6NzckFosXFIQzEWEuxFtvvQWn08muf/e730V1dfVJ/2Z2dhZOp5P1TR7fz8j/YExPT0MoFEKr1aKgoIC+kCRUBEEQJFSfeoLBIKampvCb3/wGt99+Ox599FG0t7djyZIl+NrXvobVq1dnbaNnMhnEYjHs3LkTs7OzyM/PR2Nj46KeazGNuMuWLcOtt97Krg8MDOBb3/rWWT8OCoUiK/o5neJSflCHz+eD2WyGyWTKyUElk0lWVqLValFUVERfQhIq4lSIRqOYnp7G6OgoUqkUtFrtvPU+HMchHA4jlUpBKpVCqVQuqsXk+GrsycnJHMdOk8mEuro6dj0ej2cNYDhTDA8PZ9ke5+fnL2j5wk+ZOdkyNp1OIx6PszaZ44WZ78sUiUSQyWTU70dC9cnz0Ucfce+//z63bds27sEHH+QGBga48/n1Tk9P480338RvfvMbRKNRNDU1oba2Nme3K5PJYGxsDOFwGDqdDhUVFTnj6Odj7dq1qKysZNdfeOEFtLe3Z91n/fr1uO+++9h1j8eDd95554y/18cff5w5ngLAxo0bF/QLW8i/KpVKIRqNwuVyQSKRwGAwZI0D4+/jdDrZ8NiysjJSBRKqT45wOMz9f//f/weHw4Guri5873vfw0svvXTev+5AIAC73Y7+/n5kMhkYDIYcO16O4zA7O8t2EPnixYUcK3n30LlRzdyE9XxwHHdWbJA7OzuzZvp94QtfyNk4aG9vx969e9n1iooK1NbWnvRx0+k0AoEAJBIJdDodm6E4V6hmZmaQyWSg1WpRWlpKFeokVJ8cjz76KBobGzE+Ps6sP46vSzrfhYrjOOj1+pwTmBcqfhCCRqNZlFBdfPHFOUK10Hj2TCZzToTqhhtuyHmfHR0dWUJVWVm5oFBlMhkmVHq9flFCpVAoyPGThOqT4cYbb0RJSQk7ke+77z6sXLnyU/Ha0+k0a42RyWTzDjiIRCJwOBysWnsxQnU8iUQia2TUubToXcwo+8OHD+PAgQNZn+ntt9++4HuanJyEVCpFRUUFampqsm6Px+MYHh7G0NAQEokEamtrUV9fvyh3BuLcccEUfDY2NgoWuxt2vsFxHEKhEJLJJEv6zidm/MBQfkLwqYoMbzQ3V6jOFYvxt/J6vVnFqPxA0oUeNxKJMG+w42cH8q1OwWAQmUwGarUaGo2GIiqKqIjTOYkdDgczkDtRDiUajSIWiyGZTJ6RwQ+NjY1sQgwAvPfee9i5c+c5e9/HR3R83+OpRmo9PT2IxWKoqKhAU1MTdDode1xeqI4ePYrJyUmoVCpcdtllOeURBAkVsQji8TjLDZ1oWcJPaZ5rm/Jx0Gg0WVXpTqdzwWT72RQq3ln0VKPEQCCATCYDlUoFrVabs1OYTqfh8/kQjUYhEomQn59PSz8SKuJ0l3788u9EpFIp1o6ymPKEuX/3s5/9jPUM8vzgBz/ADTfcwK6/8MILZ3Wn9KWXXsLzzz/Prq9cufJjtQPNjaja29uhUqnQ3NyMiy66KMdJ4Z133sGRI0egVqvxN3/zN7jkkkuySjcIEipiEfA1QwtFSqebAJ/ric5z/FDOVCqVlWw/07hcrqyIrbKycsF+vsWIPB8x8Utio9GYcxzD4TC8Xi/b9SwuLkZeXh5FViRUxKksgfLy8pCXl3fSGp+PM5qcH2g6V6RUKlVW4j4YDM7rr3Wm2LVrF9577z12/Wtf+xq+8Y1vfGyhisViOHr0KHw+H5RKJdatW5ez/BsZGUF7ezt2794NgUCAz3/+81izZg35qJNQEaciVCqVClKpFBzHnXDSjEwmg0wmg0QiOaVcjkAgQGFhITOXEwgEaG1tPecn6XwRm0wmY2UlvOf86eD1elkrDe+qOredhm9DcjqdSCQSMBqNyM/PX7A6niChIuZEN5WVlcjLy0Mqlcrpx+PvYzKZYDQaodVqkUgkFj3OSiQS4brrrkN9fT3zFn/66adzao7ONqFQCIFAIOvf8vLysHXrVohEIixduhStra2n9diHDh2C0+mEXC7HNddcgyVLlmSVKqTTaYyNjWHnzp3wer246KKLsHHjRqxbt46Wf+cBZJx3niOTyaDT6VBTUwOZTIZgMDjvUAWNRoO8vDxIJBLEYrEFbXrn44tf/CJWrlyJeDwOk8nEIo5MJoPXX3/9rI3imkskEkF3dzeampogFAqh0+lw9dVXQ6fToaysLKtuyufzLdrkz+VyYXBwEEVFRViyZAmWL1+OiYmJrOMUiUQwOTmJnTt3YvPmzSgrK8Pll1+OtrY2jI+Pk0UxCRVxIuRyORMqqVSKUCiU0+bCT1ExGo2QSCQIh8OnLVQnyvO89tpr58T5MxKJoKenh1nV6PV6XHPNNbjmmmty7nsqQuV0OjE4OAiLxYKWlhasWLECe/fuxeTkJDtO/LiznTt34vrrr0dZWRmuuOIKvPDCC1n3I0ioiLkfjliMxsZGrFixAhUVFZiamsLw8HCWywDwF7uTyspKGAwGhEIhjI+PIxgMLnhiPf3000ilUrjkkktOeJ+pqSlMTU3hnXfemXfJeaax2Wx46KGHsGXLlgWXXM8//3xW8v1kJJNJtLe3QyAQ4Nprr8UVV1yB9vZ2hEIhdHd3M0EOBoP44IMP8MYbb6CpqQkVFRW49957MTMzA7vdfk5tmqVSKXQ6HYqLi6HRaCAUCpFOp+FyuTA5OXlBVc+TUJ3H8PPozGYzVCoVm0M317eJvx+fbI/FYsybaiHGxsYWXM5FIhF4PJ6z4kE1H9FoFH19fYvKr01OTmJsbGxRj8s3bjudTmQyGZjNZuTl5bFZhTy87cv09DRKSkoglUpRXV0NtVq9oD/WmUYkEkEul0Ov18NgMEAkErG5iyKRiITqQhQEuVyO0tJSJgr8l8Dr9cLhcMDpdCIWiy06Qf1xX49KpcKGDRtw++234+KLLwYA7Ny5E729vVkuA/wXeunSpdBoNJiZmcHExMSinmd6ehpPPfUU3nzzTXznO99BWVlZViX622+/jW3btmU1Ap8rvvSlL+Haa69Fc3Nz1qiu6elpPP3008hkMrDZbDm9ewu9X6lUim3btmHr1q1Yv349ZDIZBgcH4fF4WOV7KBTCa6+9hmAwiMLCQlRXV+O+++5De3s73nzzTQwMDJy1cfZ8Xm7lypWor6/HunXrUFlZyXYsJRIJotEo/vCHP8But5NQXWhCJRKJoNFoYDKZoNVqWUGgQCBAMBjMqWQ+20gkEhQWFqKsrAwVFRUA/pIQDgQCOdGSQCCAXq+HRCJBMplc9KTkaDSKsbEx2Gw2hEKhnKXizMwMBgYG0NPTc84/kwMHDqC2tjZn2AIfcfEWzKfyucRiMfj9fthsNmQyGeTn56O4uBgymQwCgYD9CKXTadhsNjidTkQiEajVatTX18PhcECr1Z71SEYqlaKgoAAVFRVoaWlBZWUlfD4fhEIhZDIZOI7Drl27cnZIP9NwHHdBXN555x3ugQce4F5//XXulVde4R544AGuv7+f4zgOP/nJT7h7772X6+/v5zweDzc1NcUdOnSIczqdXDgc5mw2G7d3717u4Ycf5m6++Wauvr6eU6lUnEAg4ACc0YvJZOKam5u5J554gnO73Vwmk+FCoRD3L//yL1xNTQ0nk8my7p+fn8+tWLGCm5iY4GKxGPfEE09wl19++UmfQygUcp///Oe5vr4+LpPJsEskEuHuv/9+TigUnvH39XEvtbW13M6dO7NebyaT4QYGBrjrrruOE4lEi3ocmUzG1dfXc+3t7Zzf7+dmZma4n/zkJ1xeXh4nkUiy7ltYWMht2bKFa2tr4+LxOJdMJrnJyUnuH//xH7nKykpOq9Wesfen1Wq5xsZG7q677uL27NnDhcNhLpPJcLFYjGtra+P+67/+i3v88ce5bdu2sff+yCOPcBfK+XvBRFSHDx+GWq1GZWUlXn75ZXzve9/D448/jn/5l3+BRCJBbW0tlEolIpEInE4nZmZmIJFIYDKZwHEctFotysrKEIlEIBKJYDAY4HK5EIlEEI/H2eV4q5TFRHIikQhKpRJqtRrl5eUoKSlBUVERxGIxHA4H7HY7rFYrotFozpJDo9HAbDZDJpMhEAjA5/PlLA3nolKpoNFo0NzcnOMPLhQKUVVVhQ0bNpxTl4SFlkJKpRKtra3zDgdVKBRoaWnB0aNH4fF4TlgMy8PbvkxMTKCkpAQymQxlZWUwmUzIZDLw+XzsvolEAh6PB319fTCbzdBqtZDJZKiursbSpUvhcDhgs9ng9XoRiUTYSXUqOSiZTAa9Xs9KL/hatng8jlAohJmZGXR3d2N4eBhCoZCVUFxoQyguGKHaunUrDAYD/s//+T/MAZNvDxGLxSgvL0cmk4HVakV7ezvGxsZQWlqKpUuXYsmSJWhqakJTUxNSqRQcDgeGh4fR0dGBkZERTExMwG63Y3JycsHG4eO/qBqNBhqNBvX19Vi5ciU2bNiAhoYGVFZWIp1O489//jO2b9+Obdu2sZNhLnV1ddi4cSPMZjP27NmDzs5ODA4OnvA5Kysr0dLSgocffnjeJcfXv/513HnnnVCr1efFdrxcLkdtbS2eeuqpeduHSkpK8NOf/hRTU1P48MMPMTMzc9LHSyaTmJqawjPPPAOLxYKLLroId9xxB3bu3ImjR4/iyJEj7L6zs7PYv38/ZmZm4PP5sGrVKlxyySX4xje+gSuvvBJDQ0PYvXs3PvjgA/T39zM/sMUKsEqlgsViwcaNG7Fp0yZUVlayQRqDg4Po7u7Ga6+9hnfffRdutxtCoRBmsxlutxtNTU2L3kggofoU8d5772F0dBQlJSXIZDK47777cOONNwIA1Go1brrpJhw6dAjvvfceOjo64HK50N/fj/7+flRXV6O8vBzl5eUoLCyEXC5HWVkZhEIhampqMDs7i0AgAJvNBrfbjXA4jEgkwtwMMpkMUqkU+wWVSqVsErJOp4NarUZpaSlKSkpQUVEBrVaL0dFRHD58GB988AG6u7vnrTQ3mUxobGxk1dq9vb2wWq0n9Gyqra3FlVdeedJyBF5Av//97+OZZ57B5OTkWUscL4TRaER1dTX++q//esFc1JYtWxCPx9HV1ZU1+v1EjIyM4MCBAxAKhVizZg0+97nPQSwWw2q1ZtWppdNpuN1u7Ny5kzmoNjY2Qq/Xo7a2ljmHHjt2DIFAgHnXR6NRJkh81Mwnw5VKJfLy8qDX61FaWorGxkZUV1dDoVDAarWit7cXbW1tGB0dRVdXF0KhEDMW5Nt87rjjjhy3CxKqzwD33HPPghnQw4cP47333sOhQ4fYF02lUqG0tBTV1dVYv349Wltb0dDQgLKyMhQXF7Ox4Ol0Gna7nS0FPB4PotEos/eNx+NswIBarUZhYSFMJhMbwW40GiGTySAUCpFIJHD06FFs27YN+/btw9TU1LxiYTQasWTJEqxatYoJlc1mO6FQ1dXV4aqrrsJ111138i+FWIwf/OAH2LlzJ6xW6ycmVCaTCc3Nzfj617++4H1vvvlmTExMIBqNLkqoRkdH0dbWBolEgjVr1uCKK65AOBzG3r17c4TK4/Hgww8/ZPVparUaa9euhdlsRk1NDTZs2IDu7m44nU5MTExgfHyc1VuJxWI2pkssFkOpVCI/Px+VlZXIz89HWVkZs5b2+XwYGBjAu+++i7fffhsOhyOrfIQXqr6+PkxPTy9604SE6jMCb/Df19cHt9udtXRLJBJwu93M6ndkZASVlZWwWCwwGAxs1p5arWY5LT4PlEgkWESVTCYhkUigVquhUCig0WgglUqRyWQQDAbh8/kQCATgdrsxOzuLtrY2HDt2DD6fLyeSEggEKCoqwpVXXom6ujpIJBJ0d3djdHR03p0goVCIFStW4Prrr8/p39u9ezcOHjyIdevWobm5Oauu6Ktf/SoEAgE++uijszLQ4WSUl5fjpptuwkUXXZT1706nE6+++iqCwSBuuukmVFVVsdvWrVsHuVwOp9OJI0eOnFRg0+k0RkZGoFarMTAwgMLCQixZsgRXXXUV/H4/7HZ71t/HYjHMzMygo6MDqVQKw8PDMJvNsFgsMJvN0Ov1kMlk0Gq1yM/PzxIqPpriI2p+kpBMJkM4HIbL5cL4+Dimp6fR09PDIvrjhYgvo6mtrUVRUdEFNYOQhOp/v7QOhwP9/f1wu91ZeYZkMgm32w23242hoSFotVoUFxejvLwcdXV1KCsrQ3l5OSwWC4qKilhS1mAwsC8674kkkUigUCiYrxSfMI1EIrDb7RgeHkZfXx8mJydx5MgR+Hy+efNEQqEQFouFCZVYLEZPTw9GRkbYJJrj79/a2orrrruOlTrMFapf//rXuO+++1BRUZEjVOPj42hrazvnQlVRUYEbb7wRa9asyfp3l8uF3/zmN7DZbFi2bFmOUFksFnR3d6Orq2tBoRoeHgbHcRgcHERlZSUaGhpw9dVX48CBA6wwlCcej2NmZgZOpxP9/f0YGhpCbW0t1q5di5UrV7LPvrS0FKWlpVlCNVdoxGIxGyKbSCQwOzuL/v5+fPjhhxgeHsbRo0dP6KIqFAqzhGpuzRsJ1QWARCJBdXU1WlpaMD4+Dq/Xe8JEcjgcxuTkJBwOB3p6eth0XaVSCbPZDI1GA5lMBrFYzMJ9/hdVIBCwfJXf74fH40EgEEAsFkMkEkE0GmW7iPO1wAgEApYr+973vofly5cjmUyir68PL730EhwOx7yvWyKR4B//8R9zBpd+97vfxRtvvAG3241f/epXCIVC2LRpE5YtW8buU1NTgyuvvBKvv/76Of1Mbr755pzX+8gjj2DXrl0YGBhAIpHAD3/4Q7zzzjv4+c9/zu5jNpvxj//4j3juuecWFFe+3eiZZ55BUVERCgoK0Nrain//93/HY489hpGRETadhocvCD106BD6+vqwa9cu5Ofno7S0FDqdDkajEQqFIuvHjrev4Sc38/bIwWCQ2Tt7vV5Eo9ET+n0ZDAaUlpZi/fr1uOOOO6DVai+oc5SE6n9/qfjENl/8d7Jf4kgkgkgkwnrf+CSpyWSCwWCAUqlkkZNUKoVYLGa/rPyAAt7N0u/3IxaLLWq3SCAQQKlUwmg0oqmpCXl5eXA4HAgGgyyJPt/2uFAozBrLztPZ2YmJiQkkEgmMjIxgdHQ0JyJTq9U5RZfnAovFkrPLNzQ0hJ6eHnYyHzt2LMczSy6Xo66ublHWLKlUCuFwGOPj4/D7/ezza2lpQWFhIVwu17yPwzuG+nw+Vjri8XhgNBpRVFSUNY2ZH9jKpwGSySRisRj77GdmZtjQjpPB9/2VlpbmRMUXBBdKwdjJLr/+9a9ZEd3vfvc77rrrruMMBsN5Vfio0Wi4rVu3cu+++y57rbt37+buvfderrm5+aR/q1KpsookY7EY98ADD3BFRUU59/vFL36Rdd9t27Zxd9999zl/vy+//DI3MzOT9Vq2bNnCKZXKrPstX76cc7lcXDqdzrrvqRZjNjU1cXfddRe3fft29hiHDh3ivve973Hl5eWfyHdBKpVyFouFu+OOO7h3332XGxkZYa/tZz/7GXfLLbdcMAWfZJxHEARFVJ+Gy8MPP8z95Cc/4Xw+H5fJZDiXy8UdOnSI+3//7/9xt912G9fc3MxpNJqz0jKz0KWoqIhbuXIl98tf/pJzuVys1eW//uu/uNbWVk6j0Sz4GMdHVPzl6aef5tavX88B4AoKCriOjo6c+7z44ovcbbfdds7f99///d9zvb29Oa+no6OD0+l0nEgk4rZt28bFYrGs291uN/fss89yCoXilJ9ToVBw9fX13AMPPMAFg0F2rDs7O7nvfve73Be+8AWupKTkrH4PhEIhl5+fz23evJn7/ve/z3300UfsvblcLu7DDz/kbrvtNq64uJhrbm6mFpoLiVQqhampKQwODqK0tJTlZkpKShAMBllH+8zMDNul4+fsnWk3BaFQyKqW9Xo9qqurWc2WSCRiua2xsbF5G4lPlFfbvXs3VqxYkbWrV1hYiKqqKjgcDjQ2NuY4EUxOTrKNg3ONzWbD6Ogoq2Pj0Wg0uOSSSxCLxWA0GrPyiV6vF1arFX19fadVVZ/JZBCNRjE1NYVjx46xthmVSoWqqioIBAKk02nIZDJ4PB7E4/Ez4qjBlx3wli6VlZVobGxku7CRSIS1UvX29sLhcCAej39i9W2fBIJzYVtyvvPP//zP3H//93/j+uuvx3XXXcesNfiI0+l0YnR0FB999BG6u7sxODgIm80Gl8t1xsVKLpdDqVSiqakJGzZswFVXXYXGxkaYTCYkk0m8/vrr+PDDD/E///M/p+TiqVAosHv3blYcyrNv3z50dXXhnnvuyfmb//iP/8ALL7yQ1VZyLtm0aRM2bNiA73znO4u6/3vvvYePPvoIP/7xjz+WaEilUmzcuBFr167FjTfeiOXLlwP4yxSe8fFx7NixA2+++SZsNhsmJydPeXrz8UgkEpSXl6OiogLr1q3Dpk2b0NzcDJlMhmQyifHxcTz77LPo7u5GW1sbaxOqq6vDwMDABWFKRRHVnF/Srq4uVsxXUVGBiooKFBcXQ6lUoqSkBBdffDGqqqpgt9vhdrths9lYy0QwGMTs7CxCoRASiQSSySTbiubrqPgvpVgsZi00SqWStdTodDrk5+fDYDCwfr/y8nLIZDL09vaiu7sbH374Ibq6uuZtUD4ZyWQSTz75JOLxOPO3AoDS0tJ5Jwe/9tpr2Lt37yfqeTQwMACRSITa2lpcf/31J93JO3z4MLZv346DBw9+7FQI/x3gd+nGx8dRX1/PGsDXrVsHo9EIu92OsbExOBwO1pgcDAbh9/uRTqchEAiyWmj4JnS+8FepVMJgMKCgoADV1dUwm82orKxEUVERPB4PfD4fRkZGcPDgQXz00Uew2+1ndVwZCdWnIE8Xi8VYl3pHRwcqKytx2WWXYfXq1WhsbGSFfMlkEuFwGMFgEGNjY5icnMTExASmp6cxNDQEh8ORszyc66gglUqhUChQUFCAgoICmEwmaDQa5j1VWVmJwsJC1NbWstFViUQCfX19eOWVV9DR0YHp6ekFXQLmW94++eSTqKmpyRGquUsrXrj59p35BkmcS6GanZ2FyWTCNddcsyihOhPeWXzVut1uZxXjmzZtQm1tLZqbm1FQUIC1a9eygRFDQ0MYGRmBx+OBzWbD1NQUEokEhEJhVgsNL1IqlYq1UFVWVmLJkiVoaGiASqVi1ebd3d0YGBjABx98gO3bt2NqauqsDn+lpd+ngPvvv5/jiwaFQiGkUinLF5jNZpSXl7PO9uLiYuTn50Ov10MqlSKdTiORSDBLEL6AkxcovpmUL/ZTKBSQy+VZhaEikQhSqZRVLItEIni9XoyOjmJgYABWq5X1/AUCgRPWSy2Gmpoa1NTU4PXXX5/XznbHjh3YuXMnnn76aXi93nNekT7fsshkMuFv/uZvcMcdd+S0AM3OzmLHjh3493//d4yPj+fYNH/cfCHfFmOxWGCxWNDc3IxVq1ZhyZIlkMvlkEgkiMfjiEajSCaTbPgGf9zmDoXlIyze2oXPQ8pkMkQiEQQCAUxNTeHIkSNob29nlsizs7Pzfua09LvAl4GxWAyxWAw+nw8ulwt+vx+hUIj9KioUCpZklUql7JfebDYjHA4zX6q5LTT8kkKhULBq9rmuknx+ir9fMBjE9PQ0BgYGMDw8jP7+/nltXk6VkZERzMzMsNd0vFA5HA4cO3bshG0c55pkMsmSyPMtexKJBKampnIqyM9kSiAajSIYDLIC38LCQrZkVqlUzCcrk8kgkUjAbDaf9LVIpVLmbaVUKrMq1e12O/r6+tDd3b2gtxgt/T6bAsR1dXWhoqICEokEY2NjaGpqgmABX1l+hJLL5cKxY8egVCqh0Wig0+mYwR0fxut0OtbHx4saf+Fn5PEGe3a7nVU3RyIRZhXj8Xjg9/sxOTnJ/o0/Wc5E9MtxHKLRKK6++mr84Ac/wMqVK9mJ9vjjj2Pbtm3o6uo67z6/Xbt2QSaTYdmyZWx01sDAAPr6+vD73//+rEd+sVgMdrsdgUAAfX19+OMf/widTofCwkIUFxejqKiIfS9EIhGLonlnDf6/c5vU4/E4/H4/pqamMDY2hkAgAK/XC6/XO6/lNAnVBcBzzz2HRCKBDz74AA6HAzU1NTh48CDuvPPORf+q8o2mMpkMarU6y3sokUggk8lApVJBIpGA47iskeFzh3lmMhmEw2F4vV7mg84PkOBHMk1NTZ21YRJ8uYLT6cw6wUdGRjA+Pn5OBo2eKm63G4ODg5DL5cxRYWpqCqOjoxgdHT2nkbbH44HdbmejrILBIJLJJAwGA1KpFGvr4QVqbgsNfz0cDiMUCsHhcGBwcBAjIyMIh8PMXoi4QIWqs7MTBoMBHMdBrVbjzjvvxE9/+tPTeiw+KvJ4PDh8+PCi/mZuIpj/tf0k4TgOt91226fqMzx48CAOHjyIp59++hN/LfzYsunp6Y+900gsIl94obzRvLw8/N3f/R1zKZiamoLRaDynwnCqntoEQVxgEdU999yDp556CrfffjsA4OWXX8bdd999LnNk9G0jCBKqk2M0GgXf/e532fWWlhb69AmChIog/sLcjVVa+hIkVMR5h0qlQm1tLRQKBQQCAcLhMIaGhi6owQQECRVxnqNWq7Fs2TIYjUYIhUJWbU1CRZwKZJxHnFX0ej2uuuoq6PV6rF27FhdddBH0ej0dGIKEijh/kEqlKCgogEQiQV5eHoxGY45bA0HQ0u9jYjAYoFarWcEmX52el5fHBjbwLTAGgwESiQRC4V/0ny9JyGQy8Hq9UCqVUKvV7ER1u93IZDLMKO94YrEY6xnjByzw1dGBQAAGgyHrNcydniMUClFQUICioiL2uoC/eCqFQiGMjY1BIBCwib0mkwnA/39iytDQEDweT1blOt8mZLFYIJPJAIANqhgbG2PV+fPx3nvvobCwECKRiBnS8VX/VquVHVeRSAStVssmB/Pvb2pqCg6HA7FYjM015JP0AoGATa5OJpOYnZ2F2+1GUVERMwPMZDJZbUsAoFQqmTGfTqeDQCBAKpWCy+ViQy9O1MbCf2b8BBr+OWKxGKvuF4vFbMYjANYjyt+Xb5mqqKhgOTx+kC1/n0QiseCYehIqAlKpFEqlkp0wfJMo3yrDNxaLRCLI5XLIZDImavxJm06nEQwGIZPJoFKp2Dw2fiSWSCSaV6j4HTKO49gXnBfBSCTCJt3wfldCoZAJFe8aaTAYYDab2USXuaO8BAIB6+DnR1PxThBWq5U9F/94fOtQfn4+syOJRCKIxWILTn1xOByIRCJQKpWQy+VQqVRs+OrcycS8e4XBYIBGo2EC6/V6MTs7y+xTlEole31CoRD5+fkQiUSsVSUUCkGv17NlZiaTgd/vz8qNicVidoxMJhObUh2PxyEWixfsteOFyGw2s885HA5jZmaGOSXwjcv8d4afUMO7agSDQfZjyAstP0SW/0wJEqoFWbVqFVpaWtjQzx07dkAqleKWW25BMBhEXl4eRkdHsW3bNnz+859njaX8oEn+F72trQ3Lli3D8uXLYbFYoFQq8eyzzyISibBRSKlUKssOJB6PY3Z2Ful0Gt/85jfZHDqbzYb3338fF110EaRSKaLRKPr6+vD+++/D5/NBLBZj8+bNuPXWWyGXyxEMBtHR0QG1Wo2lS5dCLpfjrbfegtlsRlNTE8rLy9HV1YV4PI6ysjKUlpZCLBbj+eefx969e2G1WrF161Zs2rQJeXl58Hq9aGtrQ35+PuRyOcRiMf7nf/4H3d3d805qBoDVq1ejoqICMpkMzc3NKCoqQn19PSQSCaampvDTn/4UCoUCZWVluO2225Cfn88cI4xGI775zW9i3759bJbevffey05u/ociFouxx9+1axd0Oh3EYjF8Ph+WL1/Ohrz+5je/gV6vxxe+8AU0NDTAbDbj8OHDEAgE0Ol0aGxsxPvvv48jR45g165dOe9JJBJh8+bNWLFiBS6++GK43W4MDw9Dr9ejvLwcHMcxk0LeS4sXpmQyiZmZGSaCSqUSl156Kdrb25FOp5mljEAggN/vR29vLx566KELvqyDhGoB+OGh6XSaRUwymQwajQZut5tFQ7xDZzgcZl5Uer2eeT4ZDAYYDAZ2YisUCuTl5bFoLRKJsCiHj1SMRiNEIhGSySQUCgWLonQ6HfMxEolEWdN4+QiD91j3+/3M8zwajSIcDme180SjUTZbMJPJMGGsrq5Gfn4+TCYTAoEAysrK2Dw7u93OZuKlUim2DDwZMpkMfr8fIpGINd+Oj4+z5ZDRaGSRnVKpxOjoKHw+H5LJJNstVKvVMJvNbHnIO6lmMhlmrSOTyWCz2SAQCOBwOJDJZCAWizE0NASlUgmdTgeDwQCLxcKWe0NDQwiHwyx6mZycRF5eHkwmE7RabZZQ8TMgS0tLodVqEQwGmZc+/0NTVlaGkpIShEIhFpFbrVYW7WUyGVitVua20N/fz/zv4/E4jEYj5HI5+wEjSKgWhF9e+Xw+FBYWIj8/HyqVCvX19ejo6EBtbS2qqqpQU1ODlpYWeL1e+Hw+cBzHcg8ikQirV69GS0sLtFot5HI5LBYLVq9ezZZ2L774IsrKytiSw2q14nOf+xwTrdLSUgSDQVgsFhQXF7OcGH8izl0GyeVybNq0CZlMBgcOHEBHRweWL1+O6elpBAIBaDQaZjkyPT3NPLfUajXzg/+3f/s3bNiwgYnMV77yFbS3t6O3txcdHR0oKytjkeNipvYajUZ0d3cjHA5jYmICALBt2zaYzWb8x3/8B9auXYva2lrmdPrjH/8Y5eXl0Gg0SKVSGB8fx5YtW1BdXY23334bjY2N2L9/PxOAgYEBqNVqyOVydHd3Y9myZfjggw/gcrmwYcMG/OEPf8B9992HZcuWYfXq1Vi3bh2Ki4vh9Xrx6KOPYu3atRCLxUgmk9i1axcefPBBaDQaNmCURyKRoKamBl/60pcQDodx6NAh7N69G2q1Gl6vF/F4HA8++CC++MUvsgEVFRUVeOONN1gerrm5GS+99BJWrVqFpUuX4uGHH8all17KGt3z8vJQVFQEvV6PxsbGrCU9CRVx0jxVXl4eXC4XIpEIG6M+OTkJnU7H8iVer5flk3Q6HcrKyjA2Ngan04mVK1cyT+10Os1cG3njtL6+PqxevRoGgwHRaBQffPABi1YEAgFzfOQ91xUKBSYnJ1FYWDjvJON0Oo2hoSEIBALU1dXBZrMhHo9DKpUilUohFoshGo1CJBKx5DmfeDebzRgeHkZDQwMsFguzV/Z4PJBKpbjpppvQ39/P8nO8sBYXF2fZGofDYZa/4U9QkUgEk8nEokmhUIiuri7o9XoUFRVBKBTi5Zdfxh133IFQKASBQIDCwkKMj48jEAggmUyitLQUiUQCk5OT8Pv92LJlC5LJJJqbmyGXy3HkyBEUFRXhkksuQSgUQl1dHZLJJKLRKCYmJqDX61FRUYGJiQlYrVY0NzdjZmaGDdYQCASIRCKQyWQoKyvLOq4SiQQVFRVIpVLML+zmm29Gf38/81Xftm0bbr/9drZ883g8KCoqQlVVFQoKCjAxMYENGzbAYDDAZrPhi1/8IsxmM3MKXbVqFTo7OxGLxS640e0kVB8D3o6WFyoATKj4E48XKgDQarUoKytDWVkZjh49iv7+flx66aWIRCJwu90IBoOYmppCcXEx2/3q6+tDQUEBysrKEAgEMD09jWQyyZLW7e3tyGQy0Gg0bGT8xMQETCZTlhjMFarBwUGoVCrU1dXhlVdegUKhgFqtZmPFo9Eoi+B4UVu9ejWqq6vR39+PlStXori4GC6XiwmVTqfDTTfdhMcee4z5K/FCddlllyE/Pz8rgT73Oj+Gnt+FLC8vh9frRVdXF9uhdLvdePnll/HRRx/hwIEDiEQiaG1txSuvvAK/349UKsW86ycmJpDJZHDttdeit7cXV1xxBRQKBQYGBlhEkk6n2TFzOp2YnZ1lQrV//34MDw+jubkZr7zyCjQaDdtNDIfDkMvlOX7yc4XK6/XC7/fj5ptvxnPPPYeKigpUVVVh48aN+PKXvwyBQACfz8eEqqamBkuXLsWvfvUrrF+/Hj6fDzabDXfffTd8Ph/i8TiEQiFaW1vx7rvvIhqNZo03I6G6AOjt7eWcTicUCgWam5sX7fDJh/OVlZXYs2cPIpEIUqkUuru7EY/HMTMzg2g0CqFQCJvNBolEgsLCQgQCAQgEAmZp7Ha7WWgfCoUgk8kQi8UQCoUgFArR0NDAkufhcBi1tbVwuVzweDwIBoOYmJhgu3RyuZwJVWNjIxQKBex2e1YpgUAgQHNzM4aHh9HZ2Ylly5ahuLgYGo0GAoEAvb29KC0tRVFRERQKBUtcO51OaLVaTE5OsrwJx3Ho6+uDXq+HXC7H3r17sXv37qzZcitWrEB9fT3UajV8Ph9b4up0OsTjcUxPT8Pn8yGRSGD//v0QiUQoLy9nbqcajYbZOCsUCszOzuLAgQNwOp2IRCIwmUxwOp0IhUJQqVTgOA4ymYxt3+/duxcVFRUoKChAMpmESCTC1NQUPB4PhEIhTCYTZmdn4ff7oVQqEQqFMD09DbvdjsbGRuaBz8Pn046HL0sYGxtjecSOjg58+OGHaGpqglwuR2NjIxv04HA42E6xx+NBR0cHDhw4gL/6q79CIpHAsWPHIJFI8NFHHyEUCkGr1eLiiy+GzWZDfn4+qqurSaUutIjK5XKho6MDr7zyyqIdPnmhKi4uht1uZ9vxLpcLUqkUDocDfr8fer0eNpsNNTU10Ol06OnpyREqj8cDj8fDdvp4l0elUomGhgYkEgnMzs4iGo2itrYWTqeT+XVPTEyw7XSZTIaioiJMTEwgGo2eVKgGBgbQ2dmJb3zjG2huboZQKGSlEqWlpaitrYVGo0FbWxt6enrgcrmg0+nmFaqWlhYIBALs3bsXe/bsyTpOd999N+rr6yESiZDJZFBaWgqlUgmZTJYlVMFgEPv374dAIIBGo4FIJILdbofFYkEoFGJC5fF4cODAAYyMjCCVSuGmm25CT08PPB4Pi3JkMhkymQwcDgf27t2L5cuXs8k/QqEQVqsVw8PDiEaj+PznPw+v1wuHwwGTycQ86e12O9RqNfR6fdbOmt/vZ2Uk8wnV+Pg45HI5E6qdO3ciFAqhpqYGjY2NcLvdmJ6exszMDDveHo8H/f39OHDgAO6//354PB5MT09DIpFg7969mJ2dRXFxMcLhcE55CAnVBUJjY6Pgrbfe4v7pn/4JTzzxxKIdPvkZfmq1GtFolNUTpVIpdqLxI7DGx8fR2NgIi8WCV155BVNTUygsLMTy5ctx9OhRtmNXWFiIdDqNaDSKoaEhZDIZrFmzBna7HbFYDOl0Gg0NDWhra0MymYRUKkVlZSWr0+FHezU2NkKr1WJmZgbT09NslzKVSuHVV1/F9ddfj40bN2L58uXw+/347W9/i9WrV2PVqlW49NJLsWzZMnR0dKCtrQ233HILVq5cifr6etTV1WHHjh2IRCIIhUIIBoNIpVIsejrRwE1+59DlckGv1yORSEAsFiOdTjORFolEcLvdrI5KKBQiFouxJSRfV5ZMJpFMJpl1L18rxieVo9EoYrEYW05HIhGEw2HmNz81NYWZmRm43W6WR+OdWfnHFYlEUCqVbJnOu7/yS0Ne2PidX+AvtVO8Fzr/eue+/mQyyQo3+ed0OBwsFznf+LG5JSlCoZD9/wLB/gXFBSPZsViMS6VSMJlMglNx+OSrw/kTjv9VFQgErHCSH+TAb3ErFAo2248fu8XnIPi5bgqFAhzHIRQKwefzQafTsegpHA6zrW++BID/G5FIhHQ6Db/fD61WC7FYzKrV+Yggk8mw2X/5+fmoq6tDJpPB+Pg4fD4fpFIpTCYT9Ho9AoEAhoaGUFxcjPLyclRXV6O6ujprGAFfAsCXNJxoB4o/geeOu+cvfCEpf0mlUuw23keefw6BQJA1Zmxu4evcIlpeDPjH46/zLq6xWAzxeJw919zn4B+HFyv+olKpYDQaoVKpmIjOFY+5XQdzX//c//Kvn7/wAhmPx+edTsML1dzrxAUaUUWjUVx33XUAgNtuu23RDp+zs7OYnJzE6Ogorr/+euzevRtCoRBf/OIX0d7ejsrKSqhUKkxPT6O6uhrFxcWIx+Po6urCoUOH0NTUhLKyMmQyGdTW1qKkpIQVIvLDHRKJBJYuXYoPPvgAVqsVMpkMf/VXfwWPx8OWSAaDAYFAAD6fD4FAAO3t7di4cSPGx8exb98+/N//+3+RSqVYuUE0GsU777yDyclJTE9PY82aNdiyZQtmZmbwH//xHyyJH4lEUFBQgFgshn379kGpVKK+vp6NAYtGo/D5fLjjjjtw7NgxqNVq/MM//AObX8ifnC+99BKuu+46FBUVoaSkBOFwGJOTkzAYDLjkkkvYScufxMcLXHV1NSoqKmCz2dDf348VK1bgrrvugtfrxYYNG9DR0YGWlhbEYjEMDAxkCcHcVqW5cxb5yImPgjKZDKRSKRsoazabEQgEMDs7i6NHj7IoTKfToaamhhVl/sM//ANkMhmEQiEymQwGBwexefNmzMzMYGJiAt/4xjeQyWSwZMkSrFmzBo888gi2bt0KtVoNl8uVFX3xgx6CwSCKioqwadMmBAIB/PM//zOLVPPz87F69WpKpF+IQmUwGAQGgwEA0NLSIiCHT4IgofrMwHEcnE4nS7zLZDKk02nceOONOHz4MOrq6lBVVYWRkRFceeWV6Ovrw6FDh+DxeHD06FGsXbsWa9euhUAgwDXXXIOBgQGMj4+jpKQE69evZ/1lgUAA/f39GB0dZUWOW7ZsgUAgQDKZZL/2q1evRk1NDeRyOTZs2IDBwUEcOHAAl112GSYmJiAUClFUVAQArLmXr14/ePAg6urqsHXrVvj9frY71dnZCbfbDYFAgDfffBM7duzAFVdcgaKiIgwNDWF4eBiNjY04duwYRkZG8OSTT6KxsRGBQID1o7lcLrzxxhs57SYtLS3YunUrli1bhvz8fMRiMXYbP7yzubkZBoMBDocDCoUCf/zjH7Fp0yasXLkSJpMJb731Fg4cOIB77rkHcrkcv/vd7/CFL3wB1dXVOUNJ+V23uY3Y//tDhaqqKgSDQZhMJhw7dgybN2+G0+nEQw89hFtvvZUl0R0OB/R6PRwOB7xeLxobG/HSSy+hrKwM1dXV+O1vf4uvf/3rrKr9V7/6FUQiEQ4fPoyPPvoI//RP/8R2ZisrK5GXlwe5XI5AIMCmKL///vtYvXo1rr76anzta1/DsmXL2LL16NGjrP2GloEkVIsmkUiwQaF8wWQ4HGbJ5kQiAalUimQyiWAwCL/fz5aboVAI4XAYMpmM3e71eqFWq5FKpSCRSFjrCp/bSSQScLvdyMvLY7fzXf9zt/B5JwG1Ws0aniORCFsK8bti/JJCpVJBpVJBLBazrXqtVova2lpEo1GWa5PL5cxJgHdEsFqtLH/DL134ZPhcQTgevkFYoVCwQtPjc0v8Dqjf74dUKmXJbb7JWCqVslIGvkUpFouxHCE/xp3PA/GfBb/043NkAoEAIpEIkUgEkUgERUVFEIvFqKqqYq+FP7Z8RwKfP+JrsfiWqJmZGZYDnFuTlpeXB4VCwZbgc3NS/LIU+EupAt8RUFVVBbVazca2y2QyNt+PJheRUC0avijRarVCp9OxYkO+RcJsNsNkMsHv96O/vx+dnZ0A/tIzNjw8jKKiIuTn57Pbjx49Co/Hg5qaGmg0GiQSCbS3t8PhcLAJufv27UNBQQF0Oh0SiQS6urrQ3d2NvLw85Ofnw2KxYGZmBhKJhPXl8eUSvI2J2WzG1NQUK2NYt24dKisroVar0d7eDo7jsGTJEmzYsAHbtm2DwWCAXq+HVquFUqmE3++H1+tFKpXCK6+8gquvvhpyuRwDAwP48MMPYbFYoNVqT1o9HY1G2THw+/0sfyYUCuF2uyEWi2EymTAxMYGuri6oVCp89atfxW233Yb9+/fD6/WiuLgYf/VXf4UjR46gr6+P9depVCqIRCKMjY0hk8nA6XRCr9cjLy+PVY3zdWqzs7OQSqVIp9OYnJxEW1sbbrjhBtTV1eFv//Zv8fbbb7OCUr6uKhqNsp3KubVWIpEIb7/9NlpaWnDppZeis7MTPT09MJvNWLp0KYqLi/Hf//3fCIfDUCgUKC4uRjqdRiQSYcNd9+3bx4T5b//2b9HX18d+iAoKClhhcSKRIKEioVockUgE09PT2LVrF9vZkslksNvt6O7uRiqVgk6ng0qlwuHDh1kvG+9qAIDtJB05cgSjo6MIBoNQq9VQKpVIJBI4cuQIWxalUil0dnZCoVBApVIhmUziyJEjmJycZAWV/C5if38/7HY72traEIvFMDs7i2AwyHaoMpkMe22BQIA9T29vL6vbKioqYpGH1Wpl9ViZTAajo6Pw+/04dOgQRCIRDAYDK6CUSqWIx+OYmJiA2+2ed6x6OBxGZ2cnExL+ZEylUujr68PMzAyrTRsZGYFYLMZbb72FkpISJJNJSCQSxGIx7Ny5E93d3ZiamkIoFGLvg49QMpkMpqamkMlkoFQqMT09zWq3BAIBOjs7WRQXiUQwMTGBjz76CJOTk7BYLKwBmC8b4RPlVqsVHR0d8Pv9kMvl4DiOvadAIMCiZ6lUikQigeHhYRw5cgTd3d1Ip9PQ6XRs15Avd+AjJf65AoEAIpEIE+3h4WHWwM73jZJQEYsWqp07d7IcVTKZxPT0NOLxONxuN/M9mpiYgNPpZH/X19cHj8fDjOkmJyfh8XiyCgH5pls+3OeFyufzsecbGxtjLge8EAYCAbjdboRCIbS1tbF/47/0crmctZLw+ZfR0VFYrVb09vaylpKysjKYTCakUinYbDZWbQ+AFbQeOnSINUU3NTWx9xMKhU4qVKFQiIku35rC14L19vYyG5xAIIDJyUlWK7ZhwwbmRxWLxdDW1oa+vj5mDnjkyBHWrBuNRtnyNBgMst2y6elplsPq7OxkpR18AW04HMbg4CBWrlyJ0tJSKBQKZubH/wA4HA50dHSwJR/vQNHZ2QmbzQa3243ly5cz0R4ZGUFHRwf6+vogkUhgNBrZsQyFQuy7wdd28UIVDoehVqthMpmwb98+fO5zn4NUKmUmehc6AlJr4P777+d+/vOfn/gg/W8NjVqtZsnNTCaDcDgMiUQCqVTKrFZisRjLj/B5IqlUynJNfC6Er7fiG3uPr4WSy+WQy+XMb4kvKpTJZCwnxAtmOp1mPYFzCzP53BVf+8MXJ8bjcYRCIUgkEmZkxz8mX+vDP8ZcKxW+0nyuad3cqICvYp8L/z7n1h/NLZzl21T418Yfs7kWOXxkxkdiHMdBpVKxY8d/FvznwD8mb/0CgB0f/hjxOTmJRAKNRsOav/nHCwaD7HPkP6e5nzsAdvx4seWjpGAwiEgkAoFAwJ5j7ueVTCZZk3JzczOmpqYwPDwMtVqN+vp6rFq1CqtWrYLVasUbb7yBF198cd7vZV1dHQYGBi6IbDtFVIvc+eOLLOdLFs/dyToePsE7Hyf7O164jme+qIUXlPkiwYU2Ceb7uxPBiwVvV7IY5p7Yi3190WiURSEngu+fW+z7me/+vGgsdJxOdMz5z5ZvRj/RZsKJPmc+ye9wOGCz2ZgDKO/IkclkWE6LIiqKqHDgwAHugw8+oG8DcX6clIsc2FpWVoavfOUrF0RERUJFEMR5D7VnnwOOHj3K/ed//idntVq5Dz74gPv973/PJZPJs/ILkU6nubfffpsLh8Pcf/3Xf3Hd3d1n5XlSqRT3xBNPcDt27OCsViv3yCOPcHa7/aw81/DwMPfzn/+c6+np4Y4cOcI98cQTXCQS4c7G5xQOhzm32809+uij3NjYGNfT08P98pe/5ILB4Bl7Po7juH379nEcx3Gvvvoq99///d9cOBzmnnnmGe7DDz+kyIGE6pNhz549uO222/Doo49iz549yM/Px44dO87Kc/3pT3/CCy+8gOeffx6XX345nn766bP2PCqVClarFU8++SRuvfVWPPbYY2fluZ544gl89atfxVNPPYUXX3wRl1xyCX73u9+d0ecIhULcY489hkgkgt/+9rfYvHkzfvWrX+H555/HFVdcgaeeeuqMPVdnZydefvllzM7Owuv1oqamBj/4wQ+g0+mwe/dueDweEisSqnPPLbfcgscffxytra0oKChAU1NT1oioM4XdbucmJydRWVkJu92OpqYm8P2NZ5qBgQGoVCrs3r0bAoEABQUF8/o3nQny8/Px0EMPsYrxhoYGVtR6plCr1YKVK1cC+EuSn/drl8lkqKmpOaMj6JcvXy7QaDQwGo2CpUuX4o033kBhYSGWLl2K8vLyE24+kFARZ5Uf/OAHWL9+PWprazE4OIg//OEPWLp06Rl/Hr6GaufOndDr9Xj66adzeuHOFE1NTYjH49Dr9ZBIJNi2bdtZE6pwOIxrr70WAoEAgUAAv/3tb9HU1HTWPi+TyYQXXniBidazzz57Vpw2Z2dnuccffxw33HADli5dihdffBGdnZ1Z9s3EX6Bk+jmgra2Ni0ajMJvNMBgMcLvdaGlpOWu7NePj41xZWRkOHz6Mmpoa6PX6M/5cHMdxnZ2dKCkpgVarxcGDB9Ha2gqpVHrGnysajXJHjhzB0qVLkUwmMTIyglWrVi1oI32q2Gw2Lj8/H0KhEAcPHsTSpUuRSqUwMDCAVatWQSgUCs7kZ1RYWIgDBw4AAOrr6+H1evlJ1NSJTEJFEAQt/QiCIEioCIIgoSIIgiChIgiCIKEiCIKEiiAIgoSKIAiChIogCBIqgiAIEiqCIEioCIIgSKgIgiBIqAiCIKEiCIIgoSIIgiChIgiChIogCIKEiiAIEiqCIAgSKoIgCBIqgiBIqAiCIEioCIIgSKgIgiChIgiCIKEiCIKEiiAIgoSKIAiChIogCBIqgiAIEiqCIAgSKoIgSKgIgiBIqAiCIKEiCIIgoSIIgiChIgiChIogCIKEiiAIgoSKIAgSKoIgCBIqgiBIqAiCIEioCIIgSKgIgiChIgiCIKEiCIIgoSIIgoSKIAiChIogCBIqgiAIEiqCIAgSKoIgSKgIgiBIqAiCIEioCIIgoSIIgiChIgiChIogCIKEiiAIgoSKIAgSKoIgCBIqgiBIqOgQEARBQkUQBEFCRRAECRVBEAQJFUEQBAkVQRAkVARBECRUBEGQUBEEQZBQEQRBkFARBEFCRRAEQUJFEARBQkUQBAkVQRAECRVBECRUBEEQJFQEQRAkVARBkFARBEGQUBEEQZBQEQRBQkUQBEFCRRAECRVBEAQJFUEQBAkVQRAkVARBECRUBEEQJFQEQZBQEQRBkFARBEFCRRAEQUJFEARBQkUQBAkVQRAECRVBEAQJFUEQJFQEQRAkVARBkFARBEGQUBEEQZBQEQRBQkUQBEFCRRAEQUJFEAQJFUEQBAkVQRAkVARBECRUBEEQJFQEQZBQEQRBkFARBEGQUBEEQUJFEARBQkUQBAkVQRAECRVBEAQJFUEQJFQEQRAkVARBECRUBEGQUBEEQZBQEQRBQkUQBEFCRRAEQUJFEAQJFUEQBAkVQRAECRVBECRUBEEQJFQEQZBQEQRBkFARBEGcEv8/hx7rrtus5g8AAAA8dEVYdGNvbW1lbnQAIEltYWdlIGdlbmVyYXRlZCBieSBHUEwgR2hvc3RzY3JpcHQgKGRldmljZT1wcG1yYXcpCgaBiRUAAAAASUVORK5CYII=' id='Ch6.F1.g2' class='ltx_graphics ltx_centering' width='298' height='421' alt='The '></td> | <td class='ltx_subgraphics'><img src='data:image/png;base64,b'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'' id='Ch6.F1.g2' class='ltx_graphics ltx_centering' width='298' height='421' alt='The '></td> |
</tr> | </tr> |
</table> | </table> |
counts, which are double values, to an RGB colour-triple. To | counts, which are double values, to an RGB colour-triple. To |
derive an RGB value, first scale all values such that they are | derive an RGB value, first scale all values such that they are |
in the interval <math id='Ch6.S2.I2.i1.I1.i2.p1.m1' class='ltx_Math' alttext='0\leq x<360' display='inline'><mrow><mn>0</mn><mo>≤</mo><mi>x</mi><mo><</mo><mn>360</mn></mrow></math>. This value can then be used as the | in the interval <math id='Ch6.S2.I2.i1.I1.i2.p1.m1' class='ltx_Math' alttext='0\leq x<360' display='inline'><mrow><mn>0</mn><mo>≤</mo><mi>x</mi><mo><</mo><mn>360</mn></mrow></math>. This value can then be used as the |
hue in the HSB model.</p> | hue in the HSB model.</p> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 44: </span>Benchmarking with the real time clock</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 44: </span>Benchmarking with the real time clock</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,dXNlIFJUQ2xvY2s6IGFsbDsKdXNlIFJUaW1lcjogYWxsOwoKaW50IG1haW4oKQp7CiAgaW50IHNlY3M7CiAgaW50IG5zZWNzOwogIGRvdWJsZSB0aW1lOwoKICB0aW1lciA9IGNyZWF0ZVJUaW1lcigpOwoKICBzdGFydFJUaW1lcih0aW1lcik7CgogIGRvUmVsZXZhbnRDb21wdXRhdGlvbigvKiAuLi4gICovKTsKCiAgc3RvcFJUaW1lcih0aW1lcik7CgogIHNlY3MsIG5zZWNzID0gZ2V0UlRpbWVySW50cyh0aW1lcik7CiAgdGltZSA9IGdldFJUaW1lckRibCh0aW1lcik7CgogIGRlc3Ryb3lSVGltZXIodGltZXIpOwp9'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBSVENsb2NrOiBhbGw7CiB1c2UgUlRpbWVyOiBhbGw7CgogaW50IG1haW4oKQogewogICBpbnQgc2VjczsKICAgaW50IG5zZWNzOwogICBkb3VibGUgdGltZTsKCiAgIHRpbWVyID0gY3JlYXRlUlRpbWVyKCk7CgogICBzdGFydFJUaW1lcih0aW1lcik7CgogICBkb1JlbGV2YW50Q29tcHV0YXRpb24oLyogLi4uICAqLyk7CgogICBzdG9wUlRpbWVyKHRpbWVyKTsKCiAgIHNlY3MsIG5zZWNzID0gZ2V0UlRpbWVySW50cyh0aW1lcik7CiAgIHRpbWUgPSBnZXRSVGltZXJEYmwodGltZXIpOwoKICAgZGVzdHJveVJUaW1lcih0aW1lcik7CiB9'>⬇</a></div> |
<div id='lstnumberx795' class='ltx_listingline'> | <div id='lstnumberx800' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>RTClock</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>RTClock</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx796' class='ltx_listingline'> | <div id='lstnumberx801' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>RTimer</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>RTimer</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx797' class='ltx_listingline'> | <div id='lstnumberx802' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx798' class='ltx_listingline'> | <div id='lstnumberx803' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx799' class='ltx_listingline'> | <div id='lstnumberx804' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx800' class='ltx_listingline'> | <div id='lstnumberx805' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>secs</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>secs</span>; |
</div> | </div> |
<div id='lstnumberx801' class='ltx_listingline'> | <div id='lstnumberx806' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>nsecs</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>nsecs</span>; |
</div> | </div> |
<div id='lstnumberx802' class='ltx_listingline'> | <div id='lstnumberx807' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span>; |
</div> | </div> |
<div id='lstnumberx803' class='ltx_listingline'> | <div id='lstnumberx808' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| |
</div> | </div> |
<div id='lstnumberx804' class='ltx_listingline'> | <div id='lstnumberx809' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timer</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createRTimer</span>(); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>timer</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createRTimer</span>(); |
</div> | </div> |
<div id='lstnumberx805' class='ltx_listingline'> | <div id='lstnumberx810' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| |
</div> | </div> |
<div id='lstnumberx806' class='ltx_listingline'> | <div id='lstnumberx811' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>startRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>startRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); |
</div> | </div> |
<div id='lstnumberx807' class='ltx_listingline'> | <div id='lstnumberx812' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
| |
</div> | </div> |
<div id='lstnumberx808' class='ltx_listingline'> | <div id='lstnumberx813' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>doRelevantComputation</span>(<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>doRelevantComputation</span>(<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>); |
</div> | </div> |
<div id='lstnumberx809' class='ltx_listingline'> | <div id='lstnumberx814' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
| |
</div> | </div> |
<div id='lstnumberx810' class='ltx_listingline'> | <div id='lstnumberx815' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>stopRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>stopRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); |
</div> | </div> |
<div id='lstnumberx811' class='ltx_listingline'> | <div id='lstnumberx816' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
| |
</div> | </div> |
<div id='lstnumberx812' class='ltx_listingline'> | <div id='lstnumberx817' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>secs</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>nsecs</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getRTimerInts</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>secs</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>nsecs</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getRTimerInts</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); |
</div> | </div> |
<div id='lstnumberx813' class='ltx_listingline'> | <div id='lstnumberx818' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getRTimerDbl</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>time</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getRTimerDbl</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); |
</div> | </div> |
<div id='lstnumberx814' class='ltx_listingline'> | <div id='lstnumberx819' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
| |
</div> | </div> |
<div id='lstnumberx815' class='ltx_listingline'> | <div id='lstnumberx820' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>destroyRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>destroyRTimer</span>(<span class='ltx_text ltx_lst_identifier'>timer</span>); |
</div> | </div> |
<div id='lstnumberx816' class='ltx_listingline'> | <div id='lstnumberx821' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 45: </span>Binding function to timer</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 45: </span>Binding function to timer</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,LyogcmV0dXJuLXR5cGUgICovIGRvUmVsZXZhbnRDb21wdXRhdGlvbigvKiAuLi4gICovKQp7CiAgLyogLi4uICAqLwogIHRvdWNoKFJUY2xvY2spOwogIC8qIC4uLiAgKi8KfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IC8qIHJldHVybi10eXBlICAqLyBkb1JlbGV2YW50Q29tcHV0YXRpb24oLyogLi4uICAqLykKIHsKICAgLyogLi4uICAqLwogICB0b3VjaChSVGNsb2NrKTsKICAgLyogLi4uICAqLwogfQ=='>⬇</a></div> |
<div id='lstnumberx817' class='ltx_listingline'> | <div id='lstnumberx822' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>return-type<span class='ltx_text ltx_lst_space'> </span>*/</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>doRelevantComputation</span>(<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>return-type<span class='ltx_text ltx_lst_space'> </span>*/</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>doRelevantComputation</span>(<span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span>) |
</div> | </div> |
<div id='lstnumberx818' class='ltx_listingline'> | <div id='lstnumberx823' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx819' class='ltx_listingline'> | <div id='lstnumberx824' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx820' class='ltx_listingline'> | <div id='lstnumberx825' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>touch</span>(<span class='ltx_text ltx_lst_identifier'>RTclock</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>touch</span>(<span class='ltx_text ltx_lst_identifier'>RTclock</span>); |
</div> | </div> |
<div id='lstnumberx821' class='ltx_listingline'> | <div id='lstnumberx826' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_comment ltx_font_italic'>/*<span class='ltx_text ltx_lst_space'> </span>…<span class='ltx_text ltx_lst_space'> </span>*/</span> |
</div> | </div> |
<div id='lstnumberx822' class='ltx_listingline'> | <div id='lstnumberx827' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
| |
<div id='Ch9.p1' class='ltx_para'> | <div id='Ch9.p1' class='ltx_para'> |
<p class='ltx_p'><span class='ltx_text ltx_font_smallcaps'>SaC</span> supports states through objects that are passed implicitly around. This | <p class='ltx_p'><span class='ltx_text ltx_font_smallcaps'>SaC</span> supports an explicit notion of stateful objects. All stateful objects need to be associated |
allows the programmer to specify stateful expressions as sequences while | to an explicit stateful type. Conceptually, such stateful objects need to be passed around in a |
maintaining the sideeffect free functional semantics of the <span class='ltx_text ltx_font_smallcaps'>SaC</span> language. The | linear fashion in order to maintain the side-effect free nature of <span class='ltx_text ltx_font_smallcaps'>SaC</span>.</p> |
underlying idea is called <em class='ltx_emph ltx_font_italic'>global objects</em> and will be discussed through out | </div> |
this chapter.</p> | <div id='Ch9.p2' class='ltx_para ltx_align_center'> |
| <p class='ltx_p'> |
| <span class='ltx_inline-para ltx_minipage ltx_align_middle ltx_framed_rectangle' style='width:390.3pt;'> |
| <span id='Ch9.p2.p1' class='ltx_para'> |
| <span class='ltx_p'><span class='ltx_text ltx_font_bold'>A note for Language design freaks:</span></span> |
| <span class='ltx_p'><span class='ltx_text ltx_font_italic'>Under the hood these types are uniqueness types very similar to those of Clean.</span></span> |
| </span></span> |
| </p> |
| </div> |
| <div id='Ch9.p3' class='ltx_para'> |
| <p class='ltx_p'>To relieve programmers form the burden to pass around states explicitly whenever they are needed, |
| <span class='ltx_text ltx_font_smallcaps'>SaC</span> offers syntactic sugar, referred-to as <em class='ltx_emph ltx_font_italic'>reference parameters</em> and <em class='ltx_emph ltx_font_italic'>global objects</em>. |
| These two mechanisms enable state modifications that have a rather C-like feel and touch, |
| as if <span class='ltx_text ltx_font_smallcaps'>SaC</span> would cater for side-effects in general. |
| Nevertheless, they are being translated away into a purely side-effect free form.</p> |
</div> | </div> |
<section id='Ch9.S1' class='ltx_section'> | <section id='Ch9.S1' class='ltx_section'> |
the same need: A module pairs functions and types to a group. Instead of | the same need: A module pairs functions and types to a group. Instead of |
instance variables, classes in <span class='ltx_text ltx_font_smallcaps'>SaC</span> have a special class type that builds up | instance variables, classes in <span class='ltx_text ltx_font_smallcaps'>SaC</span> have a special class type that builds up |
an instance of a class. As this type always is implicit, direct access to it is | an instance of a class. This class type is a user-defined type similar to any other |
only possible from within the same namespace. The following example shows the | user defined type, however, it implicitly carries a notion of being stateful, i.e., |
class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>:</p> | it is a uniqueness type.</p> |
| </div> |
| <div id='Ch9.S1.p2' class='ltx_para'> |
| <p class='ltx_p'>The following example shows the class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>:</p> |
</div> | </div> |
<figure id='LST46' class='ltx_float ltx_lstlisting'> | <figure id='LST46' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 46: </span>class Counter</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 46: </span>class Counter</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,Y2xhc3MgQ291bnRlcjsKCmNsYXNzdHlwZSBpbnRbXTsKCnB1YmxpYyBDb3VudGVyIGNyZWF0ZV9Db3VudGVyKCkKewogIHJldHVybiAoQ291bnRlcikwOwp9CgpwdWJsaWMgdm9pZCBpbmNyZW1lbnQoQ291bnRlciAmYykKewogIGMgPSAoQ291bnRlcikoKGludCljICsgMSk7Cn0KCnB1YmxpYyBpbnQgZ2V0VmFsdWUoQ291bnRlciBjKQp7CiAgcmV0dXJuIChpbnQpYzsKfQoKcHVibGljIHZvaWQgZGVzdHJveV9Db3VudGVyKENvdW50ZXIgJmMpCnsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGNsYXNzIENvdW50ZXI7CgogY2xhc3N0eXBlIGludDsKCiB1c2UgQXJyYXk6IHsrfTsKCiBleHBvcnQgYWxsOwoKIENvdW50ZXIgY3JlYXRlQ291bnRlcigpCiB7CiAgIHJldHVybiAoQ291bnRlcikoMCk7CiB9CgogQ291bnRlciBpbmNyZW1lbnQgKENvdW50ZXIgYykKIHsKICAgcmV0dXJuIChDb3VudGVyKSAoKGludCkoYykgKyAxKTsKIH0KCiBpbnQgZ2V0VmFsdWUoQ291bnRlciBjKQogewogICByZXR1cm4gKGludCljOwogfQo='>⬇</a></div> |
<div id='lstnumberx823' class='ltx_listingline'> | <div id='lstnumberx828' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>class</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>class</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>; |
</div> | </div> |
<div id='lstnumberx824' class='ltx_listingline'> | <div id='lstnumberx829' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx825' class='ltx_listingline'> | <div id='lstnumberx830' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>classtype</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[]; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>classtype</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>; |
</div> | </div> |
<div id='lstnumberx826' class='ltx_listingline'> | <div id='lstnumberx831' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| |
</div> | </div> |
<div id='lstnumberx827' class='ltx_listingline'> | <div id='lstnumberx832' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_identifier'>public</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>create_Counter</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span>{+}; |
</div> | </div> |
<div id='lstnumberx828' class='ltx_listingline'> | <div id='lstnumberx833' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
{ | |
</div> | </div> |
<div id='lstnumberx829' class='ltx_listingline'> | <div id='lstnumberx834' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>export</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
</div> | </div> |
<div id='lstnumberx830' class='ltx_listingline'> | <div id='lstnumberx835' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
} | |
</div> | </div> |
<div id='lstnumberx831' class='ltx_listingline'> | <div id='lstnumberx836' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createCounter</span>() |
</div> | </div> |
<div id='lstnumberx832' class='ltx_listingline'> | <div id='lstnumberx837' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_identifier'>public</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span>&<span class='ltx_text ltx_lst_identifier'>c</span>) | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx833' class='ltx_listingline'> | <div id='lstnumberx838' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)(0); |
</div> | </div> |
<div id='lstnumberx834' class='ltx_listingline'> | <div id='lstnumberx839' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)((<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1); | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx835' class='ltx_listingline'> | <div id='lstnumberx840' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
} | |
</div> | </div> |
<div id='lstnumberx836' class='ltx_listingline'> | <div id='lstnumberx841' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>) |
</div> | </div> |
<div id='lstnumberx837' class='ltx_listingline'> | <div id='lstnumberx842' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
<span class='ltx_text ltx_lst_identifier'>public</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>) | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx838' class='ltx_listingline'> | <div id='lstnumberx843' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)<span class='ltx_text ltx_lst_space'> </span>((<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)(<span class='ltx_text ltx_lst_identifier'>c</span>)<span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1); |
</div> | </div> |
<div id='lstnumberx839' class='ltx_listingline'> | <div id='lstnumberx844' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_identifier'>c</span>; | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
<div id='lstnumberx840' class='ltx_listingline'> | <div id='lstnumberx845' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
} | |
</div> | </div> |
<div id='lstnumberx841' class='ltx_listingline'> | <div id='lstnumberx846' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>19</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>) |
</div> | </div> |
<div id='lstnumberx842' class='ltx_listingline'> | <div id='lstnumberx847' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>20</span></span> |
<span class='ltx_text ltx_lst_identifier'>public</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>destroy_Counter</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span>&<span class='ltx_text ltx_lst_identifier'>c</span>) | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx843' class='ltx_listingline'> | <div id='lstnumberx848' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>21</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_identifier'>c</span>; |
</div> | </div> |
<div id='lstnumberx844' class='ltx_listingline'> | <div id='lstnumberx849' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>22</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
</figure> | </figure> |
<div id='Ch9.S1.p2' class='ltx_para'> | <div id='Ch9.S1.p3' class='ltx_para'> |
<p class='ltx_p'>A class file starts with the <span class='ltx_text ltx_lst_keyword ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_font_bold'>class</span> keyword, followed by the name of the | <p class='ltx_p'>A class file starts with the <span class='ltx_text ltx_lst_keyword ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_font_bold'>class</span> keyword, followed by the name of the |
class. Another keyword unique to classes is <span class='ltx_text ltx_lst_keyword ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_font_bold'>classtype</span>. The statement in | class. Another keyword unique to classes is <span class='ltx_text ltx_lst_keyword ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_font_bold'>classtype</span>. The statement in |
line 3 defines <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[]</span> as the classtype of class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. All | line 3 defines <span class='ltx_text ltx_lst_keyword ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_font_bold'>int</span> as the classtype of class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. |
functions within the class expect an instance of <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>, e.g. a | Other than that, a class is constructed liek any module. |
<span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>[]</span> value, as their argument. By using the <span class='ltx_text ltx_font_smallcaps'>SaC</span> <span class='ltx_text ltx_font_italic'>call by reference</span> | It can use or import from other modules or classes, and it can provide and import its own types |
technique, these functions are able to destructively modify an instance and thus | and functions.</p> |
its state.</p> | </div> |
| <div id='Ch9.S1.p4' class='ltx_para'> |
| <p class='ltx_p'>The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>createCounter</span> generates an object of type <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. |
| Note here, that the type cast is essential. It transforms the integer value <span class='ltx_text ltx_lstlisting'></span> |
| into a stateful object of type <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. |
| The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>increment</span> increments the value of Counter instance |
| <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>c</span> and returns the new, modified version. |
| Again, we see a cast from the stateful object <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>c</span> of type <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> |
| into an integer object for which <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>+</span> is defined in the module <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Array</span>. |
| The incremented integer value subsequently is transformed into a stateful <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> |
| object directly thereafter. |
| Finally, we have a function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>getValue</span> which returns the current integer value of the |
| provided <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> object.</p> |
| </div> |
| <div id='Ch9.S1.p5' class='ltx_para ltx_noindent'> |
| <p class='ltx_p'>Let us now look at a simple use of the class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>:</p> |
| </div> |
| <figure id='LST47' class='ltx_float ltx_lstlisting'> |
| <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 47: </span>using Counter</figcaption> |
| <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
| <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBDb3VudGVyOmFsbDsKCiBpbnQgbWFpbigpCiB7CiAgICBjID0gY3JlYXRlQ291bnRlciAoKTsKICAgIGMgPSBpbmNyZW1lbnQgKGMpOwogICAgU3RkSU86OnByaW50IChnZXRWYWx1ZSAoYykpOwoKICAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
| <div id='lstnumberx850' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>:<span class='ltx_text ltx_lst_identifier'>all</span>; |
| </div> |
| <div id='lstnumberx851' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
| </div> |
| <div id='lstnumberx852' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
| </div> |
| <div id='lstnumberx853' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx854' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createCounter</span><span class='ltx_text ltx_lst_space'> </span>(); |
| </div> |
| <div id='lstnumberx855' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
| </div> |
| <div id='lstnumberx856' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>print</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>)); |
| </div> |
| <div id='lstnumberx857' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| |
| </div> |
| <div id='lstnumberx858' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
| </div> |
| <div id='lstnumberx859' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| </div> |
| </figure> |
| <div id='Ch9.S1.p6' class='ltx_para ltx_noindent'> |
| <p class='ltx_p'>Now try to duplicate line 7. |
| The compiler needs to reject the second call to |
| <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>getValue</span> because the object <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>c</span> |
| is used more than once!</p> |
| </div> |
| <div id='Thmtheorem33' class='ltx_theorem ltx_theorem_theorem'> |
| <h6 class='ltx_title ltx_runin ltx_font_bold ltx_title_theorem'>Exercise 33. </h6> |
| <div id='Thmtheorem33.p1' class='ltx_para'> |
| <p class='ltx_p'>Define a new version of |
| <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>getValue</span> which returns both, the |
| (unmodified) <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>c</span> and the current |
| integer value.</p> |
</div> | </div> |
<div id='Ch9.S1.p3' class='ltx_para'> | |
<p class='ltx_p'>The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>increment</span> increments the value of Counter instance | |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>c</span> and returns the new, modified version. A special function is | |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>create_Counter</span> as it can be used as a constructor function for class | |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. The counterpart is the destructor function | |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>destroy_Counter</span>. All class implementations <span class='ltx_text ltx_font_bold'>must</span> at least have | |
one constructor function and a destructor function. However, the destructor | |
function can be empty like in the example above.</p> | |
</div> | </div> |
<section id='Ch9.S1.SS1' class='ltx_subsection'> | <section id='Ch9.S1.SS1' class='ltx_subsection'> |
<h5 class='ltx_title ltx_title_subsection'> | <h5 class='ltx_title ltx_title_subsection'> |
<span class='ltx_tag ltx_tag_subsection'>9.1.1 </span>Extending Classes</h5> | <span class='ltx_tag ltx_tag_subsection'>9.1.1 </span>Reference Parameters</h5> |
| |
<div id='Ch9.S1.SS1.p1' class='ltx_para'> | <div id='Ch9.S1.SS1.p1' class='ltx_para'> |
<p class='ltx_p'>Like modules, it is possible to extend classes by new functions. However, a | <p class='ltx_p'>The function <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>getValue</span> from the previous exercise |
class can only be the derivative of one single other class. There is no support | shows that in most cases we want stateful objects that are passed |
for multiple derivation. Furthermore, there is no possibility to extend the | to functions as arguments to be returned as well, irrespective of whether |
class type — extension is limited to functions. The following listing shows how | they have been modified or not. |
to extend our <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> example to a new class capable of decrementing | To avoid the necessity of specifying sequences of such function calls as</p> |
its value:</p> | |
</div> | </div> |
<figure id='LST47' class='ltx_float ltx_lstlisting'> | <figure id='LST48' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 47: </span>DecCounter class</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 48: </span>explicit passing of state</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,Y2xhc3MgRGVjQ291bnRlciBleHRlbmRzIENvdW50ZXI7CgpwdWJsaWMgdm9pZCBkZWNyZW1lbnQoQ291bnRlciAmYykKewogIGMgPSAoQ291bnRlcikoKGludCljIC0gMSk7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IC4uLgogICAgYyA9IGluY3JlbWVudCAoYyk7CiAgICBjLCB2MSA9IGdldFZhbHVlIChjKTsKICAgIGMsIHYyID0gZ2V0VmFsdWUgKGMpOwogLi4u'>⬇</a></div> |
<div id='lstnumberx845' class='ltx_listingline'> | <div id='lstnumberx860' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>class</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>DecCounter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>extends</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>; | <span class='ltx_text ltx_lst_space'> </span>… |
</div> | </div> |
<div id='lstnumberx846' class='ltx_listingline'> | <div id='lstnumberx861' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
</div> | </div> |
<div id='lstnumberx847' class='ltx_listingline'> | <div id='lstnumberx862' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_identifier'>public</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>decrement</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span>&<span class='ltx_text ltx_lst_identifier'>c</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v1</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
</div> | </div> |
<div id='lstnumberx848' class='ltx_listingline'> | <div id='lstnumberx863' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>v2</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
</div> | </div> |
<div id='lstnumberx849' class='ltx_listingline'> | <div id='lstnumberx864' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)((<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>-<span class='ltx_text ltx_lst_space'> </span>1); | <span class='ltx_text ltx_lst_space'> </span>… |
</div> | </div> |
<div id='lstnumberx850' class='ltx_listingline'> | </div> |
| </figure> |
| <div id='Ch9.S1.SS1.p2' class='ltx_para'> |
| <p class='ltx_p'><span class='ltx_text ltx_font_smallcaps'>SaC</span> offers a syntactical shortcut, named <em class='ltx_emph ltx_font_italic'>Reference Parameters</em>. |
| The idea is that an explicit return of a stateful object can be syntactically omitted |
| if the formal parameter is annotated by the symbol <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>&</span>. |
| For our example, this can be done by defining |
| <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>increment</span> and <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>getValue</span> like this:</p> |
| </div> |
| <figure id='LST49' class='ltx_float ltx_lstlisting'> |
| <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 49: </span>Reference Parameter</figcaption> |
| <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
| <div class='ltx_listing_data'><a href='data:text/plain;base64,IC4uLgogIHZvaWQgaW5jcmVtZW50IChDb3VudGVyICZjKQogIHsKICAgICBjID0gKENvdW50ZXIpKChpbnQpYyArIDEpOwogIH0KCiAgaW50IGdldFZhbHVlKENvdW50ZXIgJmMpCiAgewogICAgIHZhbCA9IChpbnQpIGM7CiAgICAgYyA9IChDb3VudGVyKSB2YWw7CiAgICAgcmV0dXJuIHZhbDsKICB9CiAuLi4='>⬇</a></div> |
| <div id='lstnumberx865' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>… |
| </div> |
| <div id='lstnumberx866' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span>&<span class='ltx_text ltx_lst_identifier'>c</span>) |
| </div> |
| <div id='lstnumberx867' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx868' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)((<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span>1); |
| </div> |
| <div id='lstnumberx869' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| <div id='lstnumberx870' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | |
| </div> |
| <div id='lstnumberx871' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span>(<span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span>&<span class='ltx_text ltx_lst_identifier'>c</span>) |
| </div> |
| <div id='lstnumberx872' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx873' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span>)<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span>; |
| </div> |
| <div id='lstnumberx874' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>Counter</span>)<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span>; |
| </div> |
| <div id='lstnumberx875' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>val</span>; |
| </div> |
| <div id='lstnumberx876' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| <div id='lstnumberx877' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>… |
</div> | </div> |
</div> | </div> |
</figure> | </figure> |
<div id='Ch9.S1.SS1.p2' class='ltx_para'> | <div id='Ch9.S1.SS1.p3' class='ltx_para'> |
<p class='ltx_p'>The keyword <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>extends</span> in line 1 signals that the class | <p class='ltx_p'>With these definitions, we can now use the <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span> class as follows: |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>DecCounter</span> is derived from <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. Furthermore, there | |
is no class type definition as the class type is as well derived from class | |
<span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>. However, the class type can be accessed as if it had been | |
defined within the current class. | |
</p> | </p> |
</div> | </div> |
| <figure id='LST50' class='ltx_float ltx_lstlisting'> |
| <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 50: </span>using Reference Parameters</figcaption> |
| <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
| <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBDb3VudGVyOmFsbDsKCiBpbnQgbWFpbigpCiB7CiAgICBjID0gY3JlYXRlQ291bnRlciAoKTsKICAgIGluY3JlbWVudCAoYyk7CiAgICBpbmNyZW1lbnQgKGMpOwogICAgU3RkSU86OnByaW50IChnZXRWYWx1ZSAoYykpOwogICAgU3RkSU86OnByaW50IChnZXRWYWx1ZSAoYykpOwoKICAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
| <div id='lstnumberx878' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>:<span class='ltx_text ltx_lst_identifier'>all</span>; |
| </div> |
| <div id='lstnumberx879' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
| </div> |
| <div id='lstnumberx880' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
| </div> |
| <div id='lstnumberx881' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx882' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>c</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createCounter</span><span class='ltx_text ltx_lst_space'> </span>(); |
| </div> |
| <div id='lstnumberx883' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
| </div> |
| <div id='lstnumberx884' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>); |
| </div> |
| <div id='lstnumberx885' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>print</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>)); |
| </div> |
| <div id='lstnumberx886' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>print</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>c</span>)); |
| </div> |
| <div id='lstnumberx887' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| |
| </div> |
| <div id='lstnumberx888' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
| </div> |
| <div id='lstnumberx889' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| </div> |
| </figure> |
</section> | </section> |
<section id='Ch9.S1.SS2' class='ltx_subsection'> | <section id='Ch9.S1.SS2' class='ltx_subsection'> |
<h5 class='ltx_title ltx_title_subsection'> | <h5 class='ltx_title ltx_title_subsection'> |
<span class='ltx_tag ltx_tag_subsection'>9.1.2 </span>States using Classes</h5> | <span class='ltx_tag ltx_tag_subsection'>9.1.2 </span>Global Objects</h5> |
| |
| <div id='Ch9.S1.SS2.p1' class='ltx_para'> |
| <p class='ltx_p'>When looking at the previous use of the class <span class='ltx_text ltx_lst_identifier ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'>Counter</span>, |
| we can see that the introduction of reference parameters enables program |
| specifications that look very “imperative”. |
| The idea of leaving out explicit passing of state can be driven even further. |
| In <span class='ltx_text ltx_font_smallcaps'>SaC</span>, we also have a mechanism for omitting stateful objects as parameters which are |
| needed within a function body. For that purpose, <span class='ltx_text ltx_font_smallcaps'>SaC</span> introduces the notion of <em class='ltx_emph ltx_font_italic'>Global Objects</em>. |
| Global objects are stateful |
| objects that are generated once before the program execution starts and |
| that are available everywhere within the program for inspection or modification. |
| While this seems to finally unleash side-effects, in fact the compiler |
| inserts the missing passing of states throughout the program as needed.</p> |
| <p class='ltx_p ltx_align_center'> |
| <span class='ltx_inline-para ltx_minipage ltx_align_middle ltx_framed_rectangle' style='width:390.3pt;'> |
| <span id='Ch9.S1.SS2.p1.p1' class='ltx_para'> |
| <span class='ltx_p'><span class='ltx_text ltx_font_bold'>A note for compiler implementation freaks:</span></span> |
| <span class='ltx_p'><span class='ltx_text ltx_font_italic'>If you want to find out what the compiler actually does, |
| you may want to inspect the program after all objects have been inserted by the compiler. |
| This can be done by looking at the output when compiling with the flag </span><span class='ltx_text ltx_font_typewriter'>-btc</span><span class='ltx_text ltx_font_italic'>. |
| If you want to find out about further break options, check </span><span class='ltx_text ltx_font_typewriter'>sac2c -help</span><span class='ltx_text ltx_font_italic'>.</span></span> |
| </span></span> |
| </p> |
| </div> |
| <div id='Ch9.S1.SS2.p2' class='ltx_para ltx_noindent'> |
| <p class='ltx_p'>We can extend our counter example by a global counter as follows:</p> |
| </div> |
| <figure id='LST51' class='ltx_float ltx_lstlisting'> |
| <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 51: </span>class Counter extended</figcaption> |
| <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
| <div class='ltx_listing_data'><a href='data:text/plain;base64,IGNsYXNzIENvdW50ZXI7CgogLi4uCiBleHBvcnQgYWxsOwoKIG9iamRlZiBDb3VudGVyIHRoZUNvdW50ZXIgPSBjcmVhdGVDb3VudGVyKCk7Cgogdm9pZCBpbmNyZW1lbnQgKCkKIHsKICAgaW5jcmVtZW50ICh0aGVDb3VudGVyKTsKIH0KCiBpbnQgZ2V0VmFsdWUgKCkKIHsKICAgcmV0dXJuIGdldFZhbHVlICh0aGVDb3VudGVyKTsKIH0KIC4uLg=='>⬇</a></div> |
| <div id='lstnumberx890' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>class</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>; |
| </div> |
| <div id='lstnumberx891' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
| </div> |
| <div id='lstnumberx892' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>… |
| </div> |
| <div id='lstnumberx893' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>export</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
| </div> |
| <div id='lstnumberx894' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| |
| </div> |
| <div id='lstnumberx895' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>objdef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>theCounter</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>createCounter</span>(); |
| </div> |
| <div id='lstnumberx896' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| |
| </div> |
| <div id='lstnumberx897' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>() |
| </div> |
| <div id='lstnumberx898' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx899' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>theCounter</span>); |
| </div> |
| <div id='lstnumberx900' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| <div id='lstnumberx901' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
| |
| </div> |
| <div id='lstnumberx902' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>() |
| </div> |
| <div id='lstnumberx903' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx904' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>theCounter</span>); |
| </div> |
| <div id='lstnumberx905' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| <div id='lstnumberx906' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>… |
| </div> |
| </div> |
| </figure> |
| <div id='Ch9.S1.SS2.p3' class='ltx_para ltx_noindent'> |
| <p class='ltx_p'>With this extension, |
| applications of <span class='ltx_text ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting'><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>()</span> become possible within arbitrary |
| function bodies. For example, we can specify:</p> |
| </div> |
| <figure id='LST52' class='ltx_float ltx_lstlisting'> |
| <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 52: </span>using the global counter</figcaption> |
| <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
| <div class='ltx_listing_data'><a href='data:text/plain;base64,IHVzZSBBcnJheTogYWxsOwogdXNlIENvdW50ZXI6IGFsbDsKCiBpbnQgZm9vIChpbnQgbikKIHsKICAgIGluY3JlbWVudCAoKTsKICAgIHJldHVybiBuKzE7CiB9CgogaW50IG1haW4oKQogewogICAgc3VtID0gMDsKICAgIGZvciAoaT0wOyBpPDIwOyApCiAgICAgICBpID0gZm9vIChpKTsKCiAgICBTdGRJTzo6cHJpbnQgKGdldFZhbHVlICgpKTsKICAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
| <div id='lstnumberx907' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Array</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
| </div> |
| <div id='lstnumberx908' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>use</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>Counter</span>:<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>all</span>; |
| </div> |
| <div id='lstnumberx909' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
| </div> |
| <div id='lstnumberx910' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>n</span>) |
| </div> |
| <div id='lstnumberx911' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx912' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>increment</span><span class='ltx_text ltx_lst_space'> </span>(); |
| </div> |
| <div id='lstnumberx913' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>n</span>+1; |
| </div> |
| <div id='lstnumberx914' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| <div id='lstnumberx915' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| |
| </div> |
| <div id='lstnumberx916' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
| </div> |
| <div id='lstnumberx917' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>{ |
| </div> |
| <div id='lstnumberx918' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>sum</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span>0; |
| </div> |
| <div id='lstnumberx919' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>13</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>for</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span>=0;<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span><20;<span class='ltx_text ltx_lst_space'> </span>) |
| </div> |
| <div id='lstnumberx920' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>14</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>i</span><span class='ltx_text ltx_lst_space'> </span>=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>foo</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>i</span>); |
| </div> |
| <div id='lstnumberx921' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>15</span></span> |
| |
| </div> |
| <div id='lstnumberx922' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>16</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>print</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_identifier'>getValue</span><span class='ltx_text ltx_lst_space'> </span>()); |
| </div> |
| <div id='lstnumberx923' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>17</span></span> |
| <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
| </div> |
| <div id='lstnumberx924' class='ltx_listingline'> |
| <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>18</span></span> |
| <span class='ltx_text ltx_lst_space'> </span>} |
| </div> |
| </div> |
| </figure> |
</section> | </section> |
<section id='Ch9.S1.SS3' class='ltx_subsection'> | |
<h5 class='ltx_title ltx_title_subsection'> | |
<span class='ltx_tag ltx_tag_subsection'>9.1.3 </span>Global Objects</h5> | |
| |
</section> | |
</section> | |
<section id='Ch9.S2' class='ltx_section'> | |
<h4 class='ltx_title ltx_title_section'> | |
<span class='ltx_tag ltx_tag_section'>9.2 </span>Lesson: Nondeterminism through Shared State in Wihth-Loops</h4> | |
| |
</section> | </section> |
</section> | </section> |
<p class='ltx_p'>For example, you may have a file <span class='ltx_text ltx_font_typewriter'>simple.h</span> which looks like this:</p> | <p class='ltx_p'>For example, you may have a file <span class='ltx_text ltx_font_typewriter'>simple.h</span> which looks like this:</p> |
</div> | </div> |
<figure id='LST48' class='ltx_float ltx_lstlisting'> | <figure id='LST53' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 48: </span>Simple example header file in C</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 53: </span>Simple example header file in C</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,I2lmbmRlZiBTSU1QTEVfSAojZGVmaW5lIFNJTVBMRV9ICgpleHRlcm4gaW50IGFkZChpbnQgeCwgaW50IHkpOwoKI2VuZGlm'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,ICNpZm5kZWYgU0lNUExFX0gKICNkZWZpbmUgU0lNUExFX0gKCiBleHRlcm4gaW50IGFkZChpbnQgeCwgaW50IHkpOwoKICNlbmRpZg=='>⬇</a></div> |
<div id='lstnumberx851' class='ltx_listingline'> | <div id='lstnumberx925' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
#<span class='ltx_text ltx_lst_identifier'>ifndef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SIMPLE_H</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_identifier'>ifndef</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SIMPLE_H</span> |
</div> | </div> |
<div id='lstnumberx852' class='ltx_listingline'> | <div id='lstnumberx926' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
#<span class='ltx_text ltx_lst_identifier'>define</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SIMPLE_H</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_identifier'>define</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SIMPLE_H</span> |
</div> | </div> |
<div id='lstnumberx853' class='ltx_listingline'> | <div id='lstnumberx927' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx854' class='ltx_listingline'> | <div id='lstnumberx928' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_identifier'>extern</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>extern</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx855' class='ltx_listingline'> | <div id='lstnumberx929' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| |
</div> | </div> |
<div id='lstnumberx856' class='ltx_listingline'> | <div id='lstnumberx930' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
#<span class='ltx_text ltx_lst_identifier'>endif</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_identifier'>endif</span> |
</div> | </div> |
</div> | </div> |
</p> | </p> |
</div> | </div> |
<figure id='LST49' class='ltx_float ltx_lstlisting'> | <figure id='LST54' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 49: </span>add function in C</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 54: </span>add function in C</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,I2luY2x1ZGUgInNpbXBsZS5oIgoKaW50IGFkZChpbnQgeCwgaW50IHkpCnsKICByZXR1cm4geCArIHk7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,ICNpbmNsdWRlICJzaW1wbGUuaCIKCiBpbnQgYWRkKGludCB4LCBpbnQgeSkKIHsKICAgcmV0dXJuIHggKyB5OwogfQ=='>⬇</a></div> |
<div id='lstnumberx857' class='ltx_listingline'> | <div id='lstnumberx931' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
#<span class='ltx_text ltx_lst_identifier'>include</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_identifier'>include</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> |
</div> | </div> |
<div id='lstnumberx858' class='ltx_listingline'> | <div id='lstnumberx932' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx859' class='ltx_listingline'> | <div id='lstnumberx933' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) |
</div> | </div> |
<div id='lstnumberx860' class='ltx_listingline'> | <div id='lstnumberx934' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx861' class='ltx_listingline'> | <div id='lstnumberx935' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>+<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; |
</div> | </div> |
<div id='lstnumberx862' class='ltx_listingline'> | <div id='lstnumberx936' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
into your <span class='ltx_text ltx_font_smallcaps'>SaC</span> program. For example:</p> | into your <span class='ltx_text ltx_font_smallcaps'>SaC</span> program. For example:</p> |
</div> | </div> |
<figure id='LST50' class='ltx_float ltx_lstlisting'> | <figure id='LST55' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 50: </span>add function used by SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 55: </span>add function used by SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,ZXh0ZXJuYWwgaW50IGFkZChpbnQgeCwgaW50IHkpOwogICNwcmFnbWEgbGlua29iaiAic2ltcGxlLm8iCgppbnQgbWFpbigpCnsKICBTdGRJTzo6cHJpbnRmKCIxIHBsdXMgMSBlcXVhdGVzIHRvICVkXG4iLCBhZGQoIDEsIDEpKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGV4dGVybmFsIGludCBhZGQoaW50IHgsIGludCB5KTsKICAgI3ByYWdtYSBsaW5rb2JqICJzaW1wbGUubyIKCiBpbnQgbWFpbigpCiB7CiAgIFN0ZElPOjpwcmludGYoIjEgcGx1cyAxIGVxdWF0ZXMgdG8gJWRcbiIsIGFkZCggMSwgMSkpOwoKICAgcmV0dXJuIDA7CiB9'>⬇</a></div> |
<div id='lstnumberx863' class='ltx_listingline'> | <div id='lstnumberx937' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx864' class='ltx_listingline'> | <div id='lstnumberx938' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> |
</div> | </div> |
<div id='lstnumberx865' class='ltx_listingline'> | <div id='lstnumberx939' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
| |
</div> | </div> |
<div id='lstnumberx866' class='ltx_listingline'> | <div id='lstnumberx940' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx867' class='ltx_listingline'> | <div id='lstnumberx941' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx868' class='ltx_listingline'> | <div id='lstnumberx942' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>equates<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>equates<span class='ltx_text ltx_lst_space'> </span>to<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx869' class='ltx_listingline'> | <div id='lstnumberx943' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
| |
</div> | </div> |
<div id='lstnumberx870' class='ltx_listingline'> | <div id='lstnumberx944' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx871' class='ltx_listingline'> | <div id='lstnumberx945' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
result.</p> | result.</p> |
</div> | </div> |
<div id='Thmtheorem33' class='ltx_theorem ltx_theorem_theorem'> | <div id='Thmtheorem34' class='ltx_theorem ltx_theorem_theorem'> |
<h6 class='ltx_title ltx_runin ltx_font_bold ltx_title_theorem'>Exercise 33. </h6> | <h6 class='ltx_title ltx_runin ltx_font_bold ltx_title_theorem'>Exercise 34. </h6> |
<div id='Thmtheorem33.p1' class='ltx_para'> | <div id='Thmtheorem34.p1' class='ltx_para'> |
<p class='ltx_p'>Note here, that the <span class='ltx_text ltx_font_smallcaps'>SaC</span> compiler has no guarantees that the signature that has been provided here | <p class='ltx_p'>Note here, that the <span class='ltx_text ltx_font_smallcaps'>SaC</span> compiler has no guarantees that the signature that has been provided here |
indeed matches your implementation. Try what happens if you wrongly declare both arguments of <span class='ltx_text ltx_font_typewriter'>add</span> | indeed matches your implementation. Try what happens if you wrongly declare both arguments of <span class='ltx_text ltx_font_typewriter'>add</span> |
using yet another pragma:</p> | using yet another pragma:</p> |
</div> | </div> |
<figure id='LST51' class='ltx_float ltx_lstlisting'> | <figure id='LST56' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 51: </span>add function used by SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 56: </span>add function used by SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,ZXh0ZXJuYWwgaW50IGFkZChkb3VibGUgeCwgZG91YmxlIHkpOwogICNwcmFnbWEgbGlua29iaiAic2ltcGxlLm8iCiAgI3ByYWdtYSBoZWFkZXIgICJzaW1wbGUuaCIKCmludCBtYWluKCkKewogIFN0ZElPOjpwcmludGYoIjEgcGx1cyAxIGlzICVkXG4iLCBhZGQoIDEsIDEpKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGV4dGVybmFsIGludCBhZGQoZG91YmxlIHgsIGRvdWJsZSB5KTsKICAgI3ByYWdtYSBsaW5rb2JqICJzaW1wbGUubyIKICAgI3ByYWdtYSBoZWFkZXIgICJzaW1wbGUuaCIKCiBpbnQgbWFpbigpCiB7CiAgIFN0ZElPOjpwcmludGYoIjEgcGx1cyAxIGlzICVkXG4iLCBhZGQoIDEsIDEpKTsKCiAgIHJldHVybiAwOwogfQ=='>⬇</a></div> |
<div id='lstnumberx872' class='ltx_listingline'> | <div id='lstnumberx946' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx873' class='ltx_listingline'> | <div id='lstnumberx947' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> |
</div> | </div> |
<div id='lstnumberx874' class='ltx_listingline'> | <div id='lstnumberx948' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> |
</div> | </div> |
<div id='lstnumberx875' class='ltx_listingline'> | <div id='lstnumberx949' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
| |
</div> | </div> |
<div id='lstnumberx876' class='ltx_listingline'> | <div id='lstnumberx950' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx877' class='ltx_listingline'> | <div id='lstnumberx951' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx878' class='ltx_listingline'> | <div id='lstnumberx952' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx879' class='ltx_listingline'> | <div id='lstnumberx953' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
| |
</div> | </div> |
<div id='lstnumberx880' class='ltx_listingline'> | <div id='lstnumberx954' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx881' class='ltx_listingline'> | <div id='lstnumberx955' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
<p class='ltx_p'>If you compile this version the compiler will point out that it expected a function which satisfies</p> | <p class='ltx_p'>If you compile this version the compiler will point out that it expected a function which satisfies</p> |
</div> | </div> |
<figure id='LST52' class='ltx_float ltx_lstlisting'> | <figure id='LST57' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 52: </span>expected type</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 57: </span>expected type</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW50IGFkZCAoZG91YmxlIFNBQ2xfeCwgZG91YmxlIFNBQ2xfeSk7'>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGludCBhZGQgKGRvdWJsZSBTQUNsX3gsIGRvdWJsZSBTQUNsX3kpOw=='>⬇</a></div> |
<div id='lstnumberx882' class='ltx_listingline'> | <div id='lstnumberx956' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SACl_x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SACl_y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span><span class='ltx_text ltx_lst_space'> </span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SACl_x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>double</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>SACl_y</span>); |
</div> | </div> |
</div> | </div> |
<p class='ltx_p'>and not the actually implemented one:</p> | <p class='ltx_p'>and not the actually implemented one:</p> |
</div> | </div> |
<figure id='LST53' class='ltx_float ltx_lstlisting'> | <figure id='LST58' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 53: </span>actual type</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 58: </span>actual type</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,aW50IGFkZChpbnQgeCwgaW50IHkpOw=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGludCBhZGQoaW50IHgsIGludCB5KTs='>⬇</a></div> |
<div id='lstnumberx883' class='ltx_listingline'> | <div id='lstnumberx957' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
</div> | </div> |
Let us consider a slight variant of our simple example here:</p> | Let us consider a slight variant of our simple example here:</p> |
</div> | </div> |
<figure id='LST54' class='ltx_float ltx_lstlisting'> | <figure id='LST59' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 54: </span>addto function in C</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 59: </span>addto function in C</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,I2luY2x1ZGUgInNpbXBsZS5oIgoKdm9pZCBhZGR0byhpbnQgKngsIGludCB5KQp7CiAgKnggKz0geTsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,ICNpbmNsdWRlICJzaW1wbGUuaCIKCiB2b2lkIGFkZHRvKGludCAqeCwgaW50IHkpCiB7CiAgICp4ICs9IHk7CiB9'>⬇</a></div> |
<div id='lstnumberx884' class='ltx_listingline'> | <div id='lstnumberx958' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
#<span class='ltx_text ltx_lst_identifier'>include</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_identifier'>include</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> |
</div> | </div> |
<div id='lstnumberx885' class='ltx_listingline'> | <div id='lstnumberx959' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
| |
</div> | </div> |
<div id='lstnumberx886' class='ltx_listingline'> | <div id='lstnumberx960' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>void</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>) |
</div> | </div> |
<div id='lstnumberx887' class='ltx_listingline'> | <div id='lstnumberx961' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx888' class='ltx_listingline'> | <div id='lstnumberx962' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; | <span class='ltx_text ltx_lst_space'> </span>*<span class='ltx_text ltx_lst_identifier'>x</span><span class='ltx_text ltx_lst_space'> </span>+=<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>; |
</div> | </div> |
<div id='lstnumberx889' class='ltx_listingline'> | <div id='lstnumberx963' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
has taken place:</p> | has taken place:</p> |
</div> | </div> |
<figure id='LST55' class='ltx_float ltx_lstlisting'> | <figure id='LST60' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 55: </span>addto function used by SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 60: </span>addto function used by SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,ZXh0ZXJuYWwgaW50IGFkZHRvKGludCB4LCBpbnQgeSk7CiAgI3ByYWdtYSBsaW5rb2JqICAic2ltcGxlLm8iCiAgI3ByYWdtYSBoZWFkZXIgICAic2ltcGxlLmgiCiAgI3ByYWdtYSBsaW5rc2lnbiBbMSwxLDJdCgppbnQgbWFpbigpCnsKICBTdGRJTzo6cHJpbnRmKCIxIHBsdXMgMSBpcyAlZFxuIiwgYWRkdG8oIDEsIDEpKTsKCiAgcmV0dXJuIDA7Cn0='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGV4dGVybmFsIGludCBhZGR0byhpbnQgeCwgaW50IHkpOwogICAjcHJhZ21hIGxpbmtvYmogICJzaW1wbGUubyIKICAgI3ByYWdtYSBoZWFkZXIgICAic2ltcGxlLmgiCiAgICNwcmFnbWEgbGlua3NpZ24gWzEsMSwyXQoKIGludCBtYWluKCkKIHsKICAgU3RkSU86OnByaW50ZigiMSBwbHVzIDEgaXMgJWRcbiIsIGFkZHRvKCAxLCAxKSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx890' class='ltx_listingline'> | <div id='lstnumberx964' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx891' class='ltx_listingline'> | <div id='lstnumberx965' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> |
</div> | </div> |
<div id='lstnumberx892' class='ltx_listingline'> | <div id='lstnumberx966' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> |
</div> | </div> |
<div id='lstnumberx893' class='ltx_listingline'> | <div id='lstnumberx967' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linksign</span><span class='ltx_text ltx_lst_space'> </span>[1,1,2] | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linksign</span><span class='ltx_text ltx_lst_space'> </span>[1,1,2] |
</div> | </div> |
<div id='lstnumberx894' class='ltx_listingline'> | <div id='lstnumberx968' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
| |
</div> | </div> |
<div id='lstnumberx895' class='ltx_listingline'> | <div id='lstnumberx969' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx896' class='ltx_listingline'> | <div id='lstnumberx970' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx897' class='ltx_listingline'> | <div id='lstnumberx971' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>addto</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx898' class='ltx_listingline'> | <div id='lstnumberx972' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
| |
</div> | </div> |
<div id='lstnumberx899' class='ltx_listingline'> | <div id='lstnumberx973' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx900' class='ltx_listingline'> | <div id='lstnumberx974' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
same position as one argument tells the compiler that this will require a ”pointer-construction“.</p> | same position as one argument tells the compiler that this will require a ”pointer-construction“.</p> |
</div> | </div> |
<div id='Thmtheorem34' class='ltx_theorem ltx_theorem_theorem'> | <div id='Thmtheorem35' class='ltx_theorem ltx_theorem_theorem'> |
<h6 class='ltx_title ltx_runin ltx_font_bold ltx_title_theorem'>Exercise 34. </h6> | <h6 class='ltx_title ltx_runin ltx_font_bold ltx_title_theorem'>Exercise 35. </h6> |
<div id='Thmtheorem34.p1' class='ltx_para'> | <div id='Thmtheorem35.p1' class='ltx_para'> |
<p class='ltx_p'>Play around with the linksign pragma and find out what the restrictions are. | <p class='ltx_p'>Play around with the linksign pragma and find out what the restrictions are. |
How do you have to define the linksign pragma to get the same signature as in the | How do you have to define the linksign pragma to get the same signature as in the |
With it, our simple example can finally be written as:</p> | With it, our simple example can finally be written as:</p> |
</div> | </div> |
<figure id='LST56' class='ltx_float ltx_lstlisting'> | <figure id='LST61' class='ltx_float ltx_lstlisting'> |
<figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 56: </span>addto function used by SaC</figcaption> | <figcaption class='ltx_caption'><span class='ltx_tag ltx_tag_float'>Listing 61: </span>addto function used by SaC</figcaption> |
<div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> | <div class='ltx_listing ltx_lst_language_SaC ltx_lst_numbers_left ltx_lstlisting ltx_listing'> |
<div class='ltx_listing_data'><a href='data:text/plain;base64,ZXh0ZXJuYWwgaW50IGFkZChpbnQgeCwgaW50IHkpOwogICNwcmFnbWEgbGlua29iaiAgInNpbXBsZS5vIgogICNwcmFnbWEgaGVhZGVyICAgInNpbXBsZS5oIgogICNwcmFnbWEgbGlua3NpZ24gWzEsMSwyXQogICNwcmFnbWEgbGlua25hbWUgImFkZHRvIgoKaW50IG1haW4oKQp7CiAgU3RkSU86OnByaW50ZigiMSBwbHVzIDEgaXMgJWRcbiIsIGFkZCggMSwgMSkpOwoKICByZXR1cm4gMDsKfQ=='>⬇</a></div> | <div class='ltx_listing_data'><a href='data:text/plain;base64,IGV4dGVybmFsIGludCBhZGQoaW50IHgsIGludCB5KTsKICAgI3ByYWdtYSBsaW5rb2JqICAic2ltcGxlLm8iCiAgICNwcmFnbWEgaGVhZGVyICAgInNpbXBsZS5oIgogICAjcHJhZ21hIGxpbmtzaWduIFsxLDEsMl0KICAgI3ByYWdtYSBsaW5rbmFtZSAiYWRkdG8iCgogaW50IG1haW4oKQogewogICBTdGRJTzo6cHJpbnRmKCIxIHBsdXMgMSBpcyAlZFxuIiwgYWRkKCAxLCAxKSk7CgogICByZXR1cm4gMDsKIH0='>⬇</a></div> |
<div id='lstnumberx901' class='ltx_listingline'> | <div id='lstnumberx975' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>1</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>external</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>x</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>y</span>); |
</div> | </div> |
<div id='lstnumberx902' class='ltx_listingline'> | <div id='lstnumberx976' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>2</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkobj</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.o”</span> |
</div> | </div> |
<div id='lstnumberx903' class='ltx_listingline'> | <div id='lstnumberx977' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>3</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>header</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”simple.h”</span> |
</div> | </div> |
<div id='lstnumberx904' class='ltx_listingline'> | <div id='lstnumberx978' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>4</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linksign</span><span class='ltx_text ltx_lst_space'> </span>[1,1,2] | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linksign</span><span class='ltx_text ltx_lst_space'> </span>[1,1,2] |
</div> | </div> |
<div id='lstnumberx905' class='ltx_listingline'> | <div id='lstnumberx979' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>5</span></span> |
<span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkname</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”addto”</span> | <span class='ltx_text ltx_lst_space'> </span>#<span class='ltx_text ltx_lst_keyword ltx_font_bold'>pragma</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>linkname</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_string'>”addto”</span> |
</div> | </div> |
<div id='lstnumberx906' class='ltx_listingline'> | <div id='lstnumberx980' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>6</span></span> |
| |
</div> | </div> |
<div id='lstnumberx907' class='ltx_listingline'> | <div id='lstnumberx981' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>7</span></span> |
<span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>int</span><span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>main</span>() |
</div> | </div> |
<div id='lstnumberx908' class='ltx_listingline'> | <div id='lstnumberx982' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>8</span></span> |
{ | <span class='ltx_text ltx_lst_space'> </span>{ |
</div> | </div> |
<div id='lstnumberx909' class='ltx_listingline'> | <div id='lstnumberx983' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>9</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>StdIO</span>::<span class='ltx_text ltx_lst_identifier'>printf</span>(<span class='ltx_text ltx_lst_string'>”1<span class='ltx_text ltx_lst_space'> </span>plus<span class='ltx_text ltx_lst_space'> </span>1<span class='ltx_text ltx_lst_space'> </span>is<span class='ltx_text ltx_lst_space'> </span>%d\n”</span>,<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_identifier'>add</span>(<span class='ltx_text ltx_lst_space'> </span>1,<span class='ltx_text ltx_lst_space'> </span>1)); |
</div> | </div> |
<div id='lstnumberx910' class='ltx_listingline'> | <div id='lstnumberx984' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>10</span></span> |
| |
</div> | </div> |
<div id='lstnumberx911' class='ltx_listingline'> | <div id='lstnumberx985' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>11</span></span> |
<span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; | <span class='ltx_text ltx_lst_space'> </span><span class='ltx_text ltx_lst_keyword ltx_font_bold'>return</span><span class='ltx_text ltx_lst_space'> </span>0; |
</div> | </div> |
<div id='lstnumberx912' class='ltx_listingline'> | <div id='lstnumberx986' class='ltx_listingline'> |
<span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> | <span class='ltx_tag ltx_tag_listingline'><span class='ltx_text' style='color:#BFBFBF;'>12</span></span> |
} | <span class='ltx_text ltx_lst_space'> </span>} |
</div> | </div> |
</div> | </div> |
</h4> | </h4> |
| |
<div class='ltx_pagination ltx_role_newpage'></div> | |
</section> | </section> |
</section> | </section> |
</div> | </div> |
<footer class='ltx_page_footer'> | <footer class='ltx_page_footer'> |
<div class='ltx_page_logo'>Generated on Thu Feb 4 20:42:00 2021 by <a href='http://dlmf.nist.gov/LaTeXML/'>LaTeXML <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wKExQZLWTEaOUAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAdpJREFUKM9tkL+L2nAARz9fPZNCKFapUn8kyI0e4iRHSR1Kb8ng0lJw6FYHFwv2LwhOpcWxTjeUunYqOmqd6hEoRDhtDWdA8ApRYsSUCDHNt5ul13vz4w0vWCgUnnEc975arX6ORqN3VqtVZbfbTQC4uEHANM3jSqXymFI6yWazP2KxWAXAL9zCUa1Wy2tXVxheKA9YNoR8Pt+aTqe4FVVVvz05O6MBhqUIBGk8Hn8HAOVy+T+XLJfLS4ZhTiRJgqIoVBRFIoric47jPnmeB1mW/9rr9ZpSSn3Lsmir1fJZlqWlUonKsvwWwD8ymc/nXwVBeLjf7xEKhdBut9Hr9WgmkyGEkJwsy5eHG5vN5g0AKIoCAEgkEkin0wQAfN9/cXPdheu6P33fBwB4ngcAcByHJpPJl+fn54mD3Gg0NrquXxeLRQAAwzAYj8cwTZPwPH9/sVg8PXweDAauqqr2cDjEer1GJBLBZDJBs9mE4zjwfZ85lAGg2+06hmGgXq+j3+/DsixYlgVN03a9Xu8jgCNCyIegIAgx13Vfd7vdu+FweG8YRkjXdWy329+dTgeSJD3ieZ7RNO0VAXAPwDEAO5VKndi2fWrb9jWl9Esul6PZbDY9Go1OZ7PZ9z/lyuD3OozU2wAAAABJRU5ErkJggg==' alt='[LOGO]'></a> | <div class='ltx_page_logo'>Generated on Mon Mar 14 17:52:01 2022 by <a href='http://dlmf.nist.gov/LaTeXML/'>LaTeXML <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wKExQZLWTEaOUAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAdpJREFUKM9tkL+L2nAARz9fPZNCKFapUn8kyI0e4iRHSR1Kb8ng0lJw6FYHFwv2LwhOpcWxTjeUunYqOmqd6hEoRDhtDWdA8ApRYsSUCDHNt5ul13vz4w0vWCgUnnEc975arX6ORqN3VqtVZbfbTQC4uEHANM3jSqXymFI6yWazP2KxWAXAL9zCUa1Wy2tXVxheKA9YNoR8Pt+aTqe4FVVVvz05O6MBhqUIBGk8Hn8HAOVy+T+XLJfLS4ZhTiRJgqIoVBRFIoric47jPnmeB1mW/9rr9ZpSSn3Lsmir1fJZlqWlUonKsvwWwD8ymc/nXwVBeLjf7xEKhdBut9Hr9WgmkyGEkJwsy5eHG5vN5g0AKIoCAEgkEkin0wQAfN9/cXPdheu6P33fBwB4ngcAcByHJpPJl+fn54mD3Gg0NrquXxeLRQAAwzAYj8cwTZPwPH9/sVg8PXweDAauqqr2cDjEer1GJBLBZDJBs9mE4zjwfZ85lAGg2+06hmGgXq+j3+/DsixYlgVN03a9Xu8jgCNCyIegIAgx13Vfd7vdu+FweG8YRkjXdWy329+dTgeSJD3ieZ7RNO0VAXAPwDEAO5VKndi2fWrb9jWl9Esul6PZbDY9Go1OZ7PZ9z/lyuD3OozU2wAAAABJRU5ErkJggg==' alt='[LOGO]'></a> |
</div></footer> | </div></footer> |
</div> | </div> |