0029-dc.sh - sbase - suckless unix tools
HTML git clone git://git.suckless.org/sbase
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
0029-dc.sh (2364B)
---
1 #!/bin/sh
2
3 tmp=$$.tmp
4
5 trap 'rm -f $tmp' EXIT
6 trap 'exit $?' HUP INT TERM
7
8 # Test * command: multiplication
9 cat <<EOF >$tmp
10 test 1:
11 6
12 test 2:
13 0
14 test 3:
15 6
16 test 4:
17 10000
18 test 5:
19 10000
20 test 6:
21 -30
22 test 7:
23 -30
24 test 8:
25 -30
26 test 9:
27 -30
28 test 10:
29 -25
30 test 11:
31 -25
32 test 12:
33 0
34 test 13:
35 0
36 test 14:
37 0
38 test 15:
39 0
40 test 16:
41 5
42 test 17:
43 5
44 test 18:
45 -5
46 test 19:
47 -5
48 test 20:
49 .5
50 test 21:
51 1.50
52 test 22:
53 .50
54 test 23:
55 0
56 test 24:
57 3.7
58 test 25:
59 .2
60 test 26:
61 1.00
62 test 27:
63 1.000
64 test 28:
65 0
66 test 29:
67 -3.7
68 test 30:
69 -3.7
70 test 31:
71 3.7
72 test 32:
73 -.2
74 test 33:
75 -.2
76 test 34:
77 .2
78 test 35:
79 0
80 test 36:
81 0
82 test 37:
83 12345678901234567890
84 test 38:
85 -12345678901234567890
86 test 39:
87 81
88 test 40:
89 9801
90 test 41:
91 998001
92 test 42:
93 99980001
94 test 43:
95 9999999800000001
96 test 44:
97 0
98 test 45:
99 .10000
100 test 46:
101 1.0
102 test 47:
103 4.5
104 test 48:
105 4.5
106 test 49:
107 1.0
108 test 50:
109 1.00
110 test 51:
111 1.000
112 test 52:
113 4
114 test 53:
115 16
116 test 54:
117 64
118 test 55:
119 256
120 test 56:
121 65536
122 test 57:
123 1
124 test 58:
125 -1
126 test 59:
127 -1
128 test 60:
129 1
130 test 61:
131 0
132 EOF
133
134 $EXEC ../dc <<EOF | diff -u $tmp -
135 [test 1:]pc 2 3*p
136 [test 2:]pc 0 0*p
137 [test 3:]pc _2 _3*p
138 [test 4:]pc 100 100*p
139 [test 5:]pc _100 _100*p
140 [test 6:]pc 10 _3*p
141 [test 7:]pc 3 _10*p
142 [test 8:]pc _3 10*p
143 [test 9:]pc _10 3*p
144 [test 10:]pc 5 _5*p
145 [test 11:]pc _5 5*p
146 [test 12:]pc 0 5*p
147 [test 13:]pc 0 _5*p
148 [test 14:]pc 5 0*p
149 [test 15:]pc _5 0*p
150 [test 16:]pc 1 5*p
151 [test 17:]pc 5 1*p
152 [test 18:]pc _1 5*p
153 [test 19:]pc 5 _1*p
154 [test 20:]pc 1.0 .5*p
155 [test 21:]pc 1.5 1.00*p
156 [test 22:]pc 1.00 .50*p
157 [test 23:]pc .1 .5*p
158 [test 24:]pc 1.5 2.5*p
159 [test 25:]pc .5 .5*p
160 [test 26:]pc .25 4*p
161 [test 27:]pc .125 8*p
162 [test 28:]pc .001 .001*p
163 [test 29:]pc _1.5 2.5*p
164 [test 30:]pc 1.5 _2.5*p
165 [test 31:]pc _1.5 _2.5*p
166 [test 32:]pc _.5 .5*p
167 [test 33:]pc .5 _.5*p
168 [test 34:]pc _.5 _.5*p
169 [test 35:]pc 99999999999999999999 0*p
170 [test 36:]pc _99999999999999999999 0*p
171 [test 37:]pc 12345678901234567890 1*p
172 [test 38:]pc 12345678901234567890 _1*p
173 [test 39:]pc 9 9*p
174 [test 40:]pc 99 99*p
175 [test 41:]pc 999 999*p
176 [test 42:]pc 9999 9999*p
177 [test 43:]pc 99999999 99999999*p
178 [test 44:]pc .0001 .0001*p
179 [test 45:]pc .00001 10000*p
180 [test 46:]pc .1 10*p
181 [test 47:]pc 1.5 3*p
182 [test 48:]pc 3 1.5*p
183 [test 49:]pc 10 .1*p
184 [test 50:]pc 100 .01*p
185 [test 51:]pc 1000 .001*p
186 [test 52:]pc 2 2*p
187 [test 53:]pc 4 4*p
188 [test 54:]pc 8 8*p
189 [test 55:]pc 16 16*p
190 [test 56:]pc 256 256*p
191 [test 57:]pc 1 1*p
192 [test 58:]pc _1 1*p
193 [test 59:]pc 1 _1*p
194 [test 60:]pc _1 _1*p
195 [test 61:]pc 0 0*p
196 EOF