Verbesserung für Mid3

Begonnen von alexdrik, 15. März 2011, 21:06:24

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

alexdrik

Läßt sich die Funktion Mid3 so schneller ausführen?

IF in1 >= in2 THEN

   IF in1 >= in3 THEN                 (* in1 ist am größten *)
      IF in2 >= in3 THEN
         mid3 := in2;
      ELSE
         mid3 := in3;
      END_IF

   ELSE                                        (* in1 ist größer als in2, aber kleiner als in3 *)
      mid3 := in1;
   END_IF

ELSE

   IF in2 >= in3 THEN                 (* in2 ist am größten *)

      IF in1 >= in3 THEN
         mid3 := in1;
      ELSE
         mid3 := in3;
      END_IF

   ELSE                                         (* in2 ist größer als in1, aber kleiner als in3 *)
      mid3 := in2;
   END_IF

END_IF

hugo

mid3 wird im nächsten release folgenden code verwenden:

IF IN1 > IN2 THEN MID3 := IN1; IN1 := IN2; IN2 := MID3; END_IF;
IF IN2 > IN3 THEN IN2 := IN3; END_IF;
MID3 := SEL(IN1 > IN2, IN2, IN1);