abs fabs
-
_matze schrieb:
Und wenn du einfach immer nach double castest?
hm ne des möchte ich eig nicht machen... also du meinst d gibts nix? bzw du kennst nichts?
-
abs ist in C++ für diverse Typen überladen, das kannst du in Templates einfach so benutzen. fabs ist C-Kram, den brauchst du nicht.
-
<a href= schrieb:
boost/rational.hpp">
// Do not use any abs() defined on IntType - it isn't worth it, given the // difficulties involved (Koenig lookup required, there may not *be* an abs() // defined, etc etc). template <typename IntType> inline rational<IntType> abs(const rational<IntType>& r) { if (r.numerator() >= IntType(0)) return r; return rational<IntType>(-r.numerator(), r.denominator()); }Vielleicht solltest du es ähnlich machen und mit 0 vergleichen.
-
Univer Sam schrieb:
<a href= schrieb:
boost/rational.hpp">
// Do not use any abs() defined on IntType - it isn't worth it, given the // difficulties involved (Koenig lookup required, there may not *be* an abs() // defined, etc etc). template <typename IntType> inline rational<IntType> abs(const rational<IntType>& r) { if (r.numerator() >= IntType(0)) return r; return rational<IntType>(-r.numerator(), r.denominator()); }Vielleicht solltest du es ähnlich machen und mit 0 vergleichen.
@Bashar jo so hab ich das auch gedacht, aber das ist nur auf microsoft basis.. auf linux geht das zum beispiel nicht.
des vergleichen ist ziemlcih umständlich... doof das es da nicht einfach n befehl gibt.
-
82kolu schrieb:
@Bashar jo so hab ich das auch gedacht, aber das ist nur auf microsoft basis.. auf linux geht das zum beispiel nicht.
abs() gibt es lt. Standard für folgende Typen:
in <cmath>:
float
double
long doublein <cstdlib>:
int
longWoher hast du das, dass das Microsoft-spezifisch sei?
-
if(number<0) { number=-number; }geht das nicht?
-
pyhax schrieb:
geht das nicht?
-
using std::sqrt; return sqrt(n * n);
-
314159265358979 schrieb:
using std::sqrt; return sqrt(n * n);Quark, mal wieder, leider.
-
Jeder weiß doch, dass if voll langsam ist!
-
Bei dir weiß ich nie, ob du nur satirisch bist oder das ernst meinst.
-
314159265358979 schrieb:
using std::sqrt; return sqrt(n * n);Quark, mal wieder, leider.
http://www.clarku.edu/~djoyce/complex/abs.html
-
314159265358979 schrieb:
using std::sqrt; return sqrt(n * n);Quark, mal wieder, leider.
Wer steht schon auf den Betrag von Zahlen > sqrt(max) oder auf Geschwindigkeit.
-
Als ob mir das nicht bewusst wäre, dass das Mist ist.
-
Pseudo-Protestierst du jetzt, oder bist du einfach nur dooph?
-
Keins von den dreien.
-
314159265358979 schrieb:
using std::sqrt; return sqrt(n * n);da macht man doch voll den numerischen Fehler oder?
wurzel ist ja nicht well posed oder?
-
82kolu schrieb:
314159265358979 schrieb:
using std::sqrt; return sqrt(n * n);da macht man doch voll den numerischen Fehler oder?
wurzel ist ja nicht well posed oder?Lass dich von 314159265358979 nicht verwirren. Das war ein absichtlich dummer Vorschlag. Vielleicht auch nur dumm. Bei Pi weiß man das nie so genau.
-
Absichtlich dumm :xmas2: