Cela faisait un petit moment que j'étais resté sans donner de nouvelles, mais je viens aujourd'hui vous présenter un projet sur lequel je planche avec un autre programmeur anglophone (Dicepd sur le forum anglais).
Vous en trouverez les sources sur mon espace github.
Il s'agit d'une bibliothèque de gestion et calcul des vecteurs 2D, 3D et 4D. Elle prend aussi en charge les matrices, quaternions, plans homogènes, "BoundingBox", etc. Il y a également une unité comprenant le calcul rapide par approximation des sinus, cosinus, arcos, atan2, etc.
Cette bibliothèque est compatible avec les environnements Linux, Windows 32 et 64 bits.
Le projet principal à compiler est fondé sur les classes "FPCUnit" de FPC et Lazarus pour faire des tests unitaires, ce qui nous permet de vérifier nos fonctions, mais aussi de faire des tests de performances pour différents formats de fichiers (csv, bbcode, html, markdown).
À l'heure actuelle, seules les versions SSE sont mises à jour. Les versions AVX le seront après nos tests définitifs (par défaut, le projet est configuré pour utiliser le jeu d'instructions SSE version 3).
Pour activer les fonctions trigonométriques "rapides", if faut ajouter dans les options personnalisées du projet la commande
Code : | Sélectionner tout |
-dUSE_FASTMATH
Si vous avez des questions, des problèmes, ou si le projet vous intéresse, alors n'hésitez pas à me joindre !