]> Repositorios git - scryer-prolog.git/commitdiff
improve between_/3 implementation (#1186, #1191)
authorMark Thom <[email protected]>
Tue, 11 Jan 2022 01:34:25 +0000 (18:34 -0700)
committerMark Thom <[email protected]>
Tue, 11 Jan 2022 01:34:25 +0000 (18:34 -0700)
src/lib/between.pl

index 3e023c8cd16aa386dadd430166714210badfa0d5..2711e8e87f02496240f728e0752fc5b4c9c1587c 100644 (file)
@@ -16,14 +16,14 @@ between(Lower, Upper, X) :-
         between_(Lower, Upper, X)
     ).
 
-between_(Lower, Lower, Lower) :- !.
 between_(Lower, Upper, Lower1) :-
-    (  Lower < Upper,
-       (  Lower1 = Lower
-       ;  Lower0 is Lower + 1,
-          between_(Lower0, Upper, Lower1)
-       )
-    ).
+   Lower < Upper,
+   !,
+   (  Lower1 = Lower
+   ;  Lower0 is Lower + 1,
+      between_(Lower0, Upper, Lower1)
+   ).
+between_(Lower, Lower, Lower).
 
 enumerate_nats(I, I).
 enumerate_nats(I0, N) :-