interface to cuda datalog package

This commit is contained in:
Vitor Santos Costa
2013-10-04 14:42:18 +01:00
parent 43163a190f
commit 74a6a79960
2 changed files with 144 additions and 31 deletions

View File

@@ -1,5 +1,8 @@
:- module(bdd, [cuda_extensional/2,
cuda_rule/2]).
cuda_rule/2,
cuda_erase/1,
cuda_eval/2,
cuda_count/2]).
tell_warning :-
print_message(warning,functionality(cuda)).
@@ -18,10 +21,10 @@ cuda_extensional( Call, IdFacts) :-
cuda_rule((Head :- Body) , IdRules) :-
body_to_list( Body, L, [], 1, N),
functor(Head, Na, Ar),
load_rule( N, Arity, [Head|L], IdRules ).
load_rule( N, Ar, [Head|L], IdRules ).
body_to_list( (B1, B2), LF, L0, N0, N) :- !,
body_to_list( (B1, B2), LF, L0, N0, NF) :- !,
body_to_list( B1, LF, LI, N0, N1),
body_to_list( B2, LI, L0, N1, NF).
body_to_list( B, [B|L], L, N0, N) :-