Quad Precision in C ... oder C-Code mit C++ kompilieren
-
Hallo,
ich brauche quad precision für ein c-programm, das jetzt mit double precision arbeitet, aber so weit ich weiß gilt für alle zusatzprogramme, dass man jede gleichung umschreiben muss, wo ein +-*/ vorkommt, z.B. add(a,b,c); statt c=a+b; , weil die operatoren ja nur für doubles und so sind und c keine operatorüberladung hat. kann ich denn auch einfach mein c programm mit c++ kompilieren, weil das hat ja operatorüberladung und der code ist ja kompatibel? oder ist das nicht so einfach? oder hat jemand ne andere idee für quad precision? (ps long double im standardformat reicht nicht, denn das ist nur ein bisschen längeres double aber kein richtiges quad, aber vielleicht kennt jemand ne möglichkeit, das umzudefinieren in richtiges quad?) Ich hoffe ihr könnt mir helfen.
-
versuch mal damit: http://www.nongnu.org/hpalib/
-
ja das ist ja mein problem, geht nur so einfach mit c++ aber mein code ist ja in c geschrieben und da müsste ich jedes + durch xadd ersetzen ...
-
Man kann in C++ sicher einen irgendeine Klasse basteln, die den Namen von double stiehlt und sich so verhält, wie du das willst. Aber mit C? Keine Ahnung.
-
Urgelbue schrieb:
kann ich denn auch einfach mein c programm mit c++ kompilieren, weil das hat ja operatorüberladung und der code ist ja kompatibel? oder ist das nicht so einfach?
Naja, da C nicht eine 100%ige Untermenge von C++ ist, kann es durchaus zu kleineren Problemen kommen. Die Problemstellen sollten aber dennoch schneller umgeschrieben sein, als alle arithmetischen Operatoren durch Funktionsaufrufe zu ersetzen, was die einzig mir bekannte Möglichkeit wäre das in C hinzubekommen.