summaryrefslogtreecommitdiff
path: root/include/differentiator.hpp
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-04-11 09:44:17 -0500
committerHombreLaser <sebastian-440@live.com>2022-04-11 09:44:17 -0500
commite0957d3990c5c592bf19883054505d82e9d8096f (patch)
treed16bc1f948db1ed09098663f97aca9202310611d /include/differentiator.hpp
parentda8027bf2a3d632d3b03279300eb04627b22c05e (diff)
Añadido código del diferenciador
Diffstat (limited to 'include/differentiator.hpp')
-rw-r--r--include/differentiator.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/differentiator.hpp b/include/differentiator.hpp
new file mode 100644
index 0000000..172166f
--- /dev/null
+++ b/include/differentiator.hpp
@@ -0,0 +1,27 @@
+/* PIA - Lenguajes Modernos de Programación
+ * FACULTAD DE CIENCIAS FÍSICO MATEMÁTICAS
+ * Luis Sebastián Martínez Vega - LCC */
+
+#include "expressions.hpp"
+#include <string>
+#ifndef DIFFERENTIATOR_H
+#define DIFFERENTIATOR_H
+
+class Differentiator {
+private:
+ Expression *differential;
+ Expression *ptr;
+public:
+ Differentiator();
+ Expression *visit(Literal *expr);
+ Expression *visit(Variable *expr);
+ Expression *visit(Function *expr);
+ Expression *visit(NegationExpression *expr);
+ Expression *visit(AddExpression *expr);
+ Expression *visit(SubExpression *expr);
+ Expression *visit(DivisionExpression *expr);
+ Expression *visit(MultiplicationExpression *expr);
+ Expression *visit(PowerExpression *expr);
+};
+
+#endif /* DIFFERENTIATOR_H */