]> Repositorios git - scryer-prolog.git/commitdiff
update between/3 to allow inf as upper bound
authorMark Thom <[email protected]>
Wed, 19 Feb 2020 22:55:56 +0000 (15:55 -0700)
committerMark Thom <[email protected]>
Wed, 19 Feb 2020 22:55:56 +0000 (15:55 -0700)
src/prolog/lib/between.pl

index 16c7314591f506be79898a2e5ebbc5373cfd1fea..a8e06882fc8bc9dbf14afc1827404ed307a8e75e 100644 (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.