// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // Dart version of two-argument Ackermann-Peter function. import "package:expect/expect.dart"; class AckermannTest { static int ack(int m, int n) { return m == 0 ? n + 1 : ((n == 0) ? ack(m - 1, 1) : ack(m - 1, ack(m, n - 1))); } static testMain() { Expect.equals(253, ack(3, 5)); } } main() { AckermannTest.testMain(); }