Removed redundant choicepoint from between/3
This commit is contained in:
@@ -12,15 +12,17 @@ between(Lower, Upper, X) :-
|
|||||||
( nonvar(X) ->
|
( nonvar(X) ->
|
||||||
Lower =< X,
|
Lower =< X,
|
||||||
X =< Upper
|
X =< Upper
|
||||||
; between_(Lower, Upper, X)
|
; compare(Ord, Lower, Upper),
|
||||||
|
between_(Ord, Lower, Upper, X)
|
||||||
).
|
).
|
||||||
|
|
||||||
between_(Lower, Upper, Lower) :-
|
between_(<, Lower0, Upper, X) :-
|
||||||
Lower =< Upper.
|
( X = Lower0
|
||||||
between_(Lower1, Upper, X) :-
|
; Lower1 is Lower0 + 1,
|
||||||
Lower1 < Upper,
|
compare(Ord, Lower1, Upper),
|
||||||
Lower2 is Lower1 + 1,
|
between_(Ord, Lower1, Upper, X)
|
||||||
between_(Lower2, Upper, X).
|
).
|
||||||
|
between_(=, Upper, Upper, Upper).
|
||||||
|
|
||||||
enumerate_nats(I, I).
|
enumerate_nats(I, I).
|
||||||
enumerate_nats(I0, N) :-
|
enumerate_nats(I0, N) :-
|
||||||
|
|||||||
Reference in New Issue
Block a user