kann man zwei Fkt. elegant zusammenfassen?
-
Wollte eine Haarwaveletfunktion zusammenfassen, weiß aber nicht wie?
float TForm1::haarpsi(float m, float n, float t) { return pow(2,-(m/2))*psi(pow(2,-m)*t-n); }int TForm1::psi(float t) { if((t>=0)&&(t<0.5)) { return 1; } else if((t>=0.5)&&(t<1)) { return (-1); } else { return 0; } }ich würde es besser finden, wenn man sie nicht zerstückelt.
-
Hallo
also ich finds übersichtlicher so.
Wenn du das in eine Funktion packst, must du mit Zwischenwerten arbeiten/edit : du must diese Funktionen auch nicht als Member von dem Form schreiben.
bis bald
akari
-
wenn ich mich nicht vertan hab, müsste es so aussehen.
inline float haarpsi(float m, float n, float t) { const float psi = (pow(2, -m) * t) - n; if ((psi >= 0) && (psi < 0.5)) return pow(2, -(m / 2)); if ((psi >= 0.5) && (psi < 1)) return -pow(2, -(m / 2)); return 0; }liesse sich sogar zu folgendem vereinfachen (haste nur noch einmal den aufruf von pow drin.
inline float haarpsi(float m, float n, float t) { const float power = pow(2, -(m / 2)); const float psi = (power * power * t) - n; if ((psi >= 0) && (psi < 0.5)) return power; if ((psi >= 0.5) && (psi < 1)) return -power; return 0; }
-
Funktionen funktionieren, Vielen Dank!!!
-
Sunday schrieb:
inline float haarpsi(float m, float n, float t) { const float power = pow(2, -(m / 2)); const float psi = (power * power * t) - n; if ((psi >= 0) && (psi < 0.5)) return power; if ((psi >= 0.5) && (psi < 1)) return -power; return 0; }ne unbedeutende änderung, würde ich vorlschagen.
inline float haarpsi(float m, float n, float t) { const float power = pow(2, -(m / 2)); const float psi = (power * power * t) - n; if(psi<0) return 0; if(psi>=1) return 0; if(psi>=.5) return -power; else return power; }