« NombresArithmétiqueAlgèbre » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Ligne 9 : Ligne 9 :
** J'ai regardé un peu comment faire en C++. Malheureusement, les "template typedef" n'existe pas (encore) apparemment. Bref, j'ai l'impression que, même en spécialisant les template, on remplacerait partout ainsi les "int" par des struct {int i}. De mémoire, ça change pas mal la vitesse d'exécution. Connaissez-vous une autre technique plus sioux ? --[[Utilisateur:Lachaud|Lachaud]] 29 juin 2009 à 22:26 (CEST)
** J'ai regardé un peu comment faire en C++. Malheureusement, les "template typedef" n'existe pas (encore) apparemment. Bref, j'ai l'impression que, même en spécialisant les template, on remplacerait partout ainsi les "int" par des struct {int i}. De mémoire, ça change pas mal la vitesse d'exécution. Connaissez-vous une autre technique plus sioux ? --[[Utilisateur:Lachaud|Lachaud]] 29 juin 2009 à 22:26 (CEST)
** Bon, on peut aussi tout "templatiser" ainsi [[ExempleTemplateInteger]] Qu'en pensez-vous ? --[[Utilisateur:Lachaud|Lachaud]] 30 juin 2009 à 18:12 (CEST)
** Bon, on peut aussi tout "templatiser" ainsi [[ExempleTemplateInteger]] Qu'en pensez-vous ? --[[Utilisateur:Lachaud|Lachaud]] 30 juin 2009 à 18:12 (CEST)
** Cela me fait bizarre de templater des fonctions qui ne sont pas methodes de classe... Et si Integer etait tout simplement une classe virtuelle (dont dériverait MyGMPIntWrapper ou Myint32Wrapper ? --[[Utilisateur:Dcoeurjo|dcoeurjo]] 1 juillet 2009 à 09:03 (CEST)


* Arithmétique
* Arithmétique

Version du 1 juillet 2009 à 07:03

Description package

Boite à outils mathématique (arithmétique, algèbre, optim,...).

Wishlist

  • Template nombres entiers
    • avec une interface qui pourrait être compatible avec gmp (à l'instanciation, on aurait le choix entre les int, long int ou gmp_int)
    • J'ai regardé un peu comment faire en C++. Malheureusement, les "template typedef" n'existe pas (encore) apparemment. Bref, j'ai l'impression que, même en spécialisant les template, on remplacerait partout ainsi les "int" par des struct {int i}. De mémoire, ça change pas mal la vitesse d'exécution. Connaissez-vous une autre technique plus sioux ? --Lachaud 29 juin 2009 à 22:26 (CEST)
    • Bon, on peut aussi tout "templatiser" ainsi ExempleTemplateInteger Qu'en pensez-vous ? --Lachaud 30 juin 2009 à 18:12 (CEST)
    • Cela me fait bizarre de templater des fonctions qui ne sont pas methodes de classe... Et si Integer etait tout simplement une classe virtuelle (dont dériverait MyGMPIntWrapper ou Myint32Wrapper ? --dcoeurjo 1 juillet 2009 à 09:03 (CEST)
  • Arithmétique
    • pgcd, euclide généralisé, blankinship,...
  • Algèbre linéaire
    • Matrices
  • Classe de Polynômes
    • (besoins?)
  • Programmation linéaire
    • (voir si on créé une dépendance avec des choses existantes, en fonction de l'étendu des besoins)

Trucs existants

  • Dépendance avec Boost pour les aspects algèbre linéaire ?
  • Dépendance/Compatibilité avec GMP pour les nombres ?
    • Dans GMP, il me semble qu'il cache 4 représentations différentes suivant leur taille. Connaissez-vous des benchmarks sur les temps de calcul avec des petits entiers sur gmp ? Est-il compétitif avec un struct {int i } ? Il y a aussi une surcouche objet. --Lachaud 29 juin 2009 à 22:29 (CEST)