DGL
https://delphigl.com/forum/

@CoolMathLibrary, eine C++ Mathebibliothek
https://delphigl.com/forum/viewtopic.php?f=14&t=9297
Seite 1 von 1

Autor:  Coolcat [ Sa Jun 26, 2010 12:04 ]
Betreff des Beitrags:  @CoolMathLibrary, eine C++ Mathebibliothek

Diskussions-Thread zu CoolMathLibrary (CML).

Autor:  Lord Horazont [ Sa Jun 26, 2010 12:25 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

Hm. Ohne Schleifen, heißt das, mit SSE/MMX oder hast du einfach die Operationen normal untereinander geschrieben? Denn eigentlich rollen compiler statische Schleifen recht gut aus, sodass der Code im Quelltext gut aussieht, aber halt keine Schleife verwendet. Hast du mal mittels ggc -S (-S lässt den temporären ASM-Code bestehen, sodass du ihn dir anschauen kannst; falls du überhaupt gcc benutzt) geschaut, ob er dir die Schleifen ausrollt?

greetings

Autor:  Coolcat [ Sa Jun 26, 2010 12:36 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

Ich hab einfach die Operationen untereinander geschrieben. SSE/MMX nutze ich nicht um sicher zu sein, dass es überall läuft. Gut möglich, dass der Compiler statische Schleifen optimiert, ich hab mir das nicht näher angeguckt. Wenn er aber optimiert, wird er das nicht besser hin bekommen als das bei mir der Fall ist und Lesbarkeit ist bei mir durch sinnvolles Einrücken auch gegeben. Und ich behaupte auch gar nicht das meine Library das Non-Plus-Ultra ist....ich habe hier im Forum halt nur immer wieder Teile gepostet...da wollte ich das mal als ganzes veröffentlichen.

Autor:  TAK2004 [ Sa Jun 26, 2010 13:29 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

Unter gcc kannst du die vector extension verwende, damit du auf die sse1-4,mmx und 3dnow zugriff hast.
Diese hab ich in RadonFramework auch mit eingebaut aber so viel power bringt das nicht.
Ich hab letztens eine SphereSphereIntersection benchmark gebastelt und bin mit sse3 auf 600.000 Intersections und ohne auf 560.000(fpu) Intersections gekommen.
Allerdings nur auf 1 Kern, mit Parallelisierung bekommt man viel mehr raus, bei 6 kernen hatte ich noch knapp 3.400.000 Intersections.
Also bei einfachen dingen ist sse und co nicht so interessant, nur bei komplexen Operationen lohnt es sich.

Autor:  Coolcat [ Di Mär 22, 2011 10:10 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

CoolMath 2011-03-22 BETA veröffentlicht.

Autor:  Markus [ Mo Apr 11, 2011 18:05 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

Mir ist aufgefallen, dass der Konstruktur für die Matrix44 mit Up-, Front- und Positionsvektor auskommentiert ist. Nachdem ich ihn dennoch getestet habe, gab es ein paar Darstellungsfehler. Ich habe den Code danach etwas verändert:

Code:
  1.     Vector3<T> vLeft;
  2.  
  3.     vUp.normalize();
  4.     vFront.normalize();
  5.     vLeft = -(vFront % vUp);
  6.     vLeft.normalize();
  7.     vFront = -(vUp % vLeft);


Damit scheint es zu funktionieren. Vielleicht hilft es dir :wink:

Autor:  Coolcat [ Di Apr 12, 2011 07:37 ]
Betreff des Beitrags:  Re: @CoolMathLibrary, eine C++ Mathebibliothek

Das ganze war Copy&Paste aus einer noch älteren Version. Ich hatte damals nur gesehen, dass es nicht mehr funktionierte und keine Zeit selbst zu probieren. Thx.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/