|
2 | 2 | from pyccel.decorators import pure
|
3 | 3 |
|
4 | 4 | __all__ = [
|
5 |
| - 'homogenous_tuple_int', |
6 |
| - 'homogenous_tuple_bool', |
7 |
| - 'homogenous_tuple_float', |
8 |
| - 'homogenous_tuple_string', |
9 |
| - 'homogenous_tuple_math', |
| 5 | + 'homogeneous_tuple_int', |
| 6 | + 'homogeneous_tuple_bool', |
| 7 | + 'homogeneous_tuple_float', |
| 8 | + 'homogeneous_tuple_string', |
| 9 | + 'homogeneous_tuple_math', |
| 10 | + 'homogeneous_tuple_containing_var', |
10 | 11 | 'homogeneous_tuple_of_arrays',
|
11 |
| - 'inhomogenous_tuple_1', |
12 |
| - 'inhomogenous_tuple_2', |
13 |
| - 'inhomogenous_tuple_3', |
14 |
| - 'inhomogenous_tuple_2_levels_1', |
15 |
| - 'inhomogenous_tuple_2_levels_2', |
| 12 | + 'inhomogeneous_tuple_1', |
| 13 | + 'inhomogeneous_tuple_2', |
| 14 | + 'inhomogeneous_tuple_3', |
| 15 | + 'inhomogeneous_tuple_2_levels_1', |
| 16 | + 'inhomogeneous_tuple_2_levels_2', |
16 | 17 | 'homogeneous_tuple_2_levels',
|
17 | 18 | 'tuple_unpacking_1',
|
18 | 19 | 'tuple_unpacking_2',
|
|
76 | 77 | 'tuple_different_ranks',
|
77 | 78 | ]
|
78 | 79 |
|
79 |
| -def homogenous_tuple_int(): |
| 80 | +def homogeneous_tuple_int(): |
80 | 81 | ai = (1,4,5)
|
81 |
| - return ai[0], ai[1], ai[2] |
| 82 | + i = 1 |
| 83 | + return ai[0], ai[i], ai[2] |
82 | 84 |
|
83 |
| -def homogenous_tuple_bool(): |
| 85 | +def homogeneous_tuple_bool(): |
84 | 86 | ai = (False, True)
|
85 |
| - return ai[0], ai[1] |
| 87 | + i = 1 |
| 88 | + return ai[0], ai[i] |
86 | 89 |
|
87 |
| -def homogenous_tuple_float(): |
| 90 | +def homogeneous_tuple_float(): |
88 | 91 | ai = (1.5, 4.3, 5.2, 7.2, 9.999)
|
89 |
| - return ai[0], ai[1], ai[2], ai[3], ai[4] |
| 92 | + i = 1 |
| 93 | + return ai[0], ai[i], ai[2], ai[3], ai[4] |
90 | 94 |
|
91 |
| -def homogenous_tuple_string(): |
| 95 | +def homogeneous_tuple_string(): |
92 | 96 | ai = ('hello', 'tuple', 'world', '!!')
|
93 |
| - return ai[0], ai[1], ai[2], ai[3] |
| 97 | + i = 1 |
| 98 | + return ai[0], ai[i], ai[2], ai[3] |
94 | 99 |
|
95 |
| -def homogenous_tuple_math(): |
| 100 | +def homogeneous_tuple_math(): |
96 | 101 | ai = (4+5,3*9, 2**3)
|
97 |
| - return ai[0], ai[1], ai[2] |
| 102 | + i = 1 |
| 103 | + return ai[0], ai[i], ai[2] |
98 | 104 |
|
99 |
| -def inhomogenous_tuple_1(): |
| 105 | +def homogeneous_tuple_containing_var(): |
| 106 | + elem = 4 |
| 107 | + ai = (1, elem, 5) |
| 108 | + i = 1 |
| 109 | + return ai[0], ai[i], ai[2] |
| 110 | + |
| 111 | +def inhomogeneous_tuple_1(): |
100 | 112 | ai = (0, False, 3+1j)
|
101 | 113 | return ai[0], ai[1], ai[2]
|
102 | 114 |
|
103 |
| -def inhomogenous_tuple_2(): |
| 115 | +def inhomogeneous_tuple_2(): |
104 | 116 | ai = (0, False, 3)
|
105 | 117 | return ai[0], ai[1], ai[2]
|
106 | 118 |
|
107 |
| -def inhomogenous_tuple_3(): |
| 119 | +def inhomogeneous_tuple_3(): |
108 | 120 | ai = (0, 1.0, 3)
|
109 | 121 | return ai[0], ai[1], ai[2]
|
110 | 122 |
|
111 |
| -def inhomogenous_tuple_2_levels_1(): |
| 123 | +def inhomogeneous_tuple_2_levels_1(): |
112 | 124 | # TODO [EB 15.06.21] Put back original test when strings are supported in C
|
113 | 125 | #ai = ((1,2), (4,False), (3.0, 'boo'))
|
114 | 126 | ai = ((1,2), (4,False), (3.0, True))
|
115 | 127 | return ai[0][0], ai[0][1], ai[1][0], ai[1][1], ai[2][0]
|
116 | 128 |
|
117 |
| -def inhomogenous_tuple_2_levels_2(): |
| 129 | +def inhomogeneous_tuple_2_levels_2(): |
118 | 130 | ai = ((0,1,2), (True,False,True))
|
119 | 131 | return ai[0][0], ai[0][1] ,ai[0][2], ai[1][0], ai[1][1], ai[1][2]
|
120 | 132 |
|
@@ -270,23 +282,27 @@ def tuples_inhomogeneous_copies_have_pointers():
|
270 | 282 | def tuples_mul_homogeneous():
|
271 | 283 | a = (1,2,3)
|
272 | 284 | b = a*2
|
273 |
| - return b[0], b[1], b[2], b[3], b[4], b[5] |
| 285 | + i = 1 |
| 286 | + return b[0], b[i], b[2], b[3], b[4], b[5] |
274 | 287 |
|
275 | 288 | def tuples_mul_homogeneous2():
|
276 | 289 | a = (1,2,3)
|
277 | 290 | b = 2*a
|
278 |
| - return b[0], b[1], b[2], b[3], b[4], b[5] |
| 291 | + i = 1 |
| 292 | + return b[0], b[i], b[2], b[3], b[4], b[5] |
279 | 293 |
|
280 | 294 | def tuples_mul_homogeneous3():
|
281 | 295 | a = (1,2,3)
|
282 | 296 | s = 2
|
283 | 297 | b = a*s
|
284 |
| - return b[0], b[1], b[2], b[3], b[4], b[5] |
| 298 | + i = 1 |
| 299 | + return b[0], b[i], b[2], b[3], b[4], b[5] |
285 | 300 |
|
286 | 301 | def tuples_mul_homogeneous4():
|
287 | 302 | s = 2
|
288 | 303 | b = (1,2,3)*s
|
289 |
| - return b[0], b[1], b[2], b[3], b[4], b[5] |
| 304 | + i = 1 |
| 305 | + return b[0], b[i], b[2], b[3], b[4], b[5] |
290 | 306 |
|
291 | 307 | def tuples_mul_inhomogeneous():
|
292 | 308 | a = (1,False)
|
@@ -318,23 +334,27 @@ def tuples_mul_inhomogeneous_2d():
|
318 | 334 |
|
319 | 335 | def tuples_add_homogeneous():
|
320 | 336 | a = (1,2,3) + (4,5,6)
|
321 |
| - return a[0], a[1], a[2], a[3], a[4], a[5] |
| 337 | + i = 1 |
| 338 | + return a[0], a[i], a[2], a[3], a[4], a[5] |
322 | 339 |
|
323 | 340 | def tuples_add_homogeneous_variables():
|
324 | 341 | a = (1,2,3)
|
325 | 342 | b = (4,5,6)
|
326 | 343 | c = a + b
|
327 |
| - return c[0], c[1], c[2], c[3], c[4], c[5] |
| 344 | + i = 1 |
| 345 | + return c[0], c[i], c[2], c[3], c[4], c[5] |
328 | 346 |
|
329 | 347 | def tuples_add_homogeneous_with_variables():
|
330 | 348 | a = (1,2,3)
|
331 | 349 | c = a + (4,5,6)
|
332 |
| - return c[0], c[1], c[2], c[3], c[4], c[5] |
| 350 | + i = 1 |
| 351 | + return c[0], c[i], c[2], c[3], c[4], c[5] |
333 | 352 |
|
334 | 353 | def tuples_add_homogeneous_with_variables2():
|
335 | 354 | a = (1,2,3)
|
336 | 355 | c = (4,5,6) + a
|
337 |
| - return c[0], c[1], c[2], c[3], c[4], c[5] |
| 356 | + i = 1 |
| 357 | + return c[0], c[i], c[2], c[3], c[4], c[5] |
338 | 358 |
|
339 | 359 | def tuples_add_inhomogeneous():
|
340 | 360 | a = (1,2,True) + (False,5,6)
|
@@ -374,7 +394,8 @@ def tuples_add_mixed_homogeneous_with_variables():
|
374 | 394 | def tuples_2d_sum():
|
375 | 395 | a = ((1,2), (3,4))
|
376 | 396 | b = a + ((5,6),)
|
377 |
| - return b[0][0], b[0][1], b[1][0], b[1][1], b[2][0], b[2][1] |
| 397 | + i = 1 |
| 398 | + return b[0][0], b[0][i], b[1][0], b[i][i], b[2][0], b[2][1] |
378 | 399 |
|
379 | 400 | def tuples_func():
|
380 | 401 | def my_tup():
|
@@ -410,23 +431,28 @@ def tuple_index():
|
410 | 431 |
|
411 | 432 | def tuple_homogeneous_int():
|
412 | 433 | a = tuple((1, 2, 3))
|
413 |
| - return a[0], a[1], a[2], len(a) |
| 434 | + i = 1 |
| 435 | + return a[0], a[i], a[2], len(a) |
414 | 436 |
|
415 | 437 | def tuple_homogeneous_bool():
|
416 | 438 | a = tuple((False, True))
|
417 |
| - return a[0], a[1], len(a) |
| 439 | + i = 1 |
| 440 | + return a[0], a[i], len(a) |
418 | 441 |
|
419 | 442 | def tuple_homogeneous_float():
|
420 | 443 | a = tuple((1.5, 4.3, 5.2, 7.2, 9.999))
|
421 |
| - return a[0], a[1], a[2], a[3], a[4], len(a) |
| 444 | + i = 1 |
| 445 | + return a[0], a[i], a[2], a[3], a[4], len(a) |
422 | 446 |
|
423 | 447 | def tuple_homogeneous_string():
|
424 | 448 | a = tuple(('hello', 'tuple', 'world', '!!'))
|
425 |
| - return a[0], a[1], a[2], a[3], len(a) |
| 449 | + i = 1 |
| 450 | + return a[0], a[i], a[2], a[3], len(a) |
426 | 451 |
|
427 | 452 | def tuple_homogeneous_math():
|
428 | 453 | a = tuple((4 + 5, 3 * 9, 2 ** 3))
|
429 |
| - return a[0], a[1], a[2], len(a) |
| 454 | + i = 1 |
| 455 | + return a[0], a[i], a[2], len(a) |
430 | 456 |
|
431 | 457 | def tuple_inhomogeneous_1():
|
432 | 458 | a = tuple((0, False, 3 + 1j))
|
|
0 commit comments