Small UI cleanup

This commit is contained in:
Hugo Sales 2018-11-25 18:38:09 +00:00
parent 0f861a810b
commit 2136f91b67
1 changed files with 24 additions and 4 deletions

View File

@ -71,11 +71,15 @@ simpoly(P, S) :-
resulting in a second polynomial. The two first arguments are assumed to
be ground. The polynomial resulting from the sum is in simplified form.
*/
scalepoly(P1, P2, S) :-
scalepoly(P1, C, S) :-
is_polynomial_valid_in_predicate(P1, "scalepoly"),
is_polynomial_valid_in_predicate(P2, "scalepoly"),
scale_polynomial(P1, P2, S),
is_number_in_predicate(C, "scalepoly"),
scale_polynomial(P1, C, S),
!.
%% Tests:
%% ?- scalepoly(3*x*z+2*z, 4, S).
%@ S = 12*x*z+8*z.
%% ?- scalepoly(3*x*z+2*z, 2, S).
/*
addpoly/3 adds two polynomials as expressions resulting in a
@ -102,7 +106,7 @@ is_polynomial_valid_in_predicate(P, _) :-
polynomial(P),
!.
is_polynomial_valid_in_predicate(P, F) :-
%% Writes the polynomial and fails otherwise
%% Otherwise, write the polynomial and fails
write("Invalid polynomial in "),
write(F),
write(": "),
@ -133,6 +137,20 @@ is_polynomial_as_list_valid_in_predicate(L, F) :-
%@ Invalid polynomial in Test: a*4+0*x
%@ false.
%% is_number_in_predicate(+C:number, +F:string) is det
%
% Validates that C is a number or prints F and it then it
%
is_number_in_predicate(C, _) :-
number(C),
!.
is_number_in_predicate(C, F) :-
%% Writes the argument and fails
write("Invalid number in "),
write(F),
write(": "),
write(C),
fail.
/*******************************
* BACKEND *
@ -775,6 +793,8 @@ polynomial_to_list(T, [T]) :-
%@ S = [-2*y, 5, 2*x^2].
%% ?- polynomial_to_list(2*x^2-5-y*2, S).
%@ S = [-2*y, -5, 2*x^2].
%% ?- polynomial_to_list(P, [-2*y, -5, 2*x^2]).
%@ ERROR: Unhandled exception: type_error(_527068=_527074*_527076,2,'a real number',_527074*_527076)
%% list_to_polynomial(+L:List, -P:Polynomial) is det
%