Question

Je cherche une implémentation de référence des opérations IEEE-754. Y at-il une telle chose?

Était-ce utile?

La solution

Je crois que les bibliothèques C SoftFloat et glibc ) ou * BSD de libc de fonctions mathématiques . Enfin, CRlibm devrait également vous intéresser.

Ulrich Drepper a un href="http://people.redhat.com/drepper/libm/" intéressant regarder différentes bibliothèques de mathématiques , qui pourrait être également intéressant de lire à travers.

Autres conseils

Je dois vous décevoir. Il n'y a pratiquement aucun

Bien que techniquement il y a IEEE-754 systèmes conformes, car ils pas implémenter des fonctionnalités non nécessaires décrites dans la norme, une référence la mise en œuvre permettant

  • l'accès à tous les modes d'arrondissement
  • support NaN de signalisation
  • piégeage de soutien de tous les cinq pièges

n'existe pas dans les langues standard. Cela provoque maux récurrents de William Kahan, la principale force derrière la norme et son adaptation sur les processeurs Intel.

Je ne sais pas s'il y a des langues ésotériques qui font les soutenir, mais je ne peux exclure Java, C #, C ++, Fortran.

EDIT: Bien qu'il y ait un manque de soutien du compilateur, je conseille Hausers SoftFloat la mise en œuvre donnée par mctylr. Hauser sait ce qu'il fait.

http: //portal.acm. org / citation.cfm? id = 227699.227701 & coll = portail et dl = ACM & CFID = 77938829 & CFTOKEN = 18578907

Une question assez confuse; en C ++ on suppose ce genre de détail est pris en charge par le matériel ou le compilateur. Ainsi, en C ++ plus en virgule flottante serait

float a = 1.0;
float b = 2.0;
float c = a + b;

Je suis sûr que ce n'est pas ce que vous vouliez dire en fait; Peut-être vous bénéficiez de cette page qui tente d'imiter IEEE-754 compatible matériel en javascript?

un travail autour de vous pourriez python. Python a une fonction qui permet de convertir point de float précision HEX bits IEEE-754 32/64

   import struct
   struct.unpack('!f', '41973333'.decode('hex'))[0]

Vous pouvez vous écrire l'application en Python ou tout simplement créer une fonction de python et l'appeler en C / C ++

Je ne suis pas sûr comment appeler python C / C ++, mais il est possible. Appel de fonctions Python de C ++

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top