sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | 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