Strange behaviour of Do in Compile
- To: mathgroup at smc.vnet.net
- Subject: [mg82125] Strange behaviour of Do in Compile
- From: "Andrew Moylan" <andrew.j.moylan at gmail.com>
- Date: Sat, 13 Oct 2007 03:41:37 -0400 (EDT)
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.