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