Pour ce dernier exemple, on va voir le potentiel des déplacements par direction.
Voici le résultat :
| Ex6 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Somme |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
| 3 | 1 | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 |
| 4 | 1 | 4 | 6 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 16 |
| 5 | 1 | 5 | 10 | 10 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 32 |
| 6 | 1 | 6 | 15 | 20 | 15 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 64 |
| 7 | 1 | 7 | 21 | 35 | 35 | 21 | 7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
| 8 | 1 | 8 | 28 | 56 | 70 | 56 | 28 | 8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 256 |
| 9 | 1 | 9 | 36 | 84 | 126 | 126 | 84 | 36 | 9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 512 |
| 10 | 1 | 10 | 45 | 120 | 210 | 252 | 210 | 120 | 45 | 10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1024 |
| 11 | 1 | 11 | 55 | 165 | 330 | 462 | 462 | 330 | 165 | 55 | 11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2048 |
| 12 | 1 | 12 | 66 | 220 | 495 | 792 | 924 | 792 | 495 | 220 | 66 | 12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4096 |
| 13 | 1 | 13 | 78 | 286 | 715 | 1287 | 1716 | 1716 | 1287 | 715 | 286 | 78 | 13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 8192 |
| 14 | 1 | 14 | 91 | 364 | 1001 | 2002 | 3003 | 3432 | 3003 | 2002 | 1001 | 364 | 91 | 14 | 1 | 0 | 0 | 0 | 0 | 0 | 16384 |
| 15 | 1 | 15 | 105 | 455 | 1365 | 3003 | 5005 | 6435 | 6435 | 5005 | 3003 | 1365 | 455 | 105 | 15 | 1 | 0 | 0 | 0 | 0 | 32768 |
| 16 | 1 | 16 | 120 | 560 | 1820 | 4368 | 8008 | 11440 | 12870 | 11440 | 8008 | 4368 | 1820 | 560 | 120 | 16 | 1 | 0 | 0 | 0 | 65536 |
| 17 | 1 | 17 | 136 | 680 | 2380 | 6188 | 12376 | 19448 | 24310 | 24310 | 19448 | 12376 | 6188 | 2380 | 680 | 136 | 17 | 1 | 0 | 0 | 131072 |
| 18 | 1 | 18 | 153 | 816 | 3060 | 8568 | 18564 | 31824 | 43758 | 48620 | 43758 | 31824 | 18564 | 8568 | 3060 | 816 | 153 | 18 | 1 | 0 | 262144 |
| 19 | 1 | 19 | 171 | 969 | 3876 | 11628 | 27132 | 50388 | 75582 | 92378 | 92378 | 75582 | 50388 | 27132 | 11628 | 3876 | 969 | 171 | 19 | 1 | 524288 |
Voyons le point d'entrée start-init :
SimpleTableOutputExample6Module.cc
Dans ce point d'entrée, on ajoute des lignes et des colonnes ayant comme nom un nombre de 0 à nombre d'itérations.
On pense aussi à mettre la valeur "1" dans la case [0,0].
Voyons le point d'entrée compute-loop :
SimpleTableOutputExample6Module.cc
Ici, on joue avec le déplacement du pointeur. Normalement, la mise à jour du pointeur s'effectue uniquement lors d'une écriture, pas lors d'une lecture.
Dans cet exemple, on inverse les choses.
Enfin, voyons le point d'entrée exit :
SimpleTableOutputExample6Module.cc
Même point d'entrée que précédemment.