- un petit fichier assez simple par commande scalaire qui fait le lien avec une fonction de la librairies standard C(++) lorsque les arguments sont réels, et du code propre dans le cas complexe. Pour une raison qui m'échappe, les auteurs n'ont pas souhaité utiliser la classe <complex> de la librairie standard c++. La puissance a^b de 2 nombres complexes n'est pas geree.
- quelques fichiers implémentant des fonctions qui ne font pas partie de la librairie standard C: notamment les fonctions sur les matrices (transposée, trace, det, inverse), l'intégration et la dérivation numérique, et des fonctions d'arithmétique (pgcd, ppcm) et des fonctions de proba.
- Le déterminant et l'inverse sont calculées par le pivot partiel de Gauss, mais sans utiliser la factorisation LU, ils sont donc un peu sous-optimaux mais sans conséquences pour une calculatrice de ce type. Il n'y a pas d'implémentation dans le cas complexe.
- L'intégration est OK, elle utilise une méthode adaptative basée sur des quadratures de Gauss. Mais il n'est pas possible de calculer une intégrale double puisque la variable d'intégration n'est pas spécifiée. La dérivation numérique se fait par des différences finies, ok aussi.
- Le pgcd et le ppcm sont codés assez naïvement : l'implémentation force un transtypage en int, ce qui limite a des arguments inferieurs a 2^31 (alors que les entiers sont représentables exactement par des flottants jusqu'à 2^53), il y a un test de comparaison entre les arguments qui est inutile, et les auteurs ne semblent pas connaître l'opérateur %
- L'implémentation de binomial n'est pas non plus optimale, par exemplebinomial(10^9,10^9-10)
est un peu long (bon je pinaille ... mais tout de même).
- Les fonctions de proba inverses sont implémentées uniquement pour un risque de 5% et pour la loi normale, en appliquant la formule avec 1.96, (il n'y a pas d'implémentation de fonctions spéciales). - un fichier qui me semble orphelin, tentative naive d'implénentation d'entiers multi-precisions.
Tout ca ne me donne pas une tres bonne impression, c'est peut-être un biais de matheux.