URI:
       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