about summary refs log tree commit diff stats
path: root/manage.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <arg@suckless.org>2007-02-21 12:08:18 +0100
committerAnselm R. Garbe <arg@suckless.org>2007-02-21 12:08:18 +0100
commit7541f1ad4980bf1c917f4fec59353f79306fdf5c (patch)
treebfb4ddee6de5d9cd6a572b937335a645b45f7a57 /manage.c
parent74cbbe5f3549cc3f95f9bf14a356ecfbb9a8f481 (diff)
downloaddwm-3.6.1.tar.gz
creating 3.6.1 3.6.1
Diffstat (limited to 'manage.c')
0 files changed, 0 insertions, 0 deletions
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101























































                                                                                                               
                                                                                                                       











































                                                                                                                                                                                                                                                                                             
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 406int32.mu</title>
<meta name="Generator" content="Vim/8.1">
<meta name="plugin-version" content="vim8.1_v1">
<meta name="syntax" content="none">
<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal-light">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #c6c6c6; }
body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
a { color:inherit; }
* { font-size:12pt; font-size: 1em; }
.muComment { color: #005faf; }
.LineNr { }
.SpecialChar { color: #d70000; }
.Constant { color: #008787; }
.muFunction { color: #af5f00; text-decoration: underline; }
.Delimiter { color: #c000c0; }
.PreProc { color: #c000c0; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  var lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<a href='https://github.com/akkartik/mu/blob/main/406int32.mu'>https://github.com/akkartik/mu/blob/main/406int32.mu</a>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr"> 1 </span><span class="muComment"># Some slow but convenient helpers</span>
<span id="L2" class="LineNr"> 2 </span>
<span id="L3" class="LineNr"> 3 </span><span class="muComment"># slow, iterative shift-left instruction</span>
<span id="L4" class="LineNr"> 4 </span><span class="muComment"># preconditions: _nr &gt;= 0, _dr &gt; 0</span>
<span id="L5" class="LineNr"> 5 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L5'>repeated-shift-left</a></span> nr: int, dr: int<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
<span id="L6" class="LineNr"> 6 </span>  <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> copy nr
<span id="L7" class="LineNr"> 7 </span>  <span class="Delimiter">{</span>
<span id="L8" class="LineNr"> 8 </span>    compare dr, <span class="Constant">0</span>
<span id="L9" class="LineNr"> 9 </span>    <span class="PreProc">break-if-&lt;=</span>
<span id="L10" class="LineNr">10 </span>    result <span class="SpecialChar">&lt;-</span> shift-left <span class="Constant">1</span>
<span id="L11" class="LineNr">11 </span>    decrement dr
<span id="L12" class="LineNr">12 </span>    <span class="PreProc">loop</span>
<span id="L13" class="LineNr">13 </span>  <span class="Delimiter">}</span>
<span id="L14" class="LineNr">14 </span>  <span class="PreProc">return</span> result
<span id="L15" class="LineNr">15 </span><span class="Delimiter">}</span>
<span id="L16" class="LineNr">16 </span>
<span id="L17" class="LineNr">17 </span><span class="muComment"># slow, iterative shift-right instruction</span>
<span id="L18" class="LineNr">18 </span><span class="muComment"># preconditions: _nr &gt;= 0, _dr &gt; 0</span>
<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L19'>repeated-shift-right</a></span> nr: int, dr: int<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
<span id="L20" class="LineNr">20 </span>  <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> copy nr
<span id="L21" class="LineNr">21 </span>  <span class="Delimiter">{</span>
<span id="L22" class="LineNr">22 </span>    compare dr, <span class="Constant">0</span>
<span id="L23" class="LineNr">23 </span>    <span class="PreProc">break-if-&lt;=</span>
<span id="L24" class="LineNr">24 </span>    result <span class="SpecialChar">&lt;-</span> shift-right <span class="Constant">1</span>
<span id="L25" class="LineNr">25 </span>    decrement dr
<span id="L26" class="LineNr">26 </span>    <span class="PreProc">loop</span>
<span id="L27" class="LineNr">27 </span>  <span class="Delimiter">}</span>
<span id="L28" class="LineNr">28 </span>  <span class="PreProc">return</span> result
<span id="L29" class="LineNr">29 </span><span class="Delimiter">}</span>
<span id="L30" class="LineNr">30 </span>
<span id="L31" class="LineNr">31 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L31'>abs</a></span> n: int<span class="PreProc"> -&gt; </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span>
<span id="L32" class="LineNr">32 </span>  <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar">&lt;-</span> copy n
<span id="L33" class="LineNr">33 </span>  <span class="Delimiter">{</span>
<span id="L34" class="LineNr">34 </span>    compare n, <span class="Constant">0</span>
<span id="L35" class="LineNr">35 </span>    <span class="PreProc">break-if-&gt;=</span>
<span id="L36" class="LineNr">36 </span>    result <span class="SpecialChar">&lt;-</span> negate
<span id="L37" class="LineNr">37 </span>  <span class="Delimiter">}</span>
<span id="L38" class="LineNr">38 </span>  <span class="PreProc">return</span> result
<span id="L39" class="LineNr">39 </span><span class="Delimiter">}</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->