RegressionTests__SmallIntegerTest.st
changeset 2144 6ae2075f4d5b
parent 2111 76819317c155
child 2326 5c21d3f32845
equal deleted inserted replaced
2143:001d5721b6ec 2144:6ae2075f4d5b
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "{ Package: 'stx:goodies/regression' }"
     1 "{ Package: 'stx:goodies/regression' }"
     4 
     2 
     5 "{ NameSpace: RegressionTests }"
     3 "{ NameSpace: RegressionTests }"
     6 
     4 
     7 TestCase subclass:#SmallIntegerTest
     5 TestCase subclass:#SmallIntegerTest
   177      ].
   175      ].
   178 
   176 
   179     "Created: / 20-03-2019 / 12:43:06 / Claus Gittinger"
   177     "Created: / 20-03-2019 / 12:43:06 / Claus Gittinger"
   180 !
   178 !
   181 
   179 
       
   180 testBitReversed
       
   181     #( 
       
   182         2r10000000 2r00000001
       
   183         2r01000000 2r00000010
       
   184         2r00100000 2r00000100
       
   185         2r00010000 2r00001000
       
   186         2r00001000 2r00010000
       
   187         2r00000100 2r00100000
       
   188         2r00000010 2r01000000
       
   189         2r00000001 2r10000000
       
   190 
       
   191         "/ high bits are to be ignored (i.e. clear) 
       
   192         2r100000001 2r10000000
       
   193         2r110000000 2r00000001
       
   194     )
       
   195     pairWiseDo:[:in :expected |
       
   196         self assert:(in bitReversed8 == expected)
       
   197     ].
       
   198 
       
   199     #( 
       
   200         2r1000000000000000 2r0000000000000001
       
   201         2r0100000000000000 2r0000000000000010
       
   202         2r0010000000000000 2r0000000000000100
       
   203         2r0001000000000000 2r0000000000001000
       
   204         2r0000100000000000 2r0000000000010000
       
   205         2r0000010000000000 2r0000000000100000
       
   206         2r0000001000000000 2r0000000001000000
       
   207         2r0000000100000000 2r0000000010000000
       
   208 
       
   209         2r0000000010000000 2r0000000100000000
       
   210         2r0000000001000000 2r0000001000000000
       
   211         2r0000000000100000 2r0000010000000000
       
   212         2r0000000000010000 2r0000100000000000
       
   213         2r0000000000001000 2r0001000000000000
       
   214         2r0000000000000100 2r0010000000000000
       
   215         2r0000000000000010 2r0100000000000000
       
   216         2r0000000000000001 2r1000000000000000
       
   217 
       
   218         "/ high bits are to be ignored (i.e. clear) 
       
   219         2r10000000000000001 2r1000000000000000
       
   220         2r11000000000000000 2r0000000000000001
       
   221     )
       
   222     pairWiseDo:[:in :expected |
       
   223         self assert:(in bitReversed16 == expected)
       
   224     ].
       
   225 
       
   226     #( 
       
   227         2r10000000000000000000000000000000 2r00000000000000000000000000000001
       
   228         2r01000000000000000000000000000000 2r00000000000000000000000000000010
       
   229         2r00100000000000000000000000000000 2r00000000000000000000000000000100
       
   230         2r00010000000000000000000000000000 2r00000000000000000000000000001000
       
   231         2r00001000000000000000000000000000 2r00000000000000000000000000010000
       
   232         2r00000100000000000000000000000000 2r00000000000000000000000000100000
       
   233         2r00000010000000000000000000000000 2r00000000000000000000000001000000
       
   234         2r00000001000000000000000000000000 2r00000000000000000000000010000000
       
   235 
       
   236         2r00000000100000000000000000000000 2r00000000000000000000000100000000
       
   237         2r00000000010000000000000000000000 2r00000000000000000000001000000000
       
   238         2r00000000001000000000000000000000 2r00000000000000000000010000000000
       
   239         2r00000000000100000000000000000000 2r00000000000000000000100000000000
       
   240         2r00000000000010000000000000000000 2r00000000000000000001000000000000
       
   241         2r00000000000001000000000000000000 2r00000000000000000010000000000000
       
   242         2r00000000000000100000000000000000 2r00000000000000000100000000000000
       
   243         2r00000000000000010000000000000000 2r00000000000000001000000000000000
       
   244 
       
   245         2r00000000000000001000000000000000 2r00000000000000010000000000000000
       
   246         2r00000000000000000100000000000000 2r00000000000000100000000000000000
       
   247         2r00000000000000000010000000000000 2r00000000000001000000000000000000
       
   248         2r00000000000000000001000000000000 2r00000000000010000000000000000000
       
   249         2r00000000000000000000100000000000 2r00000000000100000000000000000000
       
   250         2r00000000000000000000010000000000 2r00000000001000000000000000000000
       
   251         2r00000000000000000000001000000000 2r00000000010000000000000000000000
       
   252         2r00000000000000000000000100000000 2r00000000100000000000000000000000
       
   253 
       
   254         2r00000000000000000000000010000000 2r00000001000000000000000000000000
       
   255         2r00000000000000000000000001000000 2r00000010000000000000000000000000
       
   256         2r00000000000000000000000000100000 2r00000100000000000000000000000000
       
   257         2r00000000000000000000000000010000 2r00001000000000000000000000000000
       
   258         2r00000000000000000000000000001000 2r00010000000000000000000000000000
       
   259         2r00000000000000000000000000000100 2r00100000000000000000000000000000
       
   260         2r00000000000000000000000000000010 2r01000000000000000000000000000000
       
   261         2r00000000000000000000000000000001 2r10000000000000000000000000000000
       
   262         
       
   263         "/ high bits are to be ignored (i.e. clear) 
       
   264         2r100000000000000000000000000000001 2r10000000000000000000000000000000
       
   265         2r110000000000000000000000000000000 2r00000000000000000000000000000001
       
   266     )
       
   267     pairWiseDo:[:in :expected |
       
   268         self assert:(in bitReversed32 = expected)
       
   269     ].
       
   270 
       
   271     "Created: / 24-03-2019 / 13:13:28 / Claus Gittinger"
       
   272 !
       
   273 
   182 testBitShift
   274 testBitShift
   183     #(
   275     #(
   184 	(1 1 2)
   276 	(1 1 2)
   185 	(1 2 4)
   277 	(1 2 4)
   186 	(1 3 8)
   278 	(1 3 8)