From 2335cd57a1fd25bbe80a1e539ee2d1f9dce587c6 Mon Sep 17 00:00:00 2001 From: rzf Date: Tue, 3 Jun 2008 12:27:55 +0000 Subject: [PATCH] added timing predicates git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2255 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- cplint/cpl.pl | 22 ++++++++++++++++++++++ cplint/lpad.pl | 25 +++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/cplint/cpl.pl b/cplint/cpl.pl index bc5befb1e..ee82d4d51 100644 --- a/cplint/cpl.pl +++ b/cplint/cpl.pl @@ -14,11 +14,23 @@ p(File):- lpad:p(File). +sc(Goals,Evidences,Prob,CPUTime1,0.0,WallTime1,0.0):- + statistics(cputime,[_,_]), + statistics(walltime,[_,_]), + lpad:convert_to_goal(Goals,Goal), + lpad:convert_to_goal(Evidences,Evidence), + solve_cond(Goal,Evidence,Prob), + statistics(cputime,[_,CT1]), + CPUTime1 is CT1/1000, + statistics(walltime,[_,WT1]), + WallTime1 is WT1/1000. + sc(Goals,Evidences,Prob):- lpad:convert_to_goal(Goals,Goal), lpad:convert_to_goal(Evidences,Evidence), solve_cond(Goal,Evidence,Prob). + solve_cond(Goal,Evidence,Prob):- (setof((DerivE,D),slg(Evidence,DerivE,D),LCouplesE)-> separate(LCouplesE,LCDupE,LDefClE), @@ -62,6 +74,16 @@ s(GoalsList,Prob):- lpad:convert_to_goal(GoalsList,Goal), solve(Goal,Prob). +s(GoalsList,Prob,CPUTime1,0.0,WallTime1,0.0):- + statistics(cputime,[_,_]), + statistics(walltime,[_,_]), + lpad:convert_to_goal(GoalsList,Goal), + solve(Goal,Prob), + statistics(cputime,[_,CT1]), + CPUTime1 is CT1/1000, + statistics(walltime,[_,WT1]), + WallTime1 is WT1/1000. + solve(Goal,Prob):- (setof((C,D),slg(Goal,C,D),LCouples)-> separate(LCouples,LCDup,LDefCl), diff --git a/cplint/lpad.pl b/cplint/lpad.pl index 849d1121b..826996405 100644 --- a/cplint/lpad.pl +++ b/cplint/lpad.pl @@ -29,8 +29,8 @@ comment out the following Quintus-specific code, and include the code for the Prolog you are running. */ -:- module(lpad, [s/2, - sc/3, +:- module(lpad, [s/2,s/6, + sc/3,sc/7, p/1, slg/3,setting/2,set/2 ]). @@ -105,6 +105,16 @@ s(GoalsList,Prob):- convert_to_goal(GoalsList,Goal), solve(Goal,Prob). +s(GoalsList,Prob,CPUTime1,0.0,WallTime1,0.0):- + statistics(cputime,[_,_]), + statistics(walltime,[_,_]), + convert_to_goal(GoalsList,Goal), + solve(Goal,Prob), + statistics(cputime,[_,CT1]), + CPUTime1 is CT1/1000, + statistics(walltime,[_,WT1]), + WallTime1 is WT1/1000. + convert_to_goal([Goal],Goal):-Goal \= (\+ _) ,!. convert_to_goal(GoalsList,Head):- @@ -162,6 +172,17 @@ sc(Goals,Evidences,Prob):- convert_to_goal(Evidences,Evidence), solve_cond(Goal,Evidence,Prob). +sc(Goals,Evidences,Prob,CPUTime1,0.0,WallTime1,0.0):- + statistics(cputime,[_,_]), + statistics(walltime,[_,_]), + convert_to_goal(Goals,Goal), + convert_to_goal(Evidences,Evidence), + solve_cond(Goal,Evidence,Prob), + statistics(cputime,[_,CT1]), + CPUTime1 is CT1/1000, + statistics(walltime,[_,WT1]), + WallTime1 is WT1/1000. + solve_cond(Goal,Evidence,Prob):- (setof(DerivE,D^slg(Evidence,DerivE,D),LDupE)-> rem_dup_lists(LDupE,[],LE),