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.

 

(7716 Hits)

 

  c_libs     sql     multilanguage     dxtools     tipp_it     kwirk     c_depencies     ae20125     opengl_spriteengine     gedanken_leser     picam     tbitstream     2048     filetools     winkonfig     weihnachtsstern     address_db     4_wins     ccm     fourier     ym1602c     fir_iir     alt_f2     5ermedian     balanced     passbildcreator     graphen_algos     weihnachtskalender     sudoku     verzeichnung     galton_brett     imageinspector     td     lzw     steganographie     vokabel     baum     iq_block     openglsphere     pentago     clear_engine     codecounter     farbspectrum     projizierte_schatten     bmp_font     kollision     wuerfelzauber     clickomania     mauskoordinaten     labyrintcreator     diffusionsfilter     gebmanager     vedische_multiplication     simpleray     bww     button_tool     info     8x8x8     crc     screeny     shannon_fano_coding     tclockex     mandelbrot     gorilla     sirpinksy     turing_maschine     stm     uuart     simple_cad     dithering_mask     torus_chess     wecker     binomial     anty_krypt     balanced2     parken     cubemap     network_listener     mastermind     rsa     bezier     bignumber     schachprobleme     digiman     ntools     fouriersynthese     stereoprojektion     basic     affenpuzzle     hoertest     textur_filterung     delforlaz     loop     proto     send_get_file     klab     greenfoot     3d_puzzle     tankplan     suchen_dialog     partikelengine     pointer     l_system     trio     file_transfer     calender     fpc_depencies     opengl_graphikengine     desktop_lock     wireworld     matrix     puzzle     nsudoku     xml     textfilter     io_serializer     qprogrammer     euler     pingpong     kartei     picking     piemenue     race_condition     wuerfel     boxmuller     gefangenen_dilemma     transparenz     numeric_instability