Both sides previous revision Previous revision | Next revisionBoth sides next revision |
docs:tutorial [2017/03/24 16:01] – sbs | docs:tutorial [2017/03/24 20:39] – tema |
---|
<head> | <head> |
<title>Untitled Document</title> | <title>Untitled Document</title> |
<!-- Generated on Fri Mar 24 14:08:18 2017 by LaTeXML (version 0.8.2) http://dlmf.nist.gov/LaTeXML/. --> | <!-- Generated on Fri Mar 24 19:34:06 2017 by LaTeXML (version 0.8.2) 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 `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/LaTeXML.css' --> | <!-- autoinlined `/tmp/docs/tutorial/html/LaTeXML.css' --> |
<style type='text/css'> | <style type='text/css'> |
/*====================================================================== | /*====================================================================== |
</style> | </style> |
| |
<!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/ltx-report.css' --> | <!-- autoinlined `/tmp/docs/tutorial/html/ltx-report.css' --> |
<style type='text/css'> | <style type='text/css'> |
| |
</style> | </style> |
| |
<!-- autoinlined `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/ltx-listings.css' --> | <!-- autoinlined `/tmp/docs/tutorial/html/ltx-listings.css' --> |
<style type='text/css'> | <style type='text/css'> |
| |
</style> | </style> |
| |
<link rel='stylesheet' href='http://www.sac-home.org/dokuwiki/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 `/Volumes/Users/sbs/tex/sacdoc/tutorial/html/tutorial.css' --> | <!-- autoinlined `/tmp/docs/tutorial/html/tutorial.css' --> |
<style type='text/css'> | <style type='text/css'> |
/*body { | /*body { |
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='x1.png' id='Ch2.F1.g1' class='ltx_graphics ltx_centering' width='209' height='130' alt=''> | <figure id='Ch2.F1' class='ltx_figure'><img src='data:image/png;base64,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 |