zur Startseite zum Inhalt zur Navigation

GenMathCalc

 

GenMathCalc ist ein Generischer Mathe Parser / 
Rechner.

Entstanden ist er letzt endes weil ich den 
MatheParser aus dem LoopCompiler weiterentwickeln 
wollte.

Heraus kam ein Extrem Mächtiges Instrument zum 
bewältigen Mathematischer ausdrücke.

Leider ist dank der Fehlenden Generik in Delphi ein 
Generischer Rechner nicht gerade Leicht 
implementierbar. Für den Delphi Anfänger ist diese 
Komponente daher evtl nicht verständlich.

Was Kann die Klasse :

Der Klasse muss eine gültige Tokenliste mit den 
bereits vorher geparsten Tokens übergeben werden ( 
hier bietet sich der Tokenizer an ;) ).

Zusätzlich kann eine Liste mit Variablen übergeben 
werden ( gibt es keine Variablen kann die Liste Leer 
gelassen werden ).

Die Klasse baut daraus dann einen Baum und gibt die 
Wurzel dieses Baumes zurück.

Mit dem Aufruf Calc wird das Ergebnis des Baumes 
berechnet und zurückgegeben.

Der Clou an der Sache liegt nun zum einen in der 
Extrem sparsamen Erstellung des Rechenbaumes ( der 
Parser ruft sich Maximal 1 mal selbst auf, d.h. 
Rekursionstiefe = 2 ).

Ein Erstellter Rechenbaum kann immer wieder mit neuer 
Variablenbelegung gerechnet werden.

Durch die generische Darstellung der Variablen kann 
praktisch jeder Datentyp gerechnet werden ( im Sample 
ist Beispielhaft das Rechnen mit Integer, Boolean 
und 3 Dimensionalen Vektoren gezeigt ).

Der Programmierer muss lediglich die 
Callbackfunctionen für die einzelnen Operatoren 
angeben. Unterstützt werden Unäre und Binäre 
Operatoren.

So lassen sich mit nur wenigen Zeilen Code die 
unterschiedlichsten Mathe Solver erstellen.

 

(7723 Hits)

 

  gorilla     kwirk     bitverknupfung     file_transfer     fir_iir     balanced2     rubik_cube2     summe_n     button_tool     game_of_life     clear_engine     calc     sirpinksy     fourier     td     piemenue     calender     tippsy3     binaeruhr     send_get_file     kollision     desktop_lock     bigprim     induktion     hilbert     rubik_cube     textfilter     dcf77     4_wins     ccm     imageinspector     balanced     pingpong     maw     library     attributgrammatik     euler     pathfinder     rollenspiel     address_db     sql     anty_krypt     codecounter     delforlaz     bezier     dithering_filtering     pointer     exp_func     greenfoot     passbildcreator     projizierte_schatten     klab     clickomania     chunkmanager     fingerspeed     stereoprojektion     project_uncollector     project_collector     binomial     ascii     cpu_load     boxmuller     einstein     nsudoku     gebmanager     zufall     screensaveblocker     ntools     mandelbrot     tasker     weihnachtsstern     4_gewinnt     trackball     mauskoordinaten     hex     torus_chess     newton     graphen_algos