RegressionTests__IntegerTest.st
changeset 545 99ccb895860f
parent 362 c2504e878ebd
child 546 b441955005b8
equal deleted inserted replaced
544:69e6d647965f 545:99ccb895860f
   679     self testSmallIntegerArithmetic.
   679     self testSmallIntegerArithmetic.
   680     self testLiteralNumbers.
   680     self testLiteralNumbers.
   681     self testLargeAddition.
   681     self testLargeAddition.
   682     self testLargeMultiplication.
   682     self testLargeMultiplication.
   683     self testLargeDivision.
   683     self testLargeDivision.
       
   684     self testLargeBitOperations.
   684     self testIntegerShifts.
   685     self testIntegerShifts.
   685     self testEncodeDecode.
   686     self testEncodeDecode.
   686     self testIntegerMisc.
   687     self testIntegerMisc.
   687     self testInline1
   688     self testInline1
   688 
   689 
  1276     with:#(0 1 1 2 3 5 8 13)
  1277     with:#(0 1 1 2 3 5 8 13)
  1277     do:[:n :rslt |
  1278     do:[:n :rslt |
  1278         self assert:(n fib == rslt).
  1279         self assert:(n fib == rslt).
  1279     ].
  1280     ].
  1280 
  1281 
  1281     #(0 1 2 3 4 5 6 7) 
  1282 "/    #(0 1 2 3 4 5 6 7) 
  1282     with:#(0 1 1 2 3 5 8 13)
  1283 "/    with:#(0 1 1 2 3 5 8 13)
  1283     do:[:n :rslt |
  1284 "/    do:[:n :rslt |
  1284         self assert:(n fib_recursive == rslt).
  1285 "/        self assert:(n fib_recursive == rslt).
  1285     ].
  1286 "/    ].
  1286 
  1287 
  1287     sel := #fib.
  1288     sel := #fib.
  1288     self assert:((0 perform:sel) == 0).
  1289     self assert:((0 perform:sel) == 0).
  1289     self assert:((1 perform:sel) == 1).
  1290     self assert:((1 perform:sel) == 1).
  1290     self assert:((2 perform:sel) == 1).
  1291     self assert:((2 perform:sel) == 1).
  1716     "
  1717     "
  1717      self basicNew testLargeAddition3
  1718      self basicNew testLargeAddition3
  1718     "
  1719     "
  1719 
  1720 
  1720     "Modified: / 27.11.1999 / 16:41:54 / cg"
  1721     "Modified: / 27.11.1999 / 16:41:54 / cg"
       
  1722 !
       
  1723 
       
  1724 testLargeBitOperations
       
  1725     "large bit operations test."
       
  1726 
       
  1727      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFF) hexPrintString = '2211'.
       
  1728      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFF) hexPrintString  = '332211'.
       
  1729      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFF) hexPrintString = '44332211'.
       
  1730      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFF) hexPrintString = '5544332211'.
       
  1731      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFF) hexPrintString = '665544332211'.
       
  1732      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFF) hexPrintString = '77665544332211'.
       
  1733      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFFFF) hexPrintString = '8877665544332211'.
       
  1734      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFFFFFF) hexPrintString = '998877665544332211'.
       
  1735      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'AA998877665544332211'.
       
  1736      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'BBAA998877665544332211'.
       
  1737      self assert:(16rFFEEDDCCBBAA998877665544332211 bitAnd:16rFFFFFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'CCBBAA998877665544332211'.
       
  1738 
       
  1739      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFF) hexPrintString = 'FFEEDDCCBBAA99887766554433FFFF'.
       
  1740      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFF) hexPrintString  = 'FFEEDDCCBBAA998877665544FFFFFF'.
       
  1741      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFF) hexPrintString = 'FFEEDDCCBBAA9988776655FFFFFFFF'.
       
  1742      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBAA99887766FFFFFFFFFF'.
       
  1743      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBAA998877FFFFFFFFFFFF'.
       
  1744      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBAA9988FFFFFFFFFFFFFF'.
       
  1745      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBAA99FFFFFFFFFFFFFFFF'.
       
  1746      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBAAFFFFFFFFFFFFFFFFFF'.
       
  1747      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCBBFFFFFFFFFFFFFFFFFFFF'.
       
  1748      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDCCFFFFFFFFFFFFFFFFFFFFFF'.
       
  1749      self assert:(16rFFEEDDCCBBAA998877665544332211 bitOr:16rFFFFFFFFFFFFFFFFFFFFFFFF) hexPrintString = 'FFEEDDFFFFFFFFFFFFFFFFFFFFFFFF'.
       
  1750 
       
  1751     "
       
  1752      self basicNew testLargeBitOperations
       
  1753     "
       
  1754 
       
  1755     "Modified: / 4.6.1999 / 15:26:55 / cg"
  1721 !
  1756 !
  1722 
  1757 
  1723 testLargeDivision
  1758 testLargeDivision
  1724     |t v|
  1759     |t v|
  1725 
  1760