Re: Compile
- To: mathgroup at smc.vnet.net
- Subject: [mg45612] Re: Compile
- From: Maxim <dontsendhere@.>
- Date: Fri, 16 Jan 2004 06:05:33 -0500 (EST)
- References: <bti21a$a8p$1@smc.vnet.net> <btr1g5$kh1$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Yet another peculiarity: compare
In[1]:=
Module[{y = x}, Compile[{x}, Evaluate @ y]]
Block[{x = 1}, %[2]]
Out[1]=
CompiledFunction[{x$},x,"-CompiledCode-"]
Out[2]=
1.
and
In[1]:=
Module[{y = x}, Compile[{{x, _Real}}, Evaluate @ y]]
Block[{x = 1}, %[2]]
Out[1]=
CompiledFunction[{x},x,"-CompiledCode-"]
Out[2]=
2.
Or, even simpler,
In[1]:=
Function[x, Compile[{x}, x]][1]
Function[x, Compile[{{x, _Real}}, x]][1]
Out[1]=
CompiledFunction[{x},x,"-CompiledCode-"]
<warning messages>
Out[2]=
Compile[{{1,_Real}},1]
So the idea was to treat Compile as a scoping construct, but the possibility of a
different format of the first Compile argument was overlooked.
Maxim Rytin
m.r at prontomail.com