0032-dc.sh - sbase - suckless unix tools
HTML git clone git://git.suckless.org/sbase
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
0032-dc.sh (3064B)
---
1 #!/bin/sh
2
3 tmp=$$.tmp
4
5 trap 'rm -f $tmp' EXIT
6 trap 'exit $?' HUP INT TERM
7
8 # Test ~ command: divmod (pushes quotient then remainder, remainder on top)
9 # Output format: each ~ produces two lines: remainder (top), then quotient
10 # Note: ~ now uses divscale like / and %, so results should match
11 cat <<EOF >$tmp
12 test 1:
13 0
14 3
15 test 2:
16 1
17 3
18 test 3:
19 1
20 2
21 test 4:
22 1
23 3
24 test 5:
25 2
26 14
27 test 6:
28 0
29 10
30 test 7:
31 1
32 33
33 test 8:
34 0
35 3
36 test 9:
37 2
38 3
39 test 10:
40 0
41 0
42 test 11:
43 0
44 1
45 test 12:
46 3
47 0
48 test 13:
49 0
50 1
51 test 14:
52 1
53 0
54 test 15:
55 1
56 0
57 test 16:
58 1
59 0
60 test 17:
61 0
62 5
63 test 18:
64 0
65 100
66 test 19:
67 99
68 0
69 test 20:
70 0
71 -3
72 test 21:
73 0
74 -3
75 test 22:
76 0
77 3
78 test 23:
79 -1
80 -2
81 test 24:
82 1
83 -2
84 test 25:
85 -1
86 2
87 test 26:
88 -1
89 -3
90 test 27:
91 1
92 -3
93 test 28:
94 -1
95 3
96 test 29:
97 0
98 -10
99 test 30:
100 0
101 -10
102 test 31:
103 0
104 10
105 test 32:
106 0
107 -5
108 test 33:
109 0
110 -5
111 test 34:
112 0
113 5
114 test 35:
115 0
116 0
117 test 36:
118 1
119 1
120 test 37:
121 789
122 123456
123 test 38:
124 4
125 14285714285
126 test 39:
127 0
128 1371742100137174210
129 test 40:
130 1
131 49999999999999999999
132 test 41:
133 0
134 33333333333333333333
135 test 42:
136 1
137 1
138 test 43:
139 0
140 1
141 test 44:
142 0
143 3
144 test 45:
145 0
146 3
147 test 46:
148 1.5
149 3
150 test 47:
151 0
152 3
153 test 48:
154 1.5
155 2
156 test 49:
157 0
158 1
159 test 50:
160 0
161 5
162 test 51:
163 0
164 -3
165 test 52:
166 0
167 -3
168 test 53:
169 0
170 3
171 test 54:
172 0
173 -3
174 test 55:
175 0
176 -3
177 test 56:
178 0
179 3
180 test 57:
181 0
182 1
183 test 58:
184 .001
185 3
186 test 59:
187 .01
188 3
189 test 60:
190 0
191 20
192 test 61:
193 .5
194 0
195 test 62:
196 0
197 1000
198 test 63:
199 0
200 4
201 test 64:
202 0
203 4
204 test 65:
205 0
206 16
207 test 66:
208 15
209 15
210 test 67:
211 1
212 16
213 test 68:
214 0
215 32
216 EOF
217
218 $EXEC ../dc <<EOF | diff -u $tmp -
219 [test 1:]pc 6 2~f c
220 [test 2:]pc 7 2~f c
221 [test 3:]pc 7 3~f c
222 [test 4:]pc 10 3~f c
223 [test 5:]pc 100 7~f c
224 [test 6:]pc 100 10~f c
225 [test 7:]pc 100 3~f c
226 [test 8:]pc 15 5~f c
227 [test 9:]pc 17 5~f c
228 [test 10:]pc 0 5~f c
229 [test 11:]pc 5 5~f c
230 [test 12:]pc 3 7~f c
231 [test 13:]pc 1 1~f c
232 [test 14:]pc 1 2~f c
233 [test 15:]pc 1 5~f c
234 [test 16:]pc 1 10~f c
235 [test 17:]pc 5 1~f c
236 [test 18:]pc 100 1~f c
237 [test 19:]pc 99 100~f c
238 [test 20:]pc _6 2~f c
239 [test 21:]pc 6 _2~f c
240 [test 22:]pc _6 _2~f c
241 [test 23:]pc _7 3~f c
242 [test 24:]pc 7 _3~f c
243 [test 25:]pc _7 _3~f c
244 [test 26:]pc _10 3~f c
245 [test 27:]pc 10 _3~f c
246 [test 28:]pc _10 _3~f c
247 [test 29:]pc _100 10~f c
248 [test 30:]pc 100 _10~f c
249 [test 31:]pc _100 _10~f c
250 [test 32:]pc _5 1~f c
251 [test 33:]pc 5 _1~f c
252 [test 34:]pc _5 _1~f c
253 [test 35:]pc 0 _5~f c
254 [test 36:]pc 1000000 999999~f c
255 [test 37:]pc 123456789 1000~f c
256 [test 38:]pc 99999999999 7~f c
257 [test 39:]pc 12345678901234567890 9~f c
258 [test 40:]pc 99999999999999999999 2~f c
259 [test 41:]pc 99999999999999999999 3~f c
260 [test 42:]pc 99999999999999999999 99999999999999999998~f c
261 [test 43:]pc 99999999999999999999 99999999999999999999~f c
262 [test 44:]pc 7.5 2.5~f c
263 [test 45:]pc 1.5 .5~f c
264 [test 46:]pc 10.5 3~f c
265 [test 47:]pc 4.5 1.5~f c
266 [test 48:]pc 7.5 3~f c
267 [test 49:]pc .5 .5~f c
268 [test 50:]pc 2.5 .5~f c
269 [test 51:]pc _7.5 2.5~f c
270 [test 52:]pc 7.5 _2.5~f c
271 [test 53:]pc _7.5 _2.5~f c
272 [test 54:]pc _1.5 .5~f c
273 [test 55:]pc 1.5 _.5~f c
274 [test 56:]pc _1.5 _.5~f c
275 [test 57:]pc .001 .001~f c
276 [test 58:]pc .01 .003~f c
277 [test 59:]pc .1 .03~f c
278 [test 60:]pc 10 .5~f c
279 [test 61:]pc .5 10~f c
280 [test 62:]pc 100 .1~f c
281 [test 63:]pc 8 2~f c
282 [test 64:]pc 16 4~f c
283 [test 65:]pc 256 16~f c
284 [test 66:]pc 255 16~f c
285 [test 67:]pc 257 16~f c
286 [test 68:]pc 1024 32~f c
287 EOF