| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.96.0/coding/highlight.js/logtalk/default.txt |
:- object(ack).
:- info([
version is 1:0:0,
author is 'Paulo Moura',
date is 2008-3-31,
comment is 'Ackermann function (general recursive function).'
]).
:- public(ack/3).
:- mode(ack(+integer, +integer, -integer), one).
:- info(ack/3, [
comment is 'Ackermann function.',
argnames is ['M', 'N', 'V']
]).
ack(0, N, V) :-
!,
V is N + 1.
ack(M, 0, V) :-
!,
M2 is M - 1,
ack(M2, 1, V).
ack(M, N, V) :-
M2 is M - 1,
N2 is N - 1,
ack(M, N2, V2),
ack(M2, V2, V).
:- end_object.