ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4439687
Jetzt (Chat):
46 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Algorithmen und Datenstrukturen
Komplette MatheBibliothek
GepinntSeite: < 1 2 3 4 5 . . . a 17 18 19 20 21 >
AutorThema
Kovok Offline
ZFX'ler


Registriert seit:
19.10.2003

Nordrhein-Westfalen
335162660
Re: Komplette MatheBibliothekNach oben.
Ich helfe gerne, nur muss ich dann erfahren, wie die richtlinien sind, welche techniken eingesetzt werden sollen(SSE etc.) und um welche Körper es genau geht

1 Mal gešndert, zuletzt am 06.01.2006, 02:04:21 Uhr von Kovok.
05.01.2006, 12:15:03 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Heyho, wie sieht das eigentlich mit Basen von Vektorräumen aus? Unsere Vektoren haben alle die Einheitsbasis, sollten wir vielleicht ne Klasse Vektorraum kreieren, die einen Satz von Basisvektoren enthalten kann? Wenn man nämlich lineare Abbildungen machen will, braucht man ja auch die Basen. Was meint ihr dazu?
12.01.2006, 13:45:48 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
@oese:
Offenbar ist der inline File jetzt in die Headerdatei integriert?
Hast du deine √Ąnderungen an der Datei mal getestet?
14.01.2006, 20:19:58 Uhr
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
@wassja
nein noch nicht, hatte noch keine zeit. hab den gro√üteil kopiert, aber an ein paar stellen spalten und zeilen vertauscht.. d√ľrfte jetzt richtig sein aber wenn dus nachpr√ľfen und gegebenenfalls korrigieren willst, kein problem.
14.01.2006, 20:29:49 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Kenne das mit der Zeit...
Habe das gleiche Problem.
Nein, ich glaub schon dass da alles richtig ist.
Ich hab jetzt vor f√ľr quadratische Matrizen ne extra-Datei anzulegen. Damit es sie schonmal gibt, wird wohl was l√§nger dauern bis sie fertig ist, da ich echt wenig Zeit bis Mitte M√§rz habe (Klausuren). Aber zwischendurch bekomme ich immer wieder Lust aufs Programmieren und dann mach ich was weiter.

Die Datei MatrixNxN soll auch die Berechnung von Determinante erlauben, was bei unterschiedlicher Spalten und Zeilenanzahl ja grundsätzlich nicht möglich ist. Außerdem soll bei Initialisierung der Matrix direkt die Inverse und die Determinante mit berechnet und gespeichert werden, so braucht sie nicht immer abgerufen zu werden.
Einfach deshalb, weil ich den GAUSS-Algorithmus ja eh f√ľr die Inverse durchf√ľhren muss, da kann ich ja auch gleich die Determinante mit berechnen.
14.01.2006, 20:35:54 Uhr
BigAl77 Offline
ZFX'ler


Registriert seit:
13.01.2006

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Hallihallo,

oh man. Irgendwo in nem Tut von Stefan hab ich gelesen, das man vor dem Coden irgendwie nen Konzept aufstellen sollte und sich die benötigten Strukturen und Funktionen ... ... mal aufschreiben sollte!

So ne MatheLib läßt sich normalerweise in n paar Monaten von nem 5 Köpfigen Team runterhacken und testen.

Bevor ich da auch no meinen Senf zu geben, w√ľrde mich interessieren, ob es mittlerweile sowas wie ne Anforderungsanalyse und n tiefergehendes Konzept daf√ľr gibt???

Wenn alle munter drauf loscoden wird das schwierig, die Teile hinterher funktionsfähig zusammen zuschustern.

Von dem was ich bis jetzt gelesen habe, gibts Klassen f√ľr Vektoren, Matrizen und paar Hilfsfunktionen - sin, cos - etc.

Aus der Anfordung sehe ich aber, daß da noch n paar Klassen fehlen.

Und: wieso soll das ganze alles auf Templates basieren? Man kann auch gute Schnittstellen mit abstrakten Klassen in C++ umsetzen und mu√ü nicht f√ľr alles n Template nehmen (siehe Kompendium von Stefan).

F√ľr Vektoren und Matrizen kann man ganz simple solide Klassen schreiben ohne Templates, die mindestens genauso gut funktionieren.

F√ľr Punkte, Geraden etc. bietet sich eine abstrakte Basisklasse wie z. B. ZFXObject an von der dann Punkte, Geraden etc. abgeleitet werden.

Ach ja: gibt es irgendwo ne Todo Liste mit evtl. Changelogs, wo steht was schon implementiert oder getestet ist und was noch aussteht???

PS: Ich glaub das die ZFXMath Lib schon sehr vollst√§ndig ist und f√ľr die meisten Anwendugsf√§lle ausreichen w√ľrde.

So Sachen wie Octress, Quadtrees braucht man allerh√∂chstens f√ľr Szenenmanagement in nem Konkretem Spiel und kann sich die Sachen dann entsprechend zusammen basteln.

Auch sehe ich keine sinnvollen Anwendungen f√ľr Gau√ü Algorithmus und dergleichen (will auch nicht wissen, wie lange man daran sitzt, sowas in voller G√§nze zu programmieren ).

Das w√§ren dann Kandidaten f√ľr Hilfsklassen.

Mit gleicher Berechtigung k√∂nnte man auch Graphen-und Listenalgorithmen hinzuf√ľgen, die wahrscheinlich mehr Sinn machen.


1 Mal gešndert, zuletzt am 15.01.2006, 12:25:14 Uhr von BigAl77.
15.01.2006, 12:18:04 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Templates werden zur Compilezeit in Code umgewandelt. So kann der Compiler ggf. den Code so weit wie möglich optimieren. Bei manchen Funktionen kann man so ganze Berechnungen zur Compilezeit erledigen lassen, was das ganze wesentlich beschleunigt.
Dazu haben die Vektorklassen keine VTables, was das ganze auch schlanker und einfacher werden lässt.
Vielleicht wird jetzt der Grund f√ľr Templates etwas klarer .
Dinge wie Partitionierungsbäume sind bewährte mathematische Hilfsmittel, um Berechnungen optimieren zu können. Bounding-Volume-Trees z.B. sind ein numerisches Problem, von da aus sind sie schon hilfreich.

Zur ToDo-Liste: DIe gibt es IMHO im Rep.

MfG Kimmi
15.01.2006, 13:45:04 Uhr
Kurzer Weblog
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: Komplette MatheBibliothekNach oben.
au√üerdem frage ich mich wie man es √ľber intefaces schaffen m√∂chte eine matrix f√ľr double und eine f√ľr single floats spezialisieren m√∂chte.

15.01.2006, 14:11:33 Uhr
DirectX 10
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Die Sache mit dem GAUSS-Algorithmus ist einfach die, dass ich die MathLib auch f√ľr Nicht-Grafik-Zwecke nutzen m√∂chte. Dabei ist mir der GAUSS-Algorithmus eine Hilfe, z. B. bei
- Interpolation von Polynom zwischen vorgegebenen Punkten
- Lösen linearer LGS
- Berechnung der Determinante
etc.
Es kann mit Sicherheit nicht schaden, diese Funktionen der Lib hinzuzuf√ľgen.
Wenn jemandem das Programm dadruch zu groß wird, kann man ja mit #ifdef die Sache so spezifizieren, dass diese Geschichten normalerweise nicht mitcompiliert werden, außer wenn der Programmierer ein Makro definiert à la #define MATHE_FOR_CRACKS

Ich denke auch daran, dass wir vielleicht mal Physik-Engine-Bereiche auf der MathLib basierend programmieren möchten. Man freut sich dann bestimmt, wenn man da auch bereits Funktionen vorliegen hat, die man in der Grafik nicht benötigte, jetzt aber gut gebrauchen kann.
Ich f√§nd mal gut, das wird aber wohl nie zustande kommen, wenn man so n 3D Modellierer proggt f√ľr Maschinen, die man nachher mit FEM simulieren kann. Und das l√§uft auf jeden Fall aufs Invertieren von Matrizen hinaus.
Alles in allem denke ich, dass es nicht schadet, wenn die MathLib mal was √ľber den Tellerrand schaut.
15.01.2006, 15:40:42 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Ausserdem ist ein Gauss auch bei Grafikanwendungen sehr praktisch.

MfG Kimmi

1 Mal gešndert, zuletzt am 15.01.2006, 17:57:21 Uhr von Kimmi.
15.01.2006, 17:43:27 Uhr
Kurzer Weblog
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
@wassja: nicht dass ich die idee grunds√§tzlich schlecht finden w√ľrde, aber ich finde in die TMatrixNxN-Klasse geh√∂rt die inverse nicht rein. f√ľr mich sollt so ne einfache matrix-klasse erstmal nur die daten f√ľr die matrix selbst beinhalten, dann kann man die TMatrixXxY-klassen leichter ineinander umwandeln, ohne angst zu haben, dass da die daten schon wieder anders vorliegen.
wenn du das unbedingt haben willst, könntest du doch eine extra klasse TGauss oder so machen in der du als member zwei TMatrixNxN speicherst.
17.01.2006, 18:33:42 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Brauch ich dann ne NxN Klasse? Was sollte an der dann anders sein?
18.01.2006, 14:51:00 Uhr
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
na ja, eben ne allgemeine quadratische matrix, war ja schon fr√ľher mal im gespr√§ch...
du kannst ja die matrixklasse die drecksarbeit machen lassen und dann in der TGaussMatrix oder wie auch immer nur noch kapseln. so viel mehrarbeit is das auch nicht und um einiges weniger verwirrend f√ľr den der nacher die lib benutzt

EDIT: n wort vergessen... hätt sonst wenig sinn gemacht der eintrag

1 Mal gešndert, zuletzt am 18.01.2006, 20:01:39 Uhr von oese.
18.01.2006, 20:00:19 Uhr
xcvb Offline
ZFX'ler


Registriert seit:
09.06.2002

Deutschland
Re: Komplette MatheBibliothekNach oben.
Ich meine, dass direkte L√∂sungsverfahren f√ľr lineare Gleichungssysteme n√ľtzlich sind (klassiker wie LU oder LL^T Zerlegung). Mit
Zitat:
Die Datei MatrixNxN soll auch die Berechnung von Determinante erlauben, was bei unterschiedlicher Spalten und Zeilenanzahl ja grundsätzlich nicht möglich ist. Außerdem soll bei Initialisierung der Matrix direkt die Inverse und die Determinante mit berechnet und gespeichert werden, so braucht sie nicht immer abgerufen zu werden.

kann ich mich aber auch nicht anfreunden. Dann m√ľsste man ja bei jeder √Ąnderung der Matrix alles neu berechnen. Wenn ich 10 mal mit dem Indexoperator einen Eintrag √§ndere, muss ja 10 mal die neue Inverse berechnet werden, wenn diese immer zur tats√§chlichen Matrix passen soll.

Zum Matrizendesign (bei beliebiger Gr√∂√üe) sollten sich aber schon alle beteiligten noch mal gedanken machen. Es sollte erstmal ein ordentliches Interface her (unabh√§ngig von der Implementierung), da ich gerne auch Sachen wie Bandmatrizen oder allgemein schwach besetzte Matrizen unterbringen w√ľrde. D.h. Zeiger auf array mit Eintr√§gen anfordern k√∂nnen z.B. gar nicht alle Matrizen unterst√ľtzen (usw.). Eine Matrix sollte auch als Funktor taugen (ist ja schlie√ülich ne lineare Abbildung). Die 3x3 und 4x4 Matrizen spielen eine Sonderrolle und k√∂nnen ja vom allgemeinen Matrixinterface abweichen.

In spätestens zwei Wochen hab ich Zeit, mich an einige Implementierungen zu machen.
23.01.2006, 16:39:05 Uhr
Linksammlung
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Zitat:
Dann m√ľsste man ja bei jeder √Ąnderung der Matrix alles neu berechnen.

Ich hatte mir das so vorgestellt, dass es einen Boolschen Wert gibt, der die Information enth√§lt, ob die Determinante und die Inverse der Matrix aktuell sind. Mit einer Funktion Init() oder so kann man das nach den entsprechenden √Ąnderungen aufrufen. Bei der Berechnung der Inversen f√§llt halt die Determinante ab, denn den Gauss muss man ja so oder so machen. Darum fand ich es sinnvoll, beides in eine Funktion zu packen.
24.01.2006, 17:31:38 Uhr
nufan Offline
ZFX'ler


Registriert seit:
13.05.2002

Deutschland
Re: Komplette MatheBibliothekNach oben.
BigAl77 :

Zitat:
F√ľr Punkte, Geraden etc. bietet sich eine abstrakte Basisklasse wie z. B. ZFXObject an von der dann Punkte, Geraden etc. abgeleitet werden.


Warum bietet sich daf√ľr eine Basisklasse an ? Verstehe ich leider nicht.

Zitat:
Auch sehe ich keine sinnvollen Anwendungen f√ľr Gau√ü Algorithmus und dergleichen (will auch nicht wissen, wie lange man daran sitzt, sowas in voller G√§nze zu programmieren ).


Den Gauss-Algorithmus zu implementieren, ist o.B.d.A. trivial, eine Sache von nicht mehr als einer Stunde. Du hast drei Zeilentransformationen, die du anwenden darfst, ohne den Lösungsraum des durch die Matrix beschriebenen Gleichungssystems zu verändern. Das sind 1) Multiplikation mit einem Skalar, 2) Zeilentausch und 3) Addition zweier Zeilen. Diese zu implementieren ist trivial und der eigentliche Algorithmus besteht nur aus 3 Schritten.

Wozu man Methoden zur Lösung linearer Gleichungssystem braucht ? Das ist doch nicht ernsthaft eine Frage, oder ?

Zitat:
Mit gleicher Berechtigung k√∂nnte man auch Graphen-und Listenalgorithmen hinzuf√ľgen, die wahrscheinlich mehr Sinn machen.


Eine Liste ist ein Container, kein mathematisches Objekt. Das mit Matrizen in einen Topf zu werfen, halte ich f√ľr gewagt.
24.01.2006, 18:48:16 Uhr
xcvb Offline
ZFX'ler


Registriert seit:
09.06.2002

Deutschland
Re: Komplette MatheBibliothekNach oben.
Zitat:
Mit einer Funktion Init() oder so kann man das nach den entsprechenden √Ąnderungen aufrufen.

Was spricht dagegen diese Funktion einfach Inverse zu nennen un beides zur√ľckzugeben?

Zitat:
Graphen-und Listenalgorithmen

sind häufig praktisch wenn es um Matrizen geht. Und einen Graphen oder eine Liste kann man durchaus als mathematisches Objekt auffassen.
25.01.2006, 14:51:32 Uhr
Linksammlung
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Ein Graph ist eine Datenstruktur, die man zur Darstelllung mathematischer Gebilde benutzen kann (z.B. Tree als Sparse-Matrix). Trotz dessen sind Container eher Utilities, um gewisse Dinge auf entsprechende Datenstrukturen zu mappen. Die Aussage von nufan halte ich sehr wohl f√ľr berechtigt. Zumindest sollte durch die Architektur der Lib klar werden, dass z.B. ein Array als Hilfsdatenstruktur begriffen wird, um mathematische Dinge darauf abbilden zu k√∂nnen.

MfG Kimmi
25.01.2006, 15:06:41 Uhr
Kurzer Weblog
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Zitat:
Was spricht dagegen diese Funktion einfach Inverse zu nennen un beides zur√ľckzugeben?

Ich denke das ist ne gute Idee. Ab Mitte März hab ich wieder mehr Zeit, dann werde ich das machen.

Ich hab nochmal ne Frage: Kann mir einer erkl√§ren, was das Schl√ľsselwort register eigentlich macht? Ich benutz das immer einfach so, ich w√ľsst gern mal, was ich da eigentlich mache.

1 Mal gešndert, zuletzt am 26.01.2006, 12:21:06 Uhr von Wassja.
26.01.2006, 11:00:09 Uhr
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
in c hat es noch bedeutet, dass das keine wirklich im speicher liegende variable war sodern ein register im prozessor selbst, deshalb kann man da viel schneller darauf zugreifen, aber da waren nur maximal 3 solche variablen gleichzeitig möglich. sonst, oder in größeren blöcken, wurde es einfach vom compiler entfernt.

in c++ ist das ungef√§hr noch das gleiche, aber in aufgeweichter form. da bedeutet es nur: das ist eine variable, die nur kurz, aber sehr oft ben√ľtzt wird.
das ist z.B. so wenn man schnell die indizes eines arrays durchl√§uft, um da die werte zu √§ndern, oder generell in schleifen. deshalb hab ich es z.B. in TVectorN ben√ľtzt. kann im zweifelsfall nicht schaden, da es in c++ ja nur noch eine "empfehlung" an den compiler ist
26.01.2006, 15:58:19 Uhr
Kon Offline
ZFX'ler


Registriert seit:
04.07.2005

Brandenburg
349300789
Re: Komplette MatheBibliothekNach oben.
Wenn ihr ne MatheLib wollt die Speed hat wird ich
auf Templates verzichten

das Argument es könne schon beim Build gerechnet werden
is einfach mal nicht schlagfertig
man rechnet doch je nur mit floats oder?
und integer-Berechnungen optimieren brings nich
wirklich Punkte dann schon selber FPU-Code schreiben f√ľr Vec-Additionen usw.

Functionspointer sind ne feine Sache wer ich voll daf√ľr

lib könnte zb auch testen
ob es besser is eine 3D-Now! Version
zunehmen oder SSE (2/3) Standard-C wird ich garnich mehr einbauen

Was mir auf wichtig wer das ne InverseMatrix
ne kann Bedingung is es geht nich immer

MfG Kon
28.02.2006, 21:59:20 Uhr
LiquidAcid Offline
ZFX'ler


Registriert seit:
21.09.2003

Nordrhein-Westfalen
127432520
Re: Komplette MatheBibliothekNach oben.
Zitat von Kon:
Wenn ihr ne MatheLib wollt die Speed hat wird ich
auf Templates verzichten

Bitte? Begr√ľnde das mal.

Zitat von Kon:
das Argument es könne schon beim Build gerechnet werden
is einfach mal nicht schlagfertig

Alles was zur Compile-Zeit gemacht werden kann, sollte auch dort gemacht werden. Auch hier keine Begr√ľndung.

Zitat von Kon:
man rechnet doch je nur mit floats oder?

Und wo ist das Argument? Zumal man genausogut mit Integern (fixpoint Arithmetik) rechnen kann.

Zitat von Kon:
und integer-Berechnungen optimieren brings nich
wirklich Punkte dann schon selber FPU-Code schreiben f√ľr Vec-Additionen usw.

Ich halte es f√ľr fragw√ľrdig, dass eigener FPU-Code schneller ist als der vom Compiler erstellte. Besonders wenn es Vektoraddition ist...

Zitat von Kon:
Functionspointer sind ne feine Sache wer ich voll daf√ľr

Verhindern Inlining, machen branching prediciton kaputt. Es spricht nicht sonderlich viel f√ľr Funktionszeiger.

Du solltest deine √úberlegungen vielleicht mal genauer ausf√ľhren. UND: Arbeite mal an deinem Schreibstil, der ist absolut grottig. Und bringt mal ein paar mehr Argumente.

cya
liquid
28.02.2006, 22:28:47 Uhr
CPP Kniffel
Godhand Offline
ZFX'ler


Registriert seit:
15.10.2002

Deutschland
Re: Komplette MatheBibliothekNach oben.
Hi,

mmmh beim Wort Funktionspointer bin ich aufgezuckt.

Da eine schnelle Mathematikbibliothek auch schnell sein sollte, sollte alles mit den jeweiligen Assember Instruktionen f√ľr 3D-Now, SSE 2 oder 3 oder was es sonst noch gibt optimiert sein. Das ist zwar viel Schreibarbeit, aber weil es ja schnell sein soll, muss es gemacht werden. Da kann man zwar Assembler Code schreiben bis man grau wird und sich das Hirn verbr√§t hat, aber das mach ja nicht ich

So nun zu den Funktionspointern. Ich f√§nde sie sinnvoll, weil man ja zur Laufzeit √ľberpr√ľfen will, welche Instruktionen die CPU nun unterst√ľtzt. Je nachdem, welche unterst√ľtzt werden, k√∂nnen dann die Funktionspointer gesetzt werden, dass die auf die jeweils schnellste Funktion zeigen. Dies wird besonders interessant, wenn die CPU z.B. sowohl 3D-Now als auch SSE2 unterst√ľtzt, denn die Laufzeiten der Funktionen werden wohl relativ unterschiedlich ausfallen.

Kann man eigentlich irgendwelche Funktionen optimieren, wenn man annehmen kann, dass keine Skalierungen vorgenommen wurden (im Bezug auf Matrizen)?

Ich bitte um konstruktive Kritik

Mit freundlichen Gr√ľ√üen,
Godhand.
01.03.2006, 19:10:44 Uhr
Kon Offline
ZFX'ler


Registriert seit:
04.07.2005

Brandenburg
349300789
Re: Komplette MatheBibliothekNach oben.
zu Funktionspointern:

inlining hat den Nachteil das der code wächst und
dadurch langsam werden kann.
der compiler entscheidet ja eh wann inline wann nicht
design-technisch sehr elegant

zu ints:

wenn jemand damit rechnen will kann er doch ganz
normales c benutzen
int Berechnungen optimiert ein Compiler von selbst

selbst f√ľr machen texturen nutzt man heute floating-points

templates sind sprachen spezifisch und nicht gerade schnell weil eine Optimierung denkbar
schwierig ist

es geht um Echtzeit und gerade bei Mathe was
will man da schon grossartig vorrechnen

Warum ist eigener FPU-Code schneller?
Heutige Compiler haben die Priorit√§t √ľberhaupt etwas
lauffähiges zu erzeugen ob es anders besser wär
weiss er nicht wirklich
gerade bei floats viel push und pop
weil er die 32 Bit einhalten muss
die FPU "denkt" aber 80 bittig
sowieso finde ich reicht es SSE als unterste Stufe zu nutzen

das selbe bei Schleifen man kann viele Schleifen
effektiver schreiben als sie der Compiler
√ľbersetzt

der Compiler ist kein √úberwerkzeug das sich die
nächste Anweisung schon denken kann

MfG Kon
01.03.2006, 21:50:20 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: Komplette MatheBibliothekNach oben.
Es ist schon ein fixedpoint datentyp in der Mathlib enthalten, den kann man ohne weiteres verwenden und funktioniert bisher sehr gut.

da man templatefunktionen/-klassen f√ľr bestimmte datentypen auspr√§gen kann (wie zum beispiel f√ľr CustomDataTypes wie FixedPoint oder auch single floats), kann man an diesen stellen SSE oder 3DNow einsetzen wie es einem beliebt, obwohl man templates unterst√ľtzt.

die unterscheidung welche SIMD-Technik zum einsatz kommt, soll in der ZFXMathlib per #defines gesetzt werden, d.h. es wird zur compilezeit entschieden. so muss man f√ľr jede SIMD-Technik die man unterst√ľtzen m√∂chte eine eigene Anwenung kompilieren.

Zitat:
das selbe bei Schleifen man kann viele Schleifen
effektiver schreiben als sie der Compiler
√ľbersetzt

heute wohl eher nicht mehr.

Zitat:
inlining hat den Nachteil das der code wächst und
dadurch langsam werden kann.

computing ist heute immer schneller als branching, daher sollte inlining nur selten langsamer sein.
01.03.2006, 22:58:20 Uhr
DirectX 10
GepinntSeite: < 1 2 3 4 5 . . . a 17 18 19 20 21 >


ZFX Community Software, Version 0.9.1
Copyright ©2002-2003 by Steffen Engel