URI:
       0031-dc.sh - sbase - suckless unix tools
  HTML git clone git://git.suckless.org/sbase
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       0031-dc.sh (2807B)
       ---
            1 #!/bin/sh
            2 
            3 tmp=$$.tmp
            4 
            5 trap 'rm -f $tmp' EXIT
            6 trap 'exit $?' HUP INT TERM
            7 
            8 # Test % command: modulo (remainder)
            9 # Note: scale (k) persists between operations, so we reset it explicitly
           10 cat <<EOF >$tmp
           11 test 1:
           12 1
           13 test 2:
           14 1
           15 test 3:
           16 2
           17 test 4:
           18 0
           19 test 5:
           20 2
           21 test 6:
           22 0
           23 test 7:
           24 0
           25 test 8:
           26 3
           27 test 9:
           28 -1
           29 test 10:
           30 1
           31 test 11:
           32 -1
           33 test 12:
           34 -1
           35 test 13:
           36 1
           37 test 14:
           38 -1
           39 test 15:
           40 0
           41 test 16:
           42 0
           43 test 17:
           44 0
           45 test 18:
           46 1
           47 test 19:
           48 1
           49 test 20:
           50 1
           51 test 21:
           52 99
           53 test 22:
           54 0
           55 test 23:
           56 0
           57 test 24:
           58 0
           59 test 25:
           60 1
           61 test 26:
           62 789
           63 test 27:
           64 4
           65 test 28:
           66 0
           67 test 29:
           68 1
           69 test 30:
           70 0
           71 test 31:
           72 1
           73 test 32:
           74 0
           75 test 33:
           76 0
           77 test 34:
           78 0
           79 test 35:
           80 0
           81 test 36:
           82 7
           83 test 37:
           84 1
           85 test 38:
           86 15
           87 test 39:
           88 0
           89 test 40:
           90 1
           91 test 41:
           92 0
           93 test 42:
           94 0
           95 test 43:
           96 0
           97 test 44:
           98 1.5
           99 test 45:
          100 0
          101 test 46:
          102 0
          103 test 47:
          104 0
          105 test 48:
          106 0
          107 test 49:
          108 0
          109 test 50:
          110 0
          111 test 51:
          112 0
          113 test 52:
          114 0
          115 test 53:
          116 0
          117 test 54:
          118 .001
          119 test 55:
          120 .01
          121 test 56:
          122 .01
          123 test 57:
          124 0
          125 test 58:
          126 .02
          127 test 59:
          128 -.01
          129 test 60:
          130 .01
          131 test 61:
          132 -.01
          133 test 62:
          134 .0001
          135 test 63:
          136 .0002
          137 test 64:
          138 .0005
          139 test 65:
          140 0
          141 test 66:
          142 .005
          143 test 67:
          144 .0050
          145 test 68:
          146 0
          147 EOF
          148 
          149 $EXEC ../dc <<EOF | diff -u $tmp -
          150 [test 1:]pc 0k 7 3%p
          151 [test 2:]pc 0k 10 3%p
          152 [test 3:]pc 0k 100 7%p
          153 [test 4:]pc 0k 15 5%p
          154 [test 5:]pc 0k 17 5%p
          155 [test 6:]pc 0k 0 5%p
          156 [test 7:]pc 0k 5 5%p
          157 [test 8:]pc 0k 3 7%p
          158 [test 9:]pc 0k _7 3%p
          159 [test 10:]pc 0k 7 _3%p
          160 [test 11:]pc 0k _7 _3%p
          161 [test 12:]pc 0k _10 3%p
          162 [test 13:]pc 0k 10 _3%p
          163 [test 14:]pc 0k _10 _3%p
          164 [test 15:]pc 0k 1 1%p
          165 [test 16:]pc 0k 2 2%p
          166 [test 17:]pc 0k 3 3%p
          167 [test 18:]pc 0k 1 2%p
          168 [test 19:]pc 0k 1 10%p
          169 [test 20:]pc 0k 1 100%p
          170 [test 21:]pc 0k 99 100%p
          171 [test 22:]pc 0k 5 1%p
          172 [test 23:]pc 0k 100 1%p
          173 [test 24:]pc 0k _5 1%p
          174 [test 25:]pc 0k 1000000 999999%p
          175 [test 26:]pc 0k 123456789 1000%p
          176 [test 27:]pc 0k 99999999999 7%p
          177 [test 28:]pc 0k 12345678901234567890 9%p
          178 [test 29:]pc 0k 99999999999999999999 2%p
          179 [test 30:]pc 0k 99999999999999999999 3%p
          180 [test 31:]pc 0k 99999999999999999999 99999999999999999998%p
          181 [test 32:]pc 0k 99999999999999999999 99999999999999999999%p
          182 [test 33:]pc 0k 8 2%p
          183 [test 34:]pc 0k 8 4%p
          184 [test 35:]pc 0k 16 8%p
          185 [test 36:]pc 0k 15 8%p
          186 [test 37:]pc 0k 17 8%p
          187 [test 38:]pc 0k 255 16%p
          188 [test 39:]pc 0k 256 16%p
          189 [test 40:]pc 0k 257 16%p
          190 [test 41:]pc 0k 7.5 2.5%p
          191 [test 42:]pc 0k 1.5 .5%p
          192 [test 43:]pc 0k 3.75 1.25%p
          193 [test 44:]pc 0k 7.5 3%p
          194 [test 45:]pc 0k 4.5 1.5%p
          195 [test 46:]pc 0k 2.5 .5%p
          196 [test 47:]pc 0k _7.5 2.5%p
          197 [test 48:]pc 0k 7.5 _2.5%p
          198 [test 49:]pc 0k _7.5 _2.5%p
          199 [test 50:]pc 0k _1.5 .5%p
          200 [test 51:]pc 0k 1.5 _.5%p
          201 [test 52:]pc 0k _1.5 _.5%p
          202 [test 53:]pc 0k .001 .001%p
          203 [test 54:]pc 0k .01 .003%p
          204 [test 55:]pc 2k 7 3%p
          205 [test 56:]pc 2k 10 3%p
          206 [test 57:]pc 2k 17 5%p
          207 [test 58:]pc 2k 22 7%p
          208 [test 59:]pc 2k _7 3%p
          209 [test 60:]pc 2k 7 _3%p
          210 [test 61:]pc 2k _7 _3%p
          211 [test 62:]pc 4k 1 3%p
          212 [test 63:]pc 4k 2 3%p
          213 [test 64:]pc 4k 10 7%p
          214 [test 65:]pc 2k 1.5 .5%p
          215 [test 66:]pc 2k 3.5 1.5%p
          216 [test 67:]pc 2k 7.25 2.25%p
          217 [test 68:]pc 2k 10.5 3.5%p
          218 EOF