Build math & comparision functions.

This commit is contained in:
Simon Forman
2019-08-11 17:48:29 -07:00
parent ab454375c0
commit cd60816429
3 changed files with 119 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
func(+, [A, B|C], [D|C]) :-
E =.. [+, B, A],
catch(D is E, _, D = E).
func(-, [A, B|C], [D|C]) :-
E =.. [-, B, A],
catch(D is E, _, D = E).
func(*, [A, B|C], [D|C]) :-
E =.. [*, B, A],
catch(D is E, _, D = E).
func(/, [A, B|C], [D|C]) :-
E =.. [/, B, A],
catch(D is E, _, D = E).
func(mod, [A, B|C], [D|C]) :-
E =.. [mod, B, A],
catch(D is E, _, D = E).
func(>, [A, B|C], [D|C]) :-
E =.. [>, B, A],
catch((E -> D = true ; D = false), _, D = E).
func(<, [A, B|C], [D|C]) :-
E =.. [<, B, A],
catch((E -> D = true ; D = false), _, D = E).
func(>=, [A, B|C], [D|C]) :-
E =.. [>=, B, A],
catch((E -> D = true ; D = false), _, D = E).
func(<=, [A, B|C], [D|C]) :-
E =.. [=<, B, A],
catch((E -> D = true ; D = false), _, D = E).
func(=, [A, B|C], [D|C]) :-
E =.. [=:=, B, A],
catch((E -> D = true ; D = false), _, D = E).
func(<>, [A, B|C], [D|C]) :-
E =.. [=\=, B, A],
catch((E -> D = true ; D = false), _, D = E).