improve between_/3 implementation (#1186, #1191)

This commit is contained in:
Mark Thom
2022-01-10 18:34:25 -07:00
parent f0e6b8ca47
commit e3622e0860

View File

@@ -16,14 +16,14 @@ between(Lower, Upper, X) :-
between_(Lower, Upper, X) between_(Lower, Upper, X)
). ).
between_(Lower, Lower, Lower) :- !.
between_(Lower, Upper, Lower1) :- between_(Lower, Upper, Lower1) :-
( Lower < Upper, Lower < Upper,
( Lower1 = Lower !,
; Lower0 is Lower + 1, ( Lower1 = Lower
between_(Lower0, Upper, Lower1) ; Lower0 is Lower + 1,
) between_(Lower0, Upper, Lower1)
). ).
between_(Lower, Lower, Lower).
enumerate_nats(I, I). enumerate_nats(I, I).
enumerate_nats(I0, N) :- enumerate_nats(I0, N) :-