diff --git a/polymani.pl b/polymani.pl index 81ea0df..b761a68 100644 --- a/polymani.pl +++ b/polymani.pl @@ -102,14 +102,17 @@ print_polynomial_tree(op(Op, TL, TR)) :- print_polynomial_tree(T) :- write(T). -polynomial_tree_to_polynomial(op(Op, TL, TR), P) :- - polynomial_tree_to_polynomial(TL,A), - polynomial_tree_to_polynomial(TR,B), +polynomial_tree_to_polynomial(A,B) :- + polynomial_tree_to_atomic_polynomial(A,Pa), + term_to_atom(B, Pa). + +polynomial_tree_to_atomic_polynomial(op(Op, TL, TR), P) :- + polynomial_tree_to_atomic_polynomial(TL,A), + polynomial_tree_to_atomic_polynomial(TR,B), atom_concat(A, Op, AOp), - atom_concat(AOp, B, Pa), - term_to_atom(P,Pa), + atom_concat(AOp, B, P), !. -polynomial_tree_to_polynomial(A,A). +polynomial_tree_to_atomic_polynomial(A,A). %% nlp_number(?W:Atom, ?D:Int) is det %