Re: Strange behaviour of Do in Compile
- To: mathgroup at smc.vnet.net
- Subject: [mg82201] Re: [mg82125] Strange behaviour of Do in Compile
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Sun, 14 Oct 2007 06:19:39 -0400 (EDT)
- References: <22686441.1192263837882.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
Better yet, never use Return at all. I never do. Bobby On Sat, 13 Oct 2007 02:41:37 -0500, Andrew Moylan <andrew.j.moylan at gmail.com> wrote: > Compile[{}, Do[If[i > 10, Return[i + 1]], {i, 10}]][] > > On my machine, this returns such values as: > 176792864 > 176795048 > 176797232 > > The following slight modification always returns the value 11: > > Compile[{}, Do[If[i > 10, Return[i]], {i, 10}]][] > > Can anyone explain this behaviour? > > Anyway, I guess the moral is: always explicitly return a value from > Compile, > and don't rely on the usual return value properties of flow-control > constructs like Do. > > > -- DrMajorBob at bigfoot.com