From: Mark Thom Date: Sun, 24 Feb 2019 10:45:41 +0000 (-0700) Subject: begin work on between library X-Git-Tag: v0.8.110~229 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=767f98eaa369874991d54efc9408c34c41f978b7;p=scryer-prolog.git begin work on between library --- diff --git a/src/prolog/lib/between.pl b/src/prolog/lib/between.pl index c6e203f0..e7167ca7 100644 --- a/src/prolog/lib/between.pl +++ b/src/prolog/lib/between.pl @@ -82,11 +82,12 @@ diag_ints(M, N) :- diag_ints(M0, N0, M, N). gen_ints(L, U) :- - integer(L), !, gen_int(U), L =< U. -gen_ints(L, U) :- - integer(U), !, gen_int(L), L =< U. -gen_ints(L, U) :- - diag_ints(L, U), L =< U. + ( integer(L), integer(U), ! + ; integer(L) -> gen_int(U) + ; integer(U) -> gen_int(L) + ; diag_ints(L, U) + ), + L =< U. numlist(Lower, Upper, List) :- gen_ints(Lower, Upper), findall(X, between(Lower, Upper, X), List).