From e48ededaa71519f89d22cc242f4186da86aed1a2 Mon Sep 17 00:00:00 2001 From: Diogo Cordeiro Date: Thu, 20 Dec 2018 02:22:38 +0000 Subject: [PATCH] Make as great again --- polymani.pl | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/polymani.pl b/polymani.pl index d1a4da8..33c3526 100644 --- a/polymani.pl +++ b/polymani.pl @@ -198,6 +198,14 @@ do_process_input(show(void, T)) :- polynomial_tree_to_polynomial(T, Pl), write(Pl), nl. +do_process_input(store_simplified(V,PTNS)) :- + polynomial_tree_to_polynomial(PTNS, PNS), + simpoly(PNS,P), + assertz(polynomial_store(V, P)), + write(V), + write(" = "), + write(P), + nl. do_process_input(store(P, T)) :- assertz(polynomial_store(P, T)). do_process_input(forget(P)) :- @@ -207,6 +215,22 @@ do_process_input(simplify(PT)) :- simpoly(P, SP), write(SP), nl. +do_process_input(store_multiplication(TN, PT, V)) :- + polynomial_tree_to_polynomial(TN, N), + polynomial_tree_to_polynomial(PT, P), + ( + not(number(N)), + scalepoly(N, P, P2) + ; + number(N), + scalepoly(P, N, P2) + ), + simpoly(P2, SP), + assertz(polynomial_store(V, SP)), + write(V), + write(" = "), + write(SP), + nl. do_process_input(multiply(TN, PT)) :- polynomial_tree_to_polynomial(TN, N), polynomial_tree_to_polynomial(PT, P), @@ -553,9 +577,21 @@ parse_command(store(P, T)) --> parse_polynomial(T), [as], parse_stored_variable(P). +parse_command(store_simplified(V, P)) --> + [simplify], + parse_polynomial(P), + [as], + [V]. parse_command(simplify(T)) --> [simplify], parse_polynomial(T). +parse_command(store_multiplication(TN, TP, V)) --> + [multiply], + parse_polynomial(TN), + [by], + parse_polynomial(TP), + [as], + [V]. parse_command(multiply(TN, TP)) --> [multiply], parse_polynomial(TN),