make better use of can_be in between library

This commit is contained in:
Mark Thom
2019-02-24 15:15:00 -07:00
parent dc89ed57f2
commit 7f8c6eb3f5

View File

@@ -18,11 +18,10 @@ enumerate_nats(I0, N) :-
enumerate_nats(I1, N). enumerate_nats(I1, N).
gen_nat(N) :- gen_nat(N) :-
integer(N), !, N >= 0. can_be(integer, N),
gen_nat(N) :- ( var(N) -> enumerate_nats(0, N)
var(N), !, enumerate_nats(0, N). ; true
gen_nat(N) :- ).
throw(error(type_error(integer, N), gen_nat/1)).
enumerate_ints(I, I). enumerate_ints(I, I).
enumerate_ints(I0, N) :- enumerate_ints(I0, N) :-
@@ -33,11 +32,10 @@ enumerate_ints(I0, N) :-
enumerate_ints(I1, N). enumerate_ints(I1, N).
gen_int(N) :- gen_int(N) :-
integer(N), !. can_be(integer, N),
gen_int(N) :- ( var(N) -> enumerate_ints(0, N)
var(N), !, enumerate_ints(0, N). ; true
gen_int(N) :- ).
throw(error(type_error(integer, N), gen_int/1)).
repeat_integer(N) :- repeat_integer(N) :-
N > 0. N > 0.