| Autor |
Nachricht |
Unregistrierter
|
Unregistrierter
20:54:23 22.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | | Zeig doch mal her den Matheparser. |
Wenn du sicher bist, dass dein Magen das aushält... ich mach grad nen neuen Post. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
21:13:18 22.05.2012 Titel: |
|
Zitieren |
http://ideone.com/O77pp
Den Dingensda am Anfang hab ich gebastelt, da mir die Reihenfolge der Speicherfreigabe (und der Destruktor-aufrufe) herzlich egal ist und ich keine lust hab es selbst zu machen... (boost::ptr_set o. ä. hab ich ja nicht ^^) |
Zuletzt bearbeitet von Unregistrierter am 21:17:30 22.05.2012, insgesamt 2-mal bearbeitet |
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
21:16:39 22.05.2012 Titel: |
|
Zitieren |
Mal abgesehen, dass man da jetzt noch viel verbessern kann: Was hat das mit TMP zu tun? |
|
|
|
 |
Unregistrierter
|
Unregistrierter
21:18:25 22.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | Mal abgesehen, dass man da jetzt noch viel verbessern kann: Was hat das mit TMP zu tun?  |
Nein, es ist ein normaler Parser. Aber TMP werd ich jetzt auch mal versuchen Ich wusste nicht, dass du einen TMP wolltest ^^ |
Zuletzt bearbeitet von Unregistrierter am 21:22:10 22.05.2012, insgesamt 1-mal bearbeitet |
|
 |
Unregistrierter
|
Unregistrierter
21:21:59 22.05.2012 Titel: |
|
Zitieren |
Aber wie soll ich output zur Compile-Zeit machen? Ein static_assert(0, "..."); oder wie...? |
|
|
|
 |
Unregistrierter
|
Unregistrierter
21:25:45 22.05.2012 Titel: |
|
Zitieren |
Ah nee, ich werd mich wohl mit boost::mpl auseinandersetzen müssen... |
|
|
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
21:29:04 22.05.2012 Titel: |
|
Zitieren |
Was willst du denn da ausgeben? Du brauchst doch nur eine Zahl als Ergebnis.
| C++: | | std::cout << eval<'2', '+', '2'>::value; | |
Oder so ähnlich. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
21:35:29 22.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | Was willst du denn da ausgeben? Du brauchst doch nur eine Zahl als Ergebnis.
| C++: | | std::cout << eval<'2', '+', '2'>::value; | |
Oder so ähnlich. |
Hmm, gut neues Ziel für die nächsten eineinhalb Stunden.
Tja, schon ein wenig weitergekommen. Aber eigentlich sehe ich so etwas wie temp-programmierung als unnötig - ich mein', wozu brauchst du es in Applikationen? Oder es ist einfach lustig, sich in sowas auszukennen |
Zuletzt bearbeitet von Unregistrierter am 22:41:35 22.05.2012, insgesamt 2-mal bearbeitet |
|
 |
otze
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.01.2004
Beiträge: 7177
|
otze Mitglied
00:11:57 23.05.2012 Titel: |
|
Zitieren |
| Hacker schrieb: |
Tja, schon ein wenig weitergekommen. Aber eigentlich sehe ich so etwas wie temp-programmierung als unnötig - ich mein', wozu brauchst du es in Applikationen? Oder es ist einfach lustig, sich in sowas auszukennen  |
Vielleicht sollte man sich vorher klar sein, warum man etwas tut, bevor man es tut. TMP in dieser Form hat vielleicht eine Handvoll Anwendungen. Hauptsächlich geht es darum, das es geht und das man damit unglaublich schlimme Bugs in einem Code verstecken kann. Dass das hier relativ sinnlos ist, wurde aber schon an anderer Stelle angemerkt.
Die Frage ist: warum machst du es? Von dem was ich bislang so von dir gelesen habe, hab ich nicht den Eindruck, dass das etwas ist was a) in deinem Kerninteressenbereich liegt (im Gegensatz zu Pi) und b) dich in deiner Entwicklung als Programmierer weiter bringt.
Was TMP angeht tüftel ich gerade etwas an einem intelligenteren Ansatz für expression templates rum. Es geht darum, Regeln zu definieren, um ein expression template in eine Normalform zu bringen. Das heißt, anstatt den Ausdruck 1:1 in sein (dummes) expression template umzuformen suche ich eine möglichst einfache Darstellung, die es zum einen dem Compiler einfach macht zu optimieren und zum anderen mir es einfacher macht, die richtigen Algorithmen zu wählen. Anwendung ist lineare Algebra, insbesondere elementweise Transformationen von Vektoren/Matrizen. Long Term überlege ich, ob es nicht sogar möglich ist, aus so einer Normalform einen Kern für GPU-Programmierung zu generieren. Aber wie gesagt: das ist hauptsächlich im Planungsstadium. Ich habe leider kaum Zeit, um das zu Programmieren. |
_________________ Jesus Christus! Da blickt ja kein Mensch mehr durch.
|
|
 |
cooky451
Mitglied
Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 6869
|
cooky451 Mitglied
07:44:33 23.05.2012 Titel: |
|
Zitieren |
| Hacker schrieb: |
Tja, schon ein wenig weitergekommen. Aber eigentlich sehe ich so etwas wie temp-programmierung als unnötig - ich mein', wozu brauchst du es in Applikationen? Oder es ist einfach lustig, sich in sowas auszukennen  |
TMP an sich würde ich nicht als unnötig sehen. Der größte Vorteil ist wohl, dass man mit etwas Getrickse und Operatorüberladungen Dinge bauen kann, die man in der Sprache sonst nur schwer ausdrücken konnte. (Lambdas, Expression Templates, ...)
Aber die Reinform die hier präsentiert wird ist natürlich völlig sinnlos, abgesehen vom Lerneffekt vielleicht, aber erstmal ist es nur Spaß an den vielen <<<<...>...>...>...> |
_________________ Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Keksverteilungsbeauftragter
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|