update between/3 to allow inf as upper bound

This commit is contained in:
Mark Thom
2020-02-19 15:55:56 -07:00
parent d3da2683cb
commit 617f803355

View File

@@ -6,10 +6,15 @@
:- use_module(library(error)).
between(Lower, Upper, X) :-
must_be(integer, Lower),
must_be(integer, Upper),
can_be(integer, X),
between_(Lower, Upper, X).
( Upper == inf ->
must_be(integer, Lower),
can_be(integer, X),
enumerate_nats(Lower, X)
; must_be(integer, Lower),
must_be(integer, Upper),
can_be(integer, X),
between_(Lower, Upper, X)
).
between_(Lower, Upper, Lower) :-
Lower =< Upper.