Abs() nun auch für Integer und Quad (bisher nur für Floats)
Verfasst: 05.01.2007 10:57
Hallo Kaeru Gaman!
Ich habe mir die Freiheit genommen
und deine AbsEx()-Funktion optimiert. Ich dachte mir, ein kleiner Wettkampf wie beim byterechner() könnte nicht schaden
Ich habe beide Codes mit den Zahlen -6, 0 und 90 bei 100.000.000 Durchläufen getestet (ohne Debugger, versteht sich).
Zu meinem Code: Ich griff auf die Signumfunktion zurück und multipliziere dieses Ergebnis mit 'Number'.
An alle anderen: Ihr dürft natürlich auch eure Meinungen hier niederschreiben oder Codes posten.
Ich habe mir die Freiheit genommen

und deine AbsEx()-Funktion optimiert. Ich dachte mir, ein kleiner Wettkampf wie beim byterechner() könnte nicht schaden

Ich habe beide Codes mit den Zahlen -6, 0 und 90 bei 100.000.000 Durchläufen getestet (ohne Debugger, versteht sich).
- Kaeru Gaman (532 ms)
Code: Alles auswählen
Macro AbsEx(Expression) ( ( ((Expression) >= 0 Or 0) *2 - 1 ) * (Expression) ) EndMacro Debug AbsEx(90) Debug AbsEx(0) Debug AbsEx(-6)
- AND51 (297 ms):
Code: Alles auswählen
Macro myAbs(Number) (((Number > 0)-(Number < 0))*Number) EndMacro Debug myAbs(90) Debug myAbs(0) Debug myAbs(-6)

Zu meinem Code: Ich griff auf die Signumfunktion zurück und multipliziere dieses Ergebnis mit 'Number'.
An alle anderen: Ihr dürft natürlich auch eure Meinungen hier niederschreiben oder Codes posten.
