URI:
       0030-dc.sh - sbase - suckless unix tools
  HTML git clone git://git.suckless.org/sbase
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       0030-dc.sh (3922B)
       ---
            1 #!/bin/sh
            2 
            3 tmp=$$.tmp
            4 
            5 trap 'rm -f $tmp' EXIT
            6 trap 'exit $?' HUP INT TERM
            7 
            8 # Test / command: division
            9 # Note: scale (k) persists between operations, so we reset it explicitly
           10 cat <<EOF >$tmp
           11 test 1:
           12 3
           13 test 2:
           14 3
           15 test 3:
           16 10
           17 test 4:
           18 33
           19 test 5:
           20 -3
           21 test 6:
           22 -3
           23 test 7:
           24 3
           25 test 8:
           26 0
           27 test 9:
           28 1
           29 test 10:
           30 5
           31 test 11:
           32 0
           33 test 12:
           34 3.50
           35 test 13:
           36 .33
           37 test 14:
           38 .3333
           39 test 15:
           40 2.50
           41 test 16:
           42 3.14
           43 test 17:
           44 3.142857
           45 test 18:
           46 -3.50
           47 test 19:
           48 -3.50
           49 test 20:
           50 3.50
           51 test 21:
           52 -.33
           53 test 22:
           54 -.33
           55 test 23:
           56 .33
           57 test 24:
           58 3
           59 test 25:
           60 2
           61 test 26:
           62 3
           63 test 27:
           64 20
           65 test 28:
           66 0
           67 test 29:
           68 .05
           69 test 30:
           70 1000
           71 test 31:
           72 1000001
           73 test 32:
           74 1
           75 test 33:
           76 12345678901234567890
           77 test 34:
           78 .3333333333
           79 test 35:
           80 .6666666666
           81 test 36:
           82 .1428571428
           83 test 37:
           84 .1111111111
           85 test 38:
           86 .0909090909
           87 test 39:
           88 .5
           89 test 40:
           90 .500
           91 test 41:
           92 .50000
           93 test 42:
           94 .2
           95 test 43:
           96 .250
           97 test 44:
           98 .1
           99 test 45:
          100 .125
          101 test 46:
          102 -3
          103 test 47:
          104 -3
          105 test 48:
          106 3
          107 test 49:
          108 -2.50
          109 test 50:
          110 -2.50
          111 test 51:
          112 2.50
          113 test 52:
          114 1.00000000
          115 test 53:
          116 .00100000
          117 test 54:
          118 1000.00000000
          119 test 55:
          120 .01000000
          121 test 56:
          122 100.00000000
          123 test 57:
          124 1
          125 test 58:
          126 1
          127 test 59:
          128 -1
          129 test 60:
          130 -1
          131 test 61:
          132 0
          133 test 62:
          134 0
          135 test 63:
          136 0
          137 test 64:
          138 100
          139 test 65:
          140 -100
          141 test 66:
          142 -100
          143 test 67:
          144 100
          145 test 68:
          146 10
          147 test 69:
          148 100
          149 test 70:
          150 100
          151 test 71:
          152 1000
          153 test 72:
          154 0
          155 test 73:
          156 0
          157 test 74:
          158 0
          159 test 75:
          160 0
          161 test 76:
          162 0
          163 test 77:
          164 0
          165 test 78:
          166 .50
          167 test 79:
          168 .10
          169 test 80:
          170 .01
          171 test 81:
          172 .50
          173 test 82:
          174 .99
          175 test 83:
          176 9
          177 test 84:
          178 8
          179 test 85:
          180 7
          181 test 86:
          182 6
          183 test 87:
          184 5
          185 test 88:
          186 4
          187 test 89:
          188 3
          189 test 90:
          190 2
          191 test 91:
          192 1
          193 test 92:
          194 99999999999999999999
          195 test 93:
          196 0
          197 test 94:
          198 .00000000000000000001
          199 EOF
          200 
          201 $EXEC ../dc <<EOF | diff -u $tmp -
          202 [test 1:]pc 0k 6 2/p
          203 [test 2:]pc 0k 7 2/p
          204 [test 3:]pc 0k 100 10/p
          205 [test 4:]pc 0k 100 3/p
          206 [test 5:]pc 0k _6 2/p
          207 [test 6:]pc 0k 6 _2/p
          208 [test 7:]pc 0k _6 _2/p
          209 [test 8:]pc 0k 0 5/p
          210 [test 9:]pc 0k 1 1/p
          211 [test 10:]pc 0k 5 1/p
          212 [test 11:]pc 0k 1 5/p
          213 [test 12:]pc 2k 7 2/p
          214 [test 13:]pc 2k 1 3/p
          215 [test 14:]pc 4k 1 3/p
          216 [test 15:]pc 2k 10 4/p
          217 [test 16:]pc 2k 22 7/p
          218 [test 17:]pc 6k 22 7/p
          219 [test 18:]pc 2k _7 2/p
          220 [test 19:]pc 2k 7 _2/p
          221 [test 20:]pc 2k _7 _2/p
          222 [test 21:]pc 2k _1 3/p
          223 [test 22:]pc 2k 1 _3/p
          224 [test 23:]pc 2k _1 _3/p
          225 [test 24:]pc 0k 1.5 .5/p
          226 [test 25:]pc 0k 3.0 1.5/p
          227 [test 26:]pc 0k .75 .25/p
          228 [test 27:]pc 0k 10 .5/p
          229 [test 28:]pc 0k .5 10/p
          230 [test 29:]pc 2k .5 10/p
          231 [test 30:]pc 0k 1000000 1000/p
          232 [test 31:]pc 0k 999999999999 999999/p
          233 [test 32:]pc 0k 12345678901234567890 12345678901234567890/p
          234 [test 33:]pc 0k 12345678901234567890 1/p
          235 [test 34:]pc 10k 1 3/p
          236 [test 35:]pc 10k 2 3/p
          237 [test 36:]pc 10k 1 7/p
          238 [test 37:]pc 10k 1 9/p
          239 [test 38:]pc 10k 1 11/p
          240 [test 39:]pc 1k 1 2/p
          241 [test 40:]pc 3k 1 2/p
          242 [test 41:]pc 5k 1 2/p
          243 [test 42:]pc 1k 1 4/p
          244 [test 43:]pc 3k 1 4/p
          245 [test 44:]pc 1k 1 8/p
          246 [test 45:]pc 3k 1 8/p
          247 [test 46:]pc 0k _1.5 .5/p
          248 [test 47:]pc 0k 1.5 _.5/p
          249 [test 48:]pc 0k _1.5 _.5/p
          250 [test 49:]pc 2k _10 4/p
          251 [test 50:]pc 2k 10 _4/p
          252 [test 51:]pc 2k _10 _4/p
          253 [test 52:]pc 8k .001 .001/p
          254 [test 53:]pc 8k .001 1/p
          255 [test 54:]pc 8k 1 .001/p
          256 [test 55:]pc 8k .0001 .01/p
          257 [test 56:]pc 8k .01 .0001/p
          258 [test 57:]pc 0k 1 1/p
          259 [test 58:]pc 0k _1 _1/p
          260 [test 59:]pc 0k _1 1/p
          261 [test 60:]pc 0k 1 _1/p
          262 [test 61:]pc 0k 0 1/p
          263 [test 62:]pc 0k 0 _1/p
          264 [test 63:]pc 0k 0 100/p
          265 [test 64:]pc 0k 100 1/p
          266 [test 65:]pc 0k _100 1/p
          267 [test 66:]pc 0k 100 _1/p
          268 [test 67:]pc 0k _100 _1/p
          269 [test 68:]pc 0k 100 10/p
          270 [test 69:]pc 0k 1000 10/p
          271 [test 70:]pc 0k 10000 100/p
          272 [test 71:]pc 0k 1000000 1000/p
          273 [test 72:]pc 0k 10 100/p
          274 [test 73:]pc 0k 10 1000/p
          275 [test 74:]pc 0k 1 2/p
          276 [test 75:]pc 0k 1 10/p
          277 [test 76:]pc 0k 1 100/p
          278 [test 77:]pc 0k 5 10/p
          279 [test 78:]pc 2k 1 2/p
          280 [test 79:]pc 2k 1 10/p
          281 [test 80:]pc 2k 1 100/p
          282 [test 81:]pc 2k 5 10/p
          283 [test 82:]pc 2k 99 100/p
          284 [test 83:]pc 0k 81 9/p
          285 [test 84:]pc 0k 64 8/p
          286 [test 85:]pc 0k 49 7/p
          287 [test 86:]pc 0k 36 6/p
          288 [test 87:]pc 0k 25 5/p
          289 [test 88:]pc 0k 16 4/p
          290 [test 89:]pc 0k 9 3/p
          291 [test 90:]pc 0k 4 2/p
          292 [test 91:]pc 0k 99999999999999999999 99999999999999999999/p
          293 [test 92:]pc 0k 99999999999999999999 1/p
          294 [test 93:]pc 0k 1 99999999999999999999/p
          295 [test 94:]pc 20k 1 99999999999999999999/p
          296 EOF