4 resultados para Compact Upwind Scheme

em Université de Montréal, Canada


Relevância:

80.00% 80.00%

Publicador:

Resumo:

Réalisé en majeure partie sous la tutelle de feu le Professeur Paul Arminjon. Après sa disparition, le Docteur Aziz Madrane a pris la relève de la direction de mes travaux.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Ce mémoire vise à recenser les avantages et les inconvénients de l'utilisation du langage de programmation fonctionnel dynamique Scheme pour le développement de jeux vidéo. Pour ce faire, la méthode utilisée est d'abord basée sur une approche plus théorique. En effet, une étude des besoins au niveau de la programmation exprimés par ce type de développement, ainsi qu'une description détaillant les fonctionnalités du langage Scheme pertinentes au développement de jeux vidéo sont données afin de bien mettre en contexte le sujet. Par la suite, une approche pratique est utilisée en effectuant le développement de deux jeux vidéo de complexités croissantes: Space Invaders et Lode Runner. Le développement de ces jeux vidéo a mené à l'extension du langage Scheme par plusieurs langages spécifiques au domaine et bibliothèques, dont notamment un système de programmation orienté objets et un système de coroutines. L'expérience acquise par le développement de ces jeux est finalement comparée à celle d'autres développeurs de jeux vidéo de l'industrie qui ont utilisé Scheme pour la création de titres commerciaux. En résumé, l'utilisation de ce langage a permis d'atteindre un haut niveau d'abstraction favorisant la modularité des jeux développés sans affecter les performances de ces derniers.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Plusieurs familles de fonctions spéciales de plusieurs variables, appelées fonctions d'orbites, sont définies dans le contexte des groupes de Weyl de groupes de Lie simples compacts/d'algèbres de Lie simples. Ces fonctions sont étudiées depuis près d'un siècle en raison de leur lien avec les caractères des représentations irréductibles des algèbres de Lie simples, mais également de par leurs symétries et orthogonalités. Nous sommes principalement intéressés par la description des relations d'orthogonalité discrète et des transformations discrètes correspondantes, transformations qui permettent l'utilisation des fonctions d'orbites dans le traitement de données multidimensionnelles. Cette description est donnée pour les groupes de Weyl dont les racines ont deux longueurs différentes, en particulier pour les groupes de rang $2$ dans le cas des fonctions d'orbites du type $E$ et pour les groupes de rang $3$ dans le cas de toutes les autres fonctions d'orbites.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dans le but d’optimiser la représentation en mémoire des enregistrements Scheme dans le compilateur Gambit, nous avons introduit dans celui-ci un système d’annotations de type et des vecteurs contenant une représentation abrégée des enregistrements. Ces derniers omettent la référence vers le descripteur de type et l’entête habituellement présents sur chaque enregistrement et utilisent plutôt un arbre de typage couvrant toute la mémoire pour retrouver le vecteur contenant une référence. L’implémentation de ces nouvelles fonctionnalités se fait par le biais de changements au runtime de Gambit. Nous introduisons de nouvelles primitives au langage et modifions l’architecture existante pour gérer correctement les nouveaux types de données. On doit modifier le garbage collector pour prendre en compte des enregistrements contenants des valeurs hétérogènes à alignements irréguliers, et l’existence de références contenues dans d’autres objets. La gestion de l’arbre de typage doit aussi être faite automatiquement. Nous conduisons ensuite une série de tests de performance visant à déterminer si des gains sont possibles avec ces nouvelles primitives. On constate une amélioration majeure de performance au niveau de l’allocation et du comportement du gc pour les enregistrements typés de grande taille et des vecteurs d’enregistrements typés ou non. De légers surcoûts sont toutefois encourus lors des accès aux champs et, dans le cas des vecteurs d’enregistrements, au descripteur de type.