<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Symbolic Computation, Was für ein Klassendesign]]></title><description><![CDATA[<p>Hallo C++ler,</p>
<p>ich versuche grade einen Matheparser zu bauen (der Parser tut auch), der bei der Berechnung genau vorgeht. Also zum Beispiel 2*Sin(2)*4 zu 8*Sin(2) umrechnet. Ich weiß allerdings nicht so genau welche Klassen ich am besten programmiere. Momentan habe ich einen ArbitraryPrecisionInteger, einen ArbitraryPrecisionRational und eine Symbol-Klasse. Wie sollten Interaktion zwischen den Klassen am besten implementiert werden (wenn zum Beispiel ein Bruch mit einem Integer multipliziert wird)?</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/328709/symbolic-computation-was-für-ein-klassendesign</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 07:47:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/328709.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Oct 2014 15:30:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Symbolic Computation, Was für ein Klassendesign on Thu, 23 Oct 2014 15:30:18 GMT]]></title><description><![CDATA[<p>Hallo C++ler,</p>
<p>ich versuche grade einen Matheparser zu bauen (der Parser tut auch), der bei der Berechnung genau vorgeht. Also zum Beispiel 2*Sin(2)*4 zu 8*Sin(2) umrechnet. Ich weiß allerdings nicht so genau welche Klassen ich am besten programmiere. Momentan habe ich einen ArbitraryPrecisionInteger, einen ArbitraryPrecisionRational und eine Symbol-Klasse. Wie sollten Interaktion zwischen den Klassen am besten implementiert werden (wenn zum Beispiel ein Bruch mit einem Integer multipliziert wird)?</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2423613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2423613</guid><dc:creator><![CDATA[SomeRandom4chanGuy]]></dc:creator><pubDate>Thu, 23 Oct 2014 15:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Symbolic Computation, Was für ein Klassendesign on Thu, 23 Oct 2014 17:00:22 GMT]]></title><description><![CDATA[<p>Für symbolische Auswertung solltest du am besten intern einen <a href="http://de.wikipedia.org/wiki/Abstrakter_Syntaxbaum" rel="nofollow">Abstract Syntax Tree (AST)</a> benutzen, auf dem du dann Knoten-Operationen (node operations) durchführst.<br />
Etwas ähnliches habe ich bei meinen Matheparser (in C#) bei der Optimierung des Ausdrucks auch vorgenommen: <a href="http://www.mycsharp.de/wbb2/thread.php?threadid=71995" rel="nofollow">Parser für mathematische Formeln</a>.</p>
<p>Arbeitest du denn nur mit ganzen Zahlen (aber dann macht die Sinus-Funktion ja keinen Sinn)? Jede ganze Zahl (Integer) kannst du aber doch generell als Bruch (X/1) interpretieren, so daß du nicht zwei verschiedene Repräsentationen benötigst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2423650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2423650</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 23 Oct 2014 17:00:22 GMT</pubDate></item></channel></rss>