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.

 

(7714 Hits)

 

  cubemap     button_tool     imageinspector     trio     ae20125     turing_maschine     kollision     ccm     greenfoot     balanced2     shannon_fano_coding     tankplan     partikelengine     clickomania     episodenmanager     zufall     dcf77     transparenz     iq_block     simpleray     copycommander     picam     2048     4_wins     5ermedian     fingerspeed     winkonfig     tg12864b     textur_filterung     minipaint     farbspectrum     fakenet     sortieren2     td     calender     serial     crc     loop     anty_krypt     wecker     bmp_font     network_listener     simple_cad     diffusionsfilter     file_transfer     binomial     pwm     gebmanager     ym1602c     suchen_dialog     fouriersynthese     chunkmanager     pingpong     funplay2     pointer     numeric_instability     io_serializer     trackball     uuart     wuerfel     attributgrammatik     send_get_file     pentago     netzwerkprotokol     piemenue     gedanken_leser     kartei     xml     steganographie     bignumber     feder_masse     screeny     newton     boxmuller     updater     hoertest     stm     digiman     wuerfelzauber     galton_brett     picking     verzeichnung     kwirk     projizierte_schatten     generische_liste     proto     gefangenen_dilemma     address_db     heapsim     info     rubik_cube     hough_transformation     cpu_load     puzzle     bww     wii_whiteboard     nsudoku     balanced     fpc_depencies     matrix     bigprim     fourier     binaeruhr     wii_headtrack     mastermind     mandelbrot     parken     3d_puzzle     sfxr     dxtools     network_bandwidth_limiter     quadtree     tbitstream     fir_iir     gorilla     openglsphere     delforlaz     dithering_filtering     8x8x8     vokabel     sql     bezier     gpu_info     einstein     passbildcreator     screensaveblocker     filetools     jazzball     qprogrammer     klab     alt_f2     textfilter     desktop_lock     ntools     weihnachtsstern     clear_engine     lzw     rubik_cube2