Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:robo

This is an old revision of the document!


Commit

Portabilité

Le code ne compilait plus sous macOS et sous Windows-x86 (MinGW). Ces deux types de compilation ne sont pas testées dans la procédure de batterie et il faut donc régulièrement corriger les sources d'incompatibilité.

Sous macOS, le problème venait des nouveaux templates de Gaetan permettant d'effectuer une intégration (AdaptiveClenshawCurtisIntegratorTemplate et classes associées). Il y avait plusieurs problèmes dans ces fichiers liés à l'instanciation explicite de certaines instances. J'ai mid le code sous la forme de celui qui compile sans problème mais malgré ça, j'ai dû définir certaines fonctions “inline” pour que clang les retrouve. Je n'ai pas tout compris.

Ceci m'amène à conclure qu'il faut vraiment essayer de limiter l'utilisation des templates au minimum dans Metafor. C'est une vraie source de problème. Le problème des templates Metafor est qu'il s'agit de templates un peu pourris dont une grande partie des fonctions doit être spécialisée pour un argument donné. Autrement dit, le template n'est valable que pour un nombre très restreint de paramètres et en ajouter un nouveau nécessite la réimplémentation de plusieurs fonctions.

Ne faites donc pas de nouveaux templates pour le plaisir d'en faire;

commit/futur/robo.1504699035.txt.gz · Last modified: 2017/09/06 13:57 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki