Je travaille avec la cryptographie et je dois utiliser des nombres vraiment importants. J'utilise également la nouvelle instruction Intel pour la multiplication automatique qui requiert le type de données m128i, ce qui est fait en le chargeant d'une fonction qui prend en compte les données à virgule flottante.type de données personnalisé dans C
Je dois stocker 2^1223 entier, puis le mettre en carré et stocker cette valeur. Je sais que je peux utiliser la bibliothèque GMP mais je pense qu'il serait plus rapide de créer deux types de données qui stockent des valeurs comme 2^1224 et 2^2448. Il y aura moins de frais généraux. Je vais utiliser karatsuba pour multiplier les nombres, donc la seule opération que j'ai besoin d'effectuer sur le type de données est l'addition car je vais décomposer le nombre pour qu'il corresponde à m128i.
Est-ce que quelqu'un peut me diriger dans la direction vers le matériel qui peut m'aider à créer la taille de l'entier dont j'ai besoin.
Pensez-vous que le code que vous avez roulé sera plus rapide que le code qui a déjà été hautement optimisé (et débogué!)? (Bien que, si vous faites cela par intérêt, continuez comme vous étiez :)) – huon