[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-02-09 (09:26) |
From: | Marcin 'Qrczak' Kowalczyk <qrczak@k...> |
Subject: | Re: [Caml-list] ackermann test |
skaller <skaller@users.sourceforge.net> writes: >> Where can I find the C code you are using? > > int ack(int x, int y) { > return x==0? y+1: (y==0? ack(x-1,1):ack(x-1,ack(x,y-1))); > } If you write it like this: int ack(int x, int y) { if (x==0) return y+1; if (y==0) return ack(x-1,1); return ack(x-1,ack(x,y-1)); } then gcc-3.4.3 generates better code (optimizes tail calls). -fomit-frame-pointer further speeds it up. -- __("< Marcin Kowalczyk \__/ qrczak@knm.org.pl ^^ http://qrnik.knm.org.pl/~qrczak/