t148.py

00001 #
00002 # PyMite - A flyweight Python interpreter for 8-bit and larger microcontrollers.
00003 # Copyright 2002 Dean Hall.  All rights reserved.
00004 # PyMite is offered through one of two licenses: commercial or open-source.
00005 # See the LICENSE file at the root of this package for licensing details.
00006 #
00007 
00008 #
00009 # System Test 148
00010 # Create configurable Float datatype
00011 #
00012 
00013 print "0.0 + 3.0 == ", 0.0 + 3.0
00014 assert 0.0 + 3.0 == 3.0
00015 assert 1.0 + 3.0 == 4.0
00016 assert 3.0 + 1.0 == 4.0
00017 
00018 print "0.0 - 3.0 == ", 0.0 - 3.0
00019 assert 0.0 - 3.0 == -3.0
00020 assert 1.0 - 3.0 == -2.0
00021 assert 3.0 - 1.0 == 2.0
00022 
00023 print "0.0 * 3.0 == ", 0.0 * 3.0
00024 assert 0.0 * 3.0 == 0.0
00025 assert 1.0 * 3.0 == 3.0
00026 assert 3.0 * 1.0 == 3.0
00027 
00028 print "0.0 / 3.0 == ", 0.0 / 3.0
00029 assert 0.0 / 3.0 == 0.0
00030 assert 3.0 / 1.0 == 3.0
00031 assert 3.0 / 3.0 == 1.0
00032 assert 256.0 / 16.0 == 16.0
00033 
00034 print "0.0 % 3.0 == ", 0.0 % 3.0
00035 assert 0.0 % 3.0 == 0.0
00036 assert 3.0 % 1.0 == 0.0
00037 assert 3.0 % 3.0 == 0.0
00038 assert 256.0 % 16.0 == 0.0
00039 
00040 print "3.0 ** 3.0 == ", 3.0 ** 3.0
00041 assert 2.0 ** 8.0 == 256.0
00042 assert 3.0 ** 0.0 == 1.0
00043 assert 3.0 ** -0.0 == 1.0
00044 assert 3.0 ** 1.0 == 3.0
00045 assert 1.0 ** 3.0 == 1.0
00046 assert 2.0 ** -1.0 == 0.5
00047 
00048 print "0.0 and 3.0 == ", 0.0 and 3.0
00049 assert (0.0 and 3.0) == 0.0
00050 assert (3.0 and 0.0) == 0.0
00051 assert (3.0 and 5.0) == 5.0
00052 assert (5.0 and 3.0) == 3.0
00053 
00054 print "0.0 or 3.0 == ", 0.0 or 3.0
00055 assert (0.0 or 3.0) == 3.0
00056 assert (3.0 or 0.0) == 3.0
00057 assert (3.0 or 5.0) == 3.0
00058 assert (5.0 or 3.0) == 5.0
00059 
00060 print "not 1.0 == ", not 1.0
00061 assert (not -1.0) == False
00062 assert (not 1.0) == False
00063 assert (not 0.0) == True
00064 assert 0.0 == False
00065 assert -0.0 == False
00066 assert 1.0 == True
00067 assert 3.0 == True
00068 
00069 pi = 3.141592654
00070 print "pi < 3.0 == ", pi < 3.0
00071 assert (pi < 3.0) == False
00072 assert (pi <= 3.0) == False
00073 assert (pi == 3.0) == False
00074 assert (pi != 3.0) == True
00075 assert (pi > 3.0) == True
00076 assert (pi >= 3.0) == True
00077 assert (3.0 is 3.0) == True
00078 assert (3.0 is 1.0) == False
00079 assert (1.0 is not 3.0) == True
00080 assert (1.0 is not 1.0) == False
00081 
00082 print
00083 print "Mixing number types"
00084 print
00085 print "3.0 + 3 == ", 3.0 + 3
00086 assert (3.0 + 3) == 6.0
00087 assert (3 + 3.0) == 6.0
00088 
00089 print "3.0 - 3 == ", 3.0 - 3
00090 assert (3.0 - 3) == 0.0
00091 assert (3 - 3.0) == 0.0
00092 
00093 print "3.0 * 3 == ", 3.0 * 3
00094 assert (3.0 * 3) == 9.0
00095 assert (3 * 3.0) == 9.0
00096 
00097 print "3.0 / 3 == ", 3.0 / 3
00098 assert (3.0 / 3) == 1.0
00099 assert (3 / 3.0) == 1.0
00100 
00101 print "3.0 % 3 == ", 3.0 % 3
00102 assert (3.0 % 3) == 0.0
00103 assert (3 % 3.0) == 0.0
00104 
00105 print "3.0 ** 3 == ", 3.0 ** 3
00106 assert (3.0 ** 3) == 27.0
00107 assert (3 ** 3.0) == 27.0
00108 
00109 assert (3 < 3.0) == False
00110 assert (3 <= 3.0) == True
00111 assert (3 == 3.0) == True
00112 assert (3 != 3.0) == False
00113 assert (3 > 3.0) == False
00114 assert (3 >= 3.0) == True
00115 assert (3 is 3.0) == False
00116 assert (3 is not 3.0) == True
00117 
00118 assert 3.0 / 0.0 == 999.0 # Expect ZeroDivisionError (0xE3)
00119 #assert 3.0 % 0.0 == 999.0 # Expect ZeroDivisionError (0xE3)

Generated on Mon Oct 18 07:40:47 2010 for Python-on-a-chip by  doxygen 1.5.9