root/trunk/examples/benchmarks/plain.lgt

Revision 4601, 0.7 KB (checked in by pmoura, 7 weeks ago)

Added svn:mime-type property to source files (set to text/x-logtalk).

  • Property svn:mime-type set to text/x-logtalk
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2my_length(List, Length) :-
3    my_length(List, 0, Length).
4
5my_length([], Length, Length).
6my_length([_| Tail], Acc, Length) :-
7    Acc2 is Acc + 1,
8    my_length(Tail, Acc2, Length).
9
10
11:- dynamic(pred_plain/1).
12
13plain_dyndb(N) :-
14    assertz(pred_plain(N)),
15    retract(pred_plain(N)).
16
17
18my_between(Lower, _, Lower).
19my_between(Lower, Upper, Integer) :-
20    Lower < Upper,
21    Next is Lower + 1,
22    my_between(Next, Upper, Integer).
23
24
25my_repeat(_).
26my_repeat(N) :-
27    N > 1,
28    N2 is N - 1,
29    my_repeat(N2).
30
31
32% generate a list containing the first N non-negative integers
33
34generate_list(N, List) :-
35    generate_list(0, N, List).
36
37generate_list(N, N, []) :-
38    !.
39generate_list(M, N, [M| Ms]) :-
40    M < N,
41    M2 is M + 1,
42    generate_list(M2, N, Ms).
Note: See TracBrowser for help on using the browser.