On 6/17/2011 3:39 AM, Arturo Salz wrote:
the function's output variable stores the last return value unless it is overwritten on each call.
Not good enough.
When the function is static, there
is only one output
variable and it is shared by all concurrent or recursive calls to
that function.
You can code recursive cases carefully, but I don't believe there's
any way to protect this variable from concurrent executions.
Indeed there shouldn't be any such protection! How else can
designers express the desire for race conditions in their
simulation?
Of course any synthesis or simulation engine could adopt a second
set of implementation rules which intentionally give the effect
of the function being automatic, but this is a deceptive practice
and strictly non-conforming. If you order 1,000 ft of rope, you
don't wish it cut into 3 ft lengths to protect you from hanging
yourself.
--
This message has been scanned for viruses and
dangerous content by
MailScanner, and is
believed to be clean.
Received on Mon Jun 20 12:01:43 2011