EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Arithmetic - test with qoriq
From: Ralph Lange via Core-talk <core-talk at aps.anl.gov>
To: EPICS Core Talk <core-talk at aps.anl.gov>
Date: Fri, 15 Jan 2021 17:49:35 +0100
See https://epics.anl.gov/tech-talk/2018/msg01219.php


On Fri, 15 Jan 2021 at 17:28, Heinz Junkes via Core-talk <core-talk at aps.anl.gov> wrote:
I now have epics on RTEMS5 running quite reasonably on the qoriq system (MVME2500).

I see problems with the arithmetic (even without optimization):

***** epicsAlgorithm *****
1..22
ok  1 - epicsMin(f1, f2)
ok  2 - epicsMin(f1, -Inf)
ok  3 - epicsMin(f1, NaN)
ok  4 - epicsMin(f1, Inf)
ok  5 - epicsMin(f2, f1)
ok  6 - epicsMin(-Inf, f1)
not ok  7 - epicsMin(NaN, f1)
ok  8 - epicsMin(Inf, f1)
ok  9 - epicsMax(f2, f1)
ok 10 - epicsMax(-Inf, f1)
ok 11 - epicsMax(NaN, f1)
ok 12 - epicsMax(Inf, f1)
ok 13 - epicsMax(f1, f2)
ok 14 - epicsMax(f1, -Inf)
ok 15 - epicsMax(f1, NaN)
ok 16 - epicsMax(f1, Inf)
ok 17 - epicsSwap(f1, f2)
ok 18 - epicsMin(i1,i2)
ok 19 - epicsMin(i2,i1)
ok 20 - epicsMax(i1,i2)
ok 21 - epicsMax(i2,i1)
ok 22 - epicsSwap(i1, i2)

    Results
    =======
       Tests: 22
      Passed:  21 = 95.45%
      Failed:   1 =  4.55%

�k
  �j�j
      ok  2 - 1
ok  3 - 2
ok  4 - 3
ok  5 - 4
ok  6 - 5
ok  7 - 6
ok  8 - 7
ok  9 - 8
ok 10 - 9
ok 11 - .1
ok 12 - 0.1
ok 13 - 0X0
ok 14 - 0x10
ok 15 - 0x7fffffff
ok 16 - 0x80000000
ok 17 - 0xffffffff
not ok 18 - Inf
# Expected result is 1.79769e+308, actually got inf
        Double inf
not ok 19 - Infinity
# Expected result is 1.79769e+308, actually got inf
        Double inf
not ok 20 - NaN
# Expected result is 1.79769e+308, actually got nan
        Double nan
ok 21 - a
ok 22 - b
ok 23 - c
ok 24 - d
ok 25 - e
ok 26 - f
ok 27 - g
ok 28 - h
ok 29 - i
ok 30 - j
ok 31 - k
ok 32 - l
ok 33 - PI
ok 34 - D2R
ok 35 - R2D
ok 36 - rndm
ok 37 - -1
not ok 38 - -Inf
# Expected result is -1.79769e+308, actually got -inf
        Double inf
        UNARY_NEG
ok 39 - - -1
ok 40 - -0x80000000
ok 41 - (1)
ok 42 - !0
ok 43 - !1
ok 44 - !!0
ok 45 - ABS(1.0)
ok 46 - ABS(-1.)
ok 47 - acos(1.)
ok 48 - asin(0.5)
ok 49 - atan(0.5)
ok 50 - ATAN2(1., 2.)
ok 51 - ceil(0.5)
ok 52 - cos(0.5)
ok 53 - cosh(0.5)
ok 54 - exp(1.)
ok 55 - floor(1.5)
ok 56 - finite(0.)
not ok 57 - finite(Inf)
# Expected result is 1, actually got 0
        Double inf
        FINITE, 1 arg(s)
not ok 58 - finite(-Inf)
# Expected result is 1, actually got 0
        Double inf
        UNARY_NEG
        FINITE, 1 arg(s)
not ok 59 - finite(NaN)
# Expected result is 1, actually got 0
        Double nan
        FINITE, 1 arg(s)
ok 60 - finite(0,1,2)
ok 61 - finite(0,1,NaN)
ok 62 - finite(0,NaN,2)
ok 63 - finite(NaN,1,2)
ok 64 - finite(0,1,Inf)
ok 65 - finite(0,Inf,2)
ok 66 - finite(Inf,1,2)
ok 67 - finite(0,1,-Inf)
ok 68 - finite(0,-Inf,2)
ok 69 - finite(-Inf,1,2)
ok 70 - isinf(0.)
ok 71 - isinf(Inf)
ok 72 - !!isinf(-Inf)
ok 73 - isinf(NaN)
ok 74 - isnan(0.)
ok 75 - isnan(Inf)
ok 76 - isnan(-Inf)
ok 77 - !!isnan(NaN)
ok 78 - isnan(0,1,2)
ok 79 - isnan(0,1,NaN)
ok 80 - isnan(0,NaN,2)
ok 81 - isnan(NaN,1,2)
ok 82 - isnan(0,1,Inf)
ok 83 - isnan(0,Inf,2)
ok 84 - isnan(Inf,1,2)
ok 85 - isnan(0,1,-Inf)
ok 86 - isnan(0,-Inf,2)
ok 87 - isnan(-Inf,1,2)
ok 88 - LN(5.)
ok 89 - LOG(5.)
ok 90 - LOGE(2.)
ok 91 - MAX(-99)
ok 92 - MAX( 1., 2.)
not ok 93 - MAX( 1., Inf)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Double inf
        MAX, 2 arg(s)
ok 94 - MAX( 1.,-Inf)
not ok 95 - MAX( 1., NaN)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Double nan
        MAX, 2 arg(s)
not ok 96 - MAX( Inf, 1.)
# Expected result is 1.79769e+308, actually got inf
        Double inf
        Integer 1 (0x1)
        MAX, 2 arg(s)
ok 97 - MAX(-Inf, 1.)
not ok 98 - MAX( NaN, 1.)
# Expected result is 1.79769e+308, actually got nan
        Double nan
        Integer 1 (0x1)
        MAX, 2 arg(s)
ok 99 - MAX( 1., 2.,3.)
ok 100 - MAX( 1., 3.,2.)
ok 101 - MAX( 2., 1.,3.)
ok 102 - MAX( 2., 3.,1.)
ok 103 - MAX( 3., 1.,2.)
ok 104 - MAX( 3., 2.,1.)
not ok 105 - MAX( 1., 2., Inf)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double inf
        MAX, 3 arg(s)
ok 106 - MAX( 1., 2.,-Inf)
not ok 107 - MAX( 1., 2., NaN)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double nan
        MAX, 3 arg(s)
not ok 108 - MAX( 1., Inf,2.)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Double inf
        Integer 2 (0x2)
        MAX, 3 arg(s)
ok 109 - MAX( 1.,-Inf,2.)
not ok 110 - MAX( 1., NaN,2.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Double nan
        Integer 2 (0x2)
        MAX, 3 arg(s)
not ok 111 - MAX( Inf, 1.,2.)
# Expected result is 1.79769e+308, actually got inf
        Double inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        MAX, 3 arg(s)
ok 112 - MAX(-Inf, 1.,2.)
not ok 113 - MAX( NaN, 1.,2.)
# Expected result is 1.79769e+308, actually got nan
        Double nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        MAX, 3 arg(s)
ok 114 - MAX( 1., 2., 3., 4.)
ok 115 - MAX( 1., 2., 4., 3.)
ok 116 - MAX( 1., 4., 3., 2.)
ok 117 - MAX( 4., 2., 3., 1.)
not ok 118 - MAX( 1., 2., 3.,NaN)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double nan
        MAX, 4 arg(s)
not ok 119 - MAX( 1., 2.,NaN, 3.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double nan
        Integer 3 (0x3)
        MAX, 4 arg(s)
not ok 120 - MAX( 1.,NaN, 3., 2.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Double nan
        Integer 3 (0x3)
        Integer 2 (0x2)
        MAX, 4 arg(s)
not ok 121 - MAX(NaN, 2., 3., 1.)
# Expected result is 1.79769e+308, actually got nan
        Double nan
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 1 (0x1)
        MAX, 4 arg(s)
ok 122 - MAX( 1., 2., 3., 4., 5.)
ok 123 - MAX( 1., 2., 3., 5., 4.)
ok 124 - MAX( 1., 2., 5., 4., 3.)
ok 125 - MAX( 1., 5., 3., 4., 2.)
ok 126 - MAX( 5., 2., 3., 4., 1.)
not ok 127 - MAX( 1., 2., 3., 4.,NaN)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Double nan
        MAX, 5 arg(s)
not ok 128 - MAX( 1., 2., 3.,NaN, 4.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double nan
        Integer 4 (0x4)
        MAX, 5 arg(s)
not ok 129 - MAX( 1., 2.,NaN, 4., 3.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double nan
        Integer 4 (0x4)
        Integer 3 (0x3)
        MAX, 5 arg(s)
not ok 130 - MAX( 1.,NaN, 3., 4., 2.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Double nan
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 2 (0x2)
        MAX, 5 arg(s)
not ok 131 - MAX(NaN, 2., 3., 4., 1.)
# Expected result is 1.79769e+308, actually got nan
        Double nan
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 1 (0x1)
        MAX, 5 arg(s)
ok 132 - MAX( 1., 2., 3., 4., 5., 6.)
ok 133 - MAX( 1., 2., 3., 4., 6., 5.)
ok 134 - MAX( 1., 2., 3., 6., 5., 4.)
ok 135 - MAX( 1., 2., 6., 4., 5., 3.)
ok 136 - MAX( 1., 6., 3., 4., 5., 2.)
ok 137 - MAX( 6., 2., 3., 4., 5., 1.)
not ok 138 - MAX( 1., 2., 3., 4., 5.,NaN)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Double nan
        MAX, 6 arg(s)
not ok 139 - MAX( 1., 2., 3., 4.,NaN, 5.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Double nan
        Integer 5 (0x5)
        MAX, 6 arg(s)
not ok 140 - MAX( 1., 2., 3.,NaN, 5., 4.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double nan
        Integer 5 (0x5)
        Integer 4 (0x4)
        MAX, 6 arg(s)
not ok 141 - MAX( 1., 2.,NaN, 4., 5., 3.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double nan
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 3 (0x3)
        MAX, 6 arg(s)
not ok 142 - MAX( 1.,NaN, 3., 4., 5., 2.)
# Expected result is 1.79769e+308, actually got nan
        Integer 1 (0x1)
        Double nan
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 2 (0x2)
        MAX, 6 arg(s)
not ok 143 - MAX(NaN, 2., 3., 4., 5., 1.)
# Expected result is 1.79769e+308, actually got nan
        Double nan
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 1 (0x1)
        MAX, 6 arg(s)
not ok 144 - MAX( 1., 2., 3., 4., 5.,Inf)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Double inf
        MAX, 6 arg(s)
not ok 145 - MAX( 1., 2., 3., 4.,Inf, 5.)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Double inf
        Integer 5 (0x5)
        MAX, 6 arg(s)
not ok 146 - MAX( 1., 2., 3.,Inf, 5., 4.)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double inf
        Integer 5 (0x5)
        Integer 4 (0x4)
        MAX, 6 arg(s)
not ok 147 - MAX( 1., 2.,Inf, 4., 5., 3.)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double inf
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 3 (0x3)
        MAX, 6 arg(s)
not ok 148 - MAX( 1.,Inf, 3., 4., 5., 2.)
# Expected result is 1.79769e+308, actually got inf
        Integer 1 (0x1)
        Double inf
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 2 (0x2)
        MAX, 6 arg(s)
not ok 149 - MAX(Inf, 2., 3., 4., 5., 1.)
# Expected result is 1.79769e+308, actually got inf
        Double inf
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 1 (0x1)
        MAX, 6 arg(s)
ok 150 - MAX(1,2,3,4,5,6,7,8,9,10,11,12)
ok 151 - MAX(5,4,3,2,1,0,-1,-2,-3,-4,-5,-6)
ok 152 - MAX(-1,1,0)
ok 153 - MIN(99)
ok 154 - MIN(1.,2.)
ok 155 - MIN(1.,Inf)
not ok 156 - MIN(1.,-Inf)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Double inf
        UNARY_NEG
        MIN, 2 arg(s)
not ok 157 - MIN(1.,NaN)
# Expected result is 1, actually got nan
        Integer 1 (0x1)
        Double nan
        MIN, 2 arg(s)
ok 158 - MIN(NaN,1.)
ok 159 - MIN( 1., 2.,3.)
ok 160 - MIN( 1., 3.,2.)
ok 161 - MIN( 2., 1.,3.)
ok 162 - MIN( 2., 3.,1.)
ok 163 - MIN( 3., 1.,2.)
ok 164 - MIN( 3., 2.,1.)
ok 165 - MIN( 1., 2., Inf)
not ok 166 - MIN( 1., 2.,-Inf)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double inf
        UNARY_NEG
        MIN, 3 arg(s)
not ok 167 - MIN( 1., 2., NaN)
# Expected result is 1, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double nan
        MIN, 3 arg(s)
ok 168 - MIN( 1., Inf,2.)
not ok 169 - MIN( 1.,-Inf,2.)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Double inf
        UNARY_NEG
        Integer 2 (0x2)
        MIN, 3 arg(s)
ok 170 - MIN( 1., NaN,2.)
ok 171 - MIN( Inf, 1.,2.)
not ok 172 - MIN(-Inf, 1.,2.)
# Expected result is -1.79769e+308, actually got -inf
        Double inf
        UNARY_NEG
        Integer 1 (0x1)
        Integer 2 (0x2)
        MIN, 3 arg(s)
ok 173 - MIN( NaN, 1.,2.)
ok 174 - MIN( 1., 2., 3., 4.)
ok 175 - MIN( 1., 2., 4., 3.)
ok 176 - MIN( 1., 4., 3., 2.)
ok 177 - MIN( 4., 2., 3., 1.)
not ok 178 - MIN( 1., 2., 3.,NaN)
# Expected result is 1, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double nan
        MIN, 4 arg(s)
ok 179 - MIN( 1., 2.,NaN, 3.)
ok 180 - MIN( 1.,NaN, 3., 2.)
ok 181 - MIN(NaN, 2., 3., 1.)
ok 182 - MIN( 1., 2., 3., 4., 5.)
ok 183 - MIN( 1., 2., 3., 5., 4.)
ok 184 - MIN( 1., 2., 5., 4., 3.)
ok 185 - MIN( 1., 5., 3., 4., 2.)
ok 186 - MIN( 5., 2., 3., 4., 1.)
not ok 187 - MIN( 1., 2., 3., 4.,NaN)
# Expected result is 1, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Double nan
        MIN, 5 arg(s)
ok 188 - MIN( 1., 2., 3.,NaN, 4.)
ok 189 - MIN( 1., 2.,NaN, 4., 3.)
ok 190 - MIN( 1.,NaN, 3., 4., 2.)
ok 191 - MIN(NaN, 2., 3., 4., 1.)
ok 192 - MIN( 1., 2., 3., 4., 5., 6.)
ok 193 - MIN( 2., 1., 3., 4., 5., 6.)
ok 194 - MIN( 3., 2., 1., 4., 5., 6.)
ok 195 - MIN( 4., 2., 3., 1., 5., 6.)
ok 196 - MIN( 5., 2., 3., 4., 1., 6.)
ok 197 - MIN( 6., 2., 3., 4., 5., 1.)
not ok 198 - MIN( 1., 2., 3., 4., 5.,NaN)
# Expected result is 1, actually got nan
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Double nan
        MIN, 6 arg(s)
ok 199 - MIN( 1., 2., 3., 4.,NaN, 5.)
ok 200 - MIN( 1., 2., 3.,NaN, 5., 4.)
ok 201 - MIN( 1., 2.,NaN, 4., 5., 3.)
ok 202 - MIN( 1.,NaN, 3., 4., 5., 2.)
ok 203 - MIN(NaN, 2., 3., 4., 5., 1.)
not ok 204 - MIN( 1., 2., 3., 4., 5.,-Inf)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Double inf
        UNARY_NEG
        MIN, 6 arg(s)
not ok 205 - MIN( 1., 2., 3., 4.,-Inf, 5.)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Double inf
        UNARY_NEG
        Integer 5 (0x5)
        MIN, 6 arg(s)
not ok 206 - MIN( 1., 2., 3.,-Inf, 5., 4.)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Integer 3 (0x3)
        Double inf
        UNARY_NEG
        Integer 5 (0x5)
        Integer 4 (0x4)
        MIN, 6 arg(s)
not ok 207 - MIN( 1., 2.,-Inf, 4., 5., 3.)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Integer 2 (0x2)
        Double inf
        UNARY_NEG
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 3 (0x3)
        MIN, 6 arg(s)
not ok 208 - MIN( 1.,-Inf, 3., 4., 5., 2.)
# Expected result is -1.79769e+308, actually got -inf
        Integer 1 (0x1)
        Double inf
        UNARY_NEG
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 2 (0x2)
        MIN, 6 arg(s)
not ok 209 - MIN(-Inf, 2., 3., 4., 5., 1.)
# Expected result is -1.79769e+308, actually got -inf
        Double inf
        UNARY_NEG
        Integer 2 (0x2)
        Integer 3 (0x3)
        Integer 4 (0x4)
        Integer 5 (0x5)
        Integer 1 (0x1)
        MIN, 6 arg(s)
ok 210 - MIN(1,2,3,4,5,6,7,8,9,10,11,12)
ok 211 - MIN(5,4,3,2,1,0,-1,-2,-3,-4,-5,-6)
ok 212 - MIN(1,-1,0)
ok 213 - MAX(MIN(0,2),MAX(0),MIN(3,2,1))
ok 214 - NINT(0.4)
ok 215 - NINT(0.6)
ok 216 - NINT(-0.4)
ok 217 - NINT(-0.6)
ok 218 - sin(0.5)
ok 219 - sinh(0.5)
ok 220 - SQR(10.)
ok 221 - sqrt(16.)
ok 222 - tan(0.5)
ok 223 - tanh(0.5)
ok 224 - ~5
ok 225 - ~~5
ok 226 - 0 != 1
ok 227 - 0 != 0
ok 228 - 1 != 0
ok 229 - 1 != 0 != 2
ok 230 - 0.0 != Inf
ok 231 - 0.0 != -Inf
ok 232 - 0.0 != NaN
ok 233 - Inf != 0.0
ok 234 - Inf != Inf
ok 235 - Inf != -Inf
not ok 236 - Inf != NaN
# Expected result is 0, actually got 1
        Double inf
        Double nan
        NOT_EQ
ok 237 - -Inf != 0.0
ok 238 - -Inf != Inf
ok 239 - -Inf != -Inf
ok 240 - -Inf != NaN
ok 241 - NaN != 0.0
not ok 242 - NaN != Inf
# Expected result is 0, actually got 1
        Double nan
        Double inf
        NOT_EQ
ok 243 - NaN != -Inf
ok 244 - NaN != NaN
ok 245 - 0 # 1
ok 246 - 0 # 0
ok 247 - 1 # 0
ok 248 - 1 # 0 # 2
ok 249 - 7 % 4
ok 250 - -7 % 4
ok 251 - 63 % 16 % 6
ok 252 - 1 % 0
ok 253 - 7 & 4
ok 254 - 0 && 0
ok 255 - 0 && 1
ok 256 - 1 && 0
ok 257 - 1 && 1
ok 258 - 2 * 2
ok 259 - 0.0 * Inf
ok 260 - 0.0 * -Inf
ok 261 - 0.0 * NaN
ok 262 - Inf * 0.0
not ok 263 - Inf * Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double inf
        MULT
not ok 264 - Inf * -Inf
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        Double inf
        UNARY_NEG
        MULT
not ok 265 - Inf * NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double nan
        MULT
ok 266 - -Inf * 0.0
not ok 267 - -Inf * Inf
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        MULT
not ok 268 - -Inf * -Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        UNARY_NEG
        MULT
not ok 269 - -Inf * NaN
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double nan
        MULT
ok 270 - NaN * 0.0
not ok 271 - NaN * Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double inf
        MULT
not ok 272 - NaN * -Inf
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double nan
        Double inf
        UNARY_NEG
        MULT
not ok 273 - NaN * NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double nan
        MULT
ok 274 - 2 ** 0.2
ok 275 - 2 ** -0.2
ok 276 - -0.2 ** 2
ok 277 - -0.2 ** -2
ok 278 - 2 ** 2 ** 3
ok 279 - 0 + 1
ok 280 - 0.0 + Inf
ok 281 - 0.0 + -Inf
ok 282 - 0.0 + NaN
ok 283 - Inf + 0.0
not ok 284 - Inf + Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double inf
        ADD
not ok 285 - Inf + -Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double inf
        UNARY_NEG
        ADD
not ok 286 - Inf + NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double nan
        ADD
ok 287 - -Inf + 0.0
not ok 288 - -Inf + Inf
# Expected result is 3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        ADD
not ok 289 - -Inf + -Inf
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        UNARY_NEG
        ADD
not ok 290 - -Inf + NaN
# Expected result is 3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double nan
        ADD
ok 291 - NaN + 0.0
not ok 292 - NaN + Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double inf
        ADD
not ok 293 - NaN + -Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double inf
        UNARY_NEG
        ADD
not ok 294 - NaN + NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double nan
        ADD
ok 295 - 0 - 1
ok 296 - 0 - 1 - 2
ok 297 - 0.0 - Inf
ok 298 - 0.0 - -Inf
ok 299 - 0.0 - NaN
ok 300 - Inf - 0.0
not ok 301 - Inf - Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double inf
        SUB
not ok 302 - Inf - -Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double inf
        UNARY_NEG
        SUB
not ok 303 - Inf - NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double inf
        Double nan
        SUB
ok 304 - -Inf - 0.0
not ok 305 - -Inf - Inf
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        SUB
not ok 306 - -Inf - -Inf
# Expected result is 3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double inf
        UNARY_NEG
        SUB
not ok 307 - -Inf - NaN
# Expected result is -3.40282e+38, actually got -1.79769e+308
        Double inf
        UNARY_NEG
        Double nan
        SUB
ok 308 - NaN - 0.0
not ok 309 - NaN - Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double inf
        SUB
not ok 310 - NaN - -Inf
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double inf
        UNARY_NEG
        SUB
not ok 311 - NaN - NaN
# Expected result is 3.40282e+38, actually got 1.79769e+308
        Double nan
        Double nan
        SUB
ok 312 - 2.0 / 3.0
ok 313 - 1.0 / 2.0 / 3.0
ok 314 - 0.0 / Inf
ok 315 - 0.0 / -Inf
ok 316 - 0.0 / NaN
ok 317 - Inf / 1.0
ok 318 - Inf / Inf
ok 319 - Inf / -Inf
ok 320 - Inf / NaN
ok 321 - -Inf / 1.0
ok 322 - -Inf / Inf
ok 323 - -Inf / -Inf
ok 324 - -Inf / NaN
ok 325 - NaN / 1.0
ok 326 - NaN / Inf
ok 327 - NaN / -Inf
ok 328 - NaN / NaN
ok 329 - 0 < 1
ok 330 - 0 < 0
ok 331 - 1 < 0
ok 332 - 2 < 0 < 2
ok 333 - 0.0 < Inf
ok 334 - 0.0 < -Inf
ok 335 - 0.0 < NaN
ok 336 - Inf < 0.0
ok 337 - Inf < Inf
ok 338 - Inf < -Inf
not ok 339 - Inf < NaN
# Expected result is 0, actually got 1
        Double inf
        Double nan
        LESS_THAN
ok 340 - -Inf < 0.0
ok 341 - -Inf < Inf
ok 342 - -Inf < -Inf
ok 343 - -Inf < NaN
ok 344 - NaN < 0.0
ok 345 - NaN < Inf
ok 346 - NaN < -Inf
ok 347 - NaN < NaN
ok 348 - 1 << 2
ok 349 - 1 << 3 << 2
ok 350 - 0 <= 1
ok 351 - 0 <= 0
ok 352 - 1 <= 0
ok 353 - 3 <= 2 <= 3
ok 354 - 0.0 <= Inf
ok 355 - 0.0 <= -Inf
ok 356 - 0.0 <= NaN
ok 357 - Inf <= 0.0
ok 358 - Inf <= Inf
ok 359 - Inf <= -Inf
ok 360 - Inf <= NaN
ok 361 - -Inf <= 0.0
ok 362 - -Inf <= Inf
ok 363 - -Inf <= -Inf
ok 364 - -Inf <= NaN
ok 365 - NaN <= 0.0
not ok 366 - NaN <= Inf
# Expected result is 1, actually got 0
        Double nan
        Double inf
        LESS_OR_EQ
ok 367 - NaN <= -Inf
ok 368 - NaN <= NaN
ok 369 - 0 = 1
ok 370 - 0 = 0
ok 371 - 1 = 0
ok 372 - 2 = 2 = 1
ok 373 - 0 == 1
ok 374 - 0 == 0
ok 375 - 1 == 0
ok 376 - 2 == 2 == 1
ok 377 - 0.0 == Inf
ok 378 - 0.0 == -Inf
ok 379 - 0.0 == NaN
ok 380 - Inf == 0.0
ok 381 - Inf == Inf
ok 382 - Inf == -Inf
not ok 383 - Inf == NaN
# Expected result is 1, actually got 0
        Double inf
        Double nan
        EQUAL
ok 384 - -Inf == 0.0
ok 385 - -Inf == Inf
ok 386 - -Inf == -Inf
ok 387 - -Inf == NaN
ok 388 - NaN == 0.0
not ok 389 - NaN == Inf
# Expected result is 1, actually got 0
        Double nan
        Double inf
        EQUAL
ok 390 - NaN == -Inf
ok 391 - NaN == NaN
ok 392 - 0 > 1
ok 393 - 0 > 0
ok 394 - 1 > 0
ok 395 - 2 > 0 > 2
ok 396 - 0.0 > Inf
ok 397 - 0.0 > -Inf
ok 398 - 0.0 > NaN
ok 399 - Inf > 0.0
ok 400 - Inf > Inf
ok 401 - Inf > -Inf
ok 402 - Inf > NaN
ok 403 - -Inf > 0.0
ok 404 - -Inf > Inf
ok 405 - -Inf > -Inf
ok 406 - -Inf > NaN
ok 407 - NaN > 0.0
not ok 408 - NaN > Inf
# Expected result is 0, actually got 1
        Double nan
        Double inf
        GR_THAN
ok 409 - NaN > -Inf
ok 410 - NaN > NaN
ok 411 - 0 >= 1
ok 412 - 0 >= 0
ok 413 - 1 >= 0
ok 414 - 3 >= 2 >= 3
ok 415 - 0.0 >= Inf
ok 416 - 0.0 >= -Inf
ok 417 - 0.0 >= NaN
ok 418 - Inf >= 0.0
ok 419 - Inf >= Inf
ok 420 - Inf >= -Inf
not ok 421 - Inf >= NaN
# Expected result is 1, actually got 0
        Double inf
        Double nan
        GR_OR_EQ
ok 422 - -Inf >= 0.0
ok 423 - -Inf >= Inf
ok 424 - -Inf >= -Inf
ok 425 - -Inf >= NaN
ok 426 - NaN >= 0.0
ok 427 - NaN >= Inf
ok 428 - NaN >= -Inf
ok 429 - NaN >= NaN
ok 430 - 8 >> 1
ok 431 - 8 >>> 1
ok 432 - 64 >> 2 >> 1
ok 433 - 64 >>> 2 >>> 1
ok 434 - 7 AND 4
ok 435 - 1 OR 8
ok 436 - 3 XOR 9
ok 437 - 2 ^ 0.2
ok 438 - 2 ^ -0.2
ok 439 - (-0.2) ^ 2
ok 440 - (-0.2) ^ -2
ok 441 - 2 ^ 2 ^ 3
ok 442 - 1 | 8
ok 443 - 0 || 0
ok 444 - 0 || 1
ok 445 - 1 || 0
ok 446 - 1 || 1
ok 447 - 0 ? 1 : 2
ok 448 - 1 ? 1 : 2
ok 449 - Inf ? 1 : 2
ok 450 - NaN ? 1 : 2
ok 451 - 0 ? 0 ? 2 : 3 : 4
ok 452 - 0 ? 1 ? 2 : 3 : 4
ok 453 - 1 ? 0 ? 2 : 3 : 4
ok 454 - 1 ? 1 ? 2 : 3 : 4
ok 455 - 0 ? 2 : 0 ? 3 : 4
ok 456 - 0 ? 2 : 1 ? 3 : 4
ok 457 - 1 ? 2 : 0 ? 3 : 4
ok 458 - 1 ? 2 : 1 ? 3 : 4
ok 459 - a := 0; a
ok 460 - b := 0; b
ok 461 - c := 0; c
ok 462 - d := 0; d
ok 463 - e := 0; e
ok 464 - f := 0; f
ok 465 - g := 0; g
ok 466 - h := 0; h
ok 467 - i := 0; i
ok 468 - j := 0; j
ok 469 - k := 0; k
ok 470 - l := 0; l
ok 471 - a; a := 0
ok 472 - b; b := 0
ok 473 - c; c := 0
ok 474 - d; d := 0
ok 475 - e; e := 0
ok 476 - f; f := 0
ok 477 - g; g := 0
ok 478 - h; h := 0
ok 479 - i; i := 0
ok 480 - j; j := 0
ok 481 - k; k := 0
ok 482 - l; l := 0
ok 483 - 0 ? 1 : 2 | 4
ok 484 - 1 ? 1 : 2 | 4
ok 485 - 0 ? 2 | 4 : 1
ok 486 - 1 ? 2 | 4 : 1
ok 487 - 0 ? 1 : 2 & 3
ok 488 - 1 ? 1 : 2 & 3
ok 489 - 0 ? 2 & 3 : 1
ok 490 - 1 ? 2 & 3 : 1
ok 491 - 0 ? 2 : 3 >= 1
ok 492 - 0 ? 3 >= 1 : 2
ok 493 - 1 ? 0 == 1 : 2
ok 494 - 1 ? 2 : 0 == 1
ok 495 - 0 ? 1 : 2 + 4
ok 496 - 1 ? 1 : 2 + 4
ok 497 - 0 ? 2 + 4 : 1
ok 498 - 1 ? 2 + 4 : 1
ok 499 - 0 ? 1 : 2 * 4
ok 500 - 1 ? 1 : 2 * 4
ok 501 - 0 ? 2 * 4 : 1
ok 502 - 1 ? 2 * 4 : 1
ok 503 - 0 ? 1 : 2 ** 3
ok 504 - 1 ? 1 : 2 ** 3
ok 505 - 0 ? 2 ** 3 : 1
ok 506 - 1 ? 2 ** 3 : 1
ok 507 - 1 | 3 XOR 1
ok 508 - 1 XOR 3 | 1
ok 509 - 3 | 1 & 2
ok 510 - 2 | 4 > 3
ok 511 - 2 OR 4 > 3
ok 512 - 2 XOR 3 >= 0
ok 513 - 2 | 1 - 3
ok 514 - 2 | 4 / 2
ok 515 - 1 | 2 ** 3
ok 516 - 3 << 2 & 10
ok 517 - 18 & 6 << 2
ok 518 - 36 >> 2 & 10
ok 519 - 36 >>> 2 & 10
ok 520 - 18 & 20 >> 2
ok 521 - 18 & 20 >>> 2
ok 522 - 3 & 4 == 4
ok 523 - 3 AND 4 == 4
ok 524 - 1 << 2 != 4
ok 525 - 16 >> 2 != 4
ok 526 - 16 >>> 2 != 4
ok 527 - 3 AND -2
ok 528 - 0 < 1 ? 2 : 3
ok 529 - 1 <= 0 ? 2 : 3
ok 530 - 0 + -1
ok 531 - 0 - -1
ok 532 - 10 + 10 * 2
ok 533 - 20 + 20 / 2
ok 534 - -1 + 1
ok 535 - -1 - 2
ok 536 - -2 ** 2
ok 537 - -2 ^ 2
ok 538 - (1 | 2) ** 3
ok 539 - 1+(1|2)**3
ok 540 - 1+(1?(1<2):(1>2))*2
ok 541 - Args for 'a'
ok 542 - Args for 'A'
ok 543 - Args for 'B'
ok 544 - Args for 'C'
ok 545 - Args for 'D'
ok 546 - Args for 'E'
ok 547 - Args for 'F'
ok 548 - Args for 'G'
ok 549 - Args for 'H'
ok 550 - Args for 'I'
ok 551 - Args for 'J'
ok 552 - Args for 'K'
ok 553 - Args for 'L'
ok 554 - Args for 'A+B+C+D+E+F+G+H+I+J+K+L'
ok 555 - Args for '0.1;A:=0'
ok 556 - Args for '1.1;B:=0'
ok 557 - Args for '2.1;C:=0'
ok 558 - Args for '3.1;D:=0'
ok 559 - Args for '4.1;E:=0'
ok 560 - Args for '5.1;F:=0'
ok 561 - Args for '6.1;G:=0'
ok 562 - Args for '7.1;H:=0'
ok 563 - Args for '8.1;I:=0'
ok 564 - Args for '9.1;J:=0'
ok 565 - Args for '10.1;K:=0'
ok 566 - Args for '11.1;L:=0'
ok 567 - Args for '12.1;A:=0;B:=A;C:=B;D:=C'
ok 568 - Args for '13.1;B:=A;A:=B;C:=D;D:=C'
ok 569 - Bad _expression_ '0x0.1'
ok 570 - Bad _expression_ '1*'
ok 571 - Bad _expression_ '*1'
ok 572 - Bad _expression_ 'MIN'
ok 573 - Bad _expression_ 'MIN()'
ok 574 - Bad _expression_ 'MIN(A,)'
ok 575 - Bad _expression_ 'MIN(A,B,)'
ok 576 - Bad _expression_ 'MAX'
ok 577 - Bad _expression_ 'MAX()'
ok 578 - Bad _expression_ 'MAX(A,)'
ok 579 - Bad _expression_ 'MAX(A,B,)'
ok 580 - Bad _expression_ '1?'
ok 581 - Bad _expression_ '1?1'
ok 582 - Bad _expression_ ':1'
ok 583 - 0xaaaaaaaa AND 0xffff0000
ok 584 - 0xaaaaaaaa OR 0xffff0000
ok 585 - 0xaaaaaaaa XOR 0xffff0000
ok 586 - ~0xaaaaaaaa
ok 587 - ~~0xaaaaaaaa
ok 588 - 0xaaaaaaaa >> 8
ok 589 - 0x55555555 >> 8
ok 590 - 0xaaaaaaaa >>> 8
ok 591 - 0x55555555 >>> 8
ok 592 - 0xaaaaaaaa << 8
ok 593 - 0x55555555 << 8
ok 594 - a:=0xaaaaaaaa; b:=0xffff0000; a AND b
ok 595 - a:=0xaaaaaaaa; b:=0xffff0000; a OR b
ok 596 - a:=0xaaaaaaaa; b:=0xffff0000; a XOR b
ok 597 - a:=0xaaaaaaaa; ~a
ok 598 - a:=0xaaaaaaaa; ~~a
ok 599 - a:=0xaaaaaaaa; a >> 8
ok 600 - a:=0xaaaaaaaa; a >>> 8
ok 601 - a:=0xaaaaaaaa; a << 8
ok 602 - a:=0x55555555; a >> 8
ok 603 - a:=0x55555555; a >>> 8
ok 604 - a:=0x55555555; a << 8
ok 605 - -1431655766.1 OR 0
ok 606 - 2863311530.1 OR 0
ok 607 - 0 OR -1431655766.1
ok 608 - 0 OR 2863311530.1
ok 609 - -1431655766.1 XOR 0
ok 610 - 2863311530.1 XOR 0
ok 611 - 0 XOR -1431655766.1
ok 612 - 0 XOR 2863311530.1
ok 613 - -1431655766.1 AND 0xffffffff
ok 614 - 2863311530.1 AND 0xffffffff
ok 615 - 0xffffffff AND -1431655766.1
ok 616 - 0xffffffff AND 2863311530.1
ok 617 - ~ -1431655766.1
ok 618 - ~ 2863311530.1
ok 619 - -1431655766.1 >> 0
ok 620 - -1431655766.1 >>> 0
ok 621 - 2863311530.1 >> 0
ok 622 - 2863311530.1 >>> 0
ok 623 - -1431655766.1 >> 0.1
ok 624 - -1431655766.1 >>> 0.1
ok 625 - 2863311530.1 >> 0.1
ok 626 - 2863311530.1 >>> 0.1
ok 627 - -1431655766.1 << 0
ok 628 - 2863311530.1 << 0
ok 629 - -1431655766.1 << 0.1
ok 630 - 2863311530.1 << 0.1

    Results
    =======
       Tests: 630
      Passed: 542 = 86.03%
      Failed:  88 = 13.97%



Viele Grüße
Heinz Junkes
--
Experience directly varies with equipment ruined.




References:
Arithmetic - test with qoriq Heinz Junkes via Core-talk

Navigate by Date:
Prev: Arithmetic - test with qoriq Heinz Junkes via Core-talk
Next: Build failed in Jenkins: EPICS-3.14 #912 Jenkins EPICS PSI via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Arithmetic - test with qoriq Heinz Junkes via Core-talk
Next: Re: Arithmetic - test with qoriq Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 15 Jan 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·