So muss jetzt mal Frust ablassen, nachdem ich eine geschlagene halbe
Stunde diesen Bug gesucht habe.
Ich hab eine Template-Klasse, die über Daten Statistik bilden soll.
Für ordinale Datentypen alles ok, nur für Gleitkomma gehts nicht.
Bis ich auf den Trichter gekommen bin, dass die Minima,
Maxima-Bestimmung Mist liefert ...
Da Templates-Basis-Typ hab ich natürlich die numeric_limits zur
Initialiserung der min-max variablen benutzt:
1 | m_min = std::numeric_limits<T>::max();
|
2 | m_max = std::numeric_limits<T>::min();
|
Nur ist für std::numeric_limits<float>::min(); ganz anders spezifiziert,
als man erwarten würde, nämlich als eine Art Epsilon.
Ich frag mich, wer sich das ausgedacht hat.
Nun müsste man abhängig vom T-Parameter std::numeric_limits<T>::min()
für ordinale Datentypen und -std::numeric_limits<T>::max(); für
Gleitkomma-Typen benutzen, was das ganze Konzept der numeric_limits in
ad absurdum führt.
kennt jemand noch andere derartige Fallen?
Gruß
Vlad