home *** CD-ROM | disk | FTP | other *** search
-
- app([],X,X).
- app([H|X],Y,[H|Z]):-
- app(X,Y,Z).
-
- nrev([],[]).
- nrev([X|Y],Z):-
- nrev(Y,T),
- app(T,[X],Z).
-
- genlist(I,[I|L]):-
- I>0,
- Y is I- 1,
- genlist(Y,L).
- genlist(0,[]).
-
- gen(N) :-
- genlist(N,X),asserta(numlist(X)).
-
- test:-
- numlist(X), timer(0), u(X), timer(T),
- LIPS is 5000000//T, retract(a(A)), SA is A+LIPS, asserta(a(SA)),
- retract(n(N)), SN is N+1, asserta(n(SN)),
- S is SA//SN,
- write('LIPS:'),write(LIPS),write(' S='),write(S),nl,!.
-
- exec(X):-nrev(X,_),!,fail.
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(X):-exec(X).
- u(_).
-
- run:-repeat,test,fail.
-
- ?- asserta(a(0)),asserta(n(0)).
- ?- gen(100).
- ?- write('\nStandard Benchmark Test 10*nrev(100)\n').
- ?- test.
- ?- test.
- ?- test.
-
-