Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Schnell doubles vergleichen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.09.2008, 14:07 Uhr
~Uffob
Gast


Hallo,

ich will 2 double-werte miteinander vergleichen.Geht es auch schneller als mit

if (fabs(a-b) < 1E-100) then equal else notequal ???

Mit diversen Register-Benutzungen der FPU würde mir (im fall der fälle) mulmig werden also lieber so optimieren...

Ein bitweiser vergleich - über XOR? nur wie?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.09.2008, 16:51 Uhr
ao

(Operator)



Zitat von ~Uffob:
Geht es auch schneller als mit
if (fabs(a-b) < 1E-100) then equal else notequal ???


Wenns robust sein soll, würde ich sagen, nein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.09.2008, 16:54 Uhr
Hans
Library Walker
(Operator)


Hi,

zum Thema "bitweiser Vergleich" fällt mir nur ein, die Zahl in eine union zu schreiben, und da drin zu vergleichen, also etwa so:

C++:
union Zahl
{
  double d;
  char cd[sizeof(double)];
} zahl_1, zahl_2;

zahl_1.d = a;
zahl_2.d = b;
for (i=0; i<sizeof(double); i++)
   { if (zahl_1.cd[ i ] == zahl_2.cd[ i ])
     /*  ...  */
     else
     /*  ...  */
   }/*  ...  */



das ist aber bestimmt nicht schneller als das, was Du da oben geschrieben hast...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.09.2008, 17:13 Uhr
~Uffob
Gast


Es muss schnell und robust sein - wie immer

die union ist mir leider viel zu langsam...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.09.2008, 19:21 Uhr
xXx
Devil


Hm ... double is jetzt blöd :P GPG 5 stehen tricks wie es schnell mit floats geht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.09.2008, 21:18 Uhr
Hans
Library Walker
(Operator)


Was ist GPG 5?? - Games Programming Gems 5, oder was?

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 01.09.2008 um 21:19 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.09.2008, 22:54 Uhr
xXx
Devil


korrekt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: