Cython has moved to github.
cython
view tests/run/switch.pyx @ 1380:04e83ffd8ea2
conservative fix for empty switch statements
| author | Stefan Behnel <scoder@users.berlios.de> |
|---|---|
| date | Fri Nov 07 06:55:37 2008 +0100 (3 years ago) |
| parents | fcfcfe4a4cf9 |
| children | a9d5cb7c0cbb |
line source
1 __doc__ = u"""
2 >>> switch_simple_py(1)
3 1
4 >>> switch_simple_py(2)
5 2
6 >>> switch_simple_py(3)
7 3
8 >>> switch_simple_py(4)
9 8
10 >>> switch_simple_py(5)
11 0
13 >>> switch_py(1)
14 1
15 >>> switch_py(2)
16 2
17 >>> switch_py(3)
18 3
19 >>> switch_py(4)
20 4
21 >>> switch_py(5)
22 4
23 >>> switch_py(6)
24 0
25 >>> switch_py(8)
26 4
27 >>> switch_py(10)
28 10
29 >>> switch_py(12)
30 12
31 >>> switch_py(13)
32 0
34 >>> switch_simple_c(1)
35 1
36 >>> switch_simple_c(2)
37 2
38 >>> switch_simple_c(3)
39 3
40 >>> switch_simple_c(4)
41 8
42 >>> switch_simple_c(5)
43 0
45 >>> switch_c(1)
46 1
47 >>> switch_c(2)
48 2
49 >>> switch_c(3)
50 3
51 >>> switch_c(4)
52 4
53 >>> switch_c(5)
54 4
55 >>> switch_c(6)
56 0
57 >>> switch_c(8)
58 4
59 >>> switch_c(10)
60 10
61 >>> switch_c(12)
62 12
63 >>> switch_c(13)
64 0
66 >>> switch_or(0)
67 0
68 >>> switch_or(1)
69 1
70 >>> switch_or(2)
71 1
72 >>> switch_or(3)
73 1
74 >>> switch_or(4)
75 0
77 >>> switch_short(0)
78 0
79 >>> switch_short(1)
80 1
81 >>> switch_short(2)
82 2
83 >>> switch_short(3)
84 0
86 >>> switch_off(0)
87 0
88 >>> switch_off(1)
89 1
90 >>> switch_off(2)
91 0
93 >>> switch_pass(1)
94 1
95 """
97 def switch_simple_py(x):
98 if x == 1:
99 return 1
100 elif 2 == x:
101 return 2
102 elif x in [3]:
103 return 3
104 elif x in (4,):
105 return 8
106 else:
107 return 0
108 return -1
110 def switch_py(x):
111 if x == 1:
112 return 1
113 elif 2 == x:
114 return 2
115 elif x in [3]:
116 return 3
117 elif x in [4,5,7,8]:
118 return 4
119 elif x in (10,11):
120 return 10
121 elif x in (12,):
122 return 12
123 else:
124 return 0
125 return -1
127 def switch_simple_c(int x):
128 if x == 1:
129 return 1
130 elif 2 == x:
131 return 2
132 elif x in [3]:
133 return 3
134 elif x in (4,):
135 return 8
136 else:
137 return 0
138 return -1
140 def switch_c(int x):
141 if x == 1:
142 return 1
143 elif 2 == x:
144 return 2
145 elif x in [3]:
146 return 3
147 elif x in [4,5,7,8]:
148 return 4
149 elif x in (10,11):
150 return 10
151 elif x in (12,):
152 return 12
153 else:
154 return 0
155 return -1
157 def switch_or(int x):
158 if x == 1 or x == 2 or x == 3:
159 return 1
160 else:
161 return 0
162 return -1
164 def switch_short(int x):
165 if x == 1:
166 return 1
167 elif 2 == x:
168 return 2
169 else:
170 return 0
171 return -1
173 def switch_off(int x):
174 if x == 1:
175 return 1
176 else:
177 return 0
178 return -1
180 def switch_pass(int x):
181 if x == 1:
182 pass
183 elif x == 2:
184 pass
185 else:
186 pass
187 return x
