Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#2

Re: sin() und arccos() : Assembler für die FPU

  Alt 16. Nov 2009, 02:57
Auch wenn es jetzt nichts mit dem Thema zu tun hat,
aber immerhin geht es hier ja grob um "Optimierungen":

Deine Codeformatierung und vorallem die Einrückung ist grauenhaft.


Zitat:
Delphi-Quellcode:
begin
if x > 0 then
  begin if x > 1 then x := 1;
        xs := x - 0.42;
        result := sqrt(1-x) * ((((((g*xs+f)*xs+e)*xs+d)*xs+c)*xs+b)*xs + a);
  end else
  begin if x < -1 then x := -1;
        xs := - x - 0.42;
        result := - sqrt(1+x) * ((((((g*xs+f)*xs+e)*xs+d)*xs+c)*xs+b)*xs + a) + pi;
  end;
end;
Hier wollte ich dich erst darauf hinweisen, daß Result bei x <= 0 undefiniert wäre
(vorallem wegen des "übergeordneten" if x > 0 then )
und wollte dich gleichzeitig fragen, ob da überhaupt richtige Ergebnisse rauskommen könnten.

Denn rein optisch hatte ich erst diesen Aufbau im Kopf, denn genau darauf läßt deine Formatierung auf den ersten Blick schließen.
Delphi-Quellcode:
begin
  if x > 0 then
  begin
    if x > 1 then
    begin
      x := 1;
      xs := x - 0.42;
      result := sqrt(1-x) * ((((((g*xs+f)*xs+e)*xs+d)*xs+c)*xs+b)*xs + a);
    end
    else
      if x < -1 then
      begin
        x := -1;
        xs := - x - 0.42;
        result := - sqrt(1+x) * ((((((g*xs+f)*xs+e)*xs+d)*xs+c)*xs+b)*xs + a) + pi;
      end;
  end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat