Pass by reference for compiled functions
- To: mathgroup at smc.vnet.net
- Subject: [mg114275] Pass by reference for compiled functions
- From: "Eric Michielssen" <emichiel at eecs.umich.edu>
- Date: Mon, 29 Nov 2010 06:10:01 -0500 (EST)
For noncompiled functions, one can pass arguments "by reference" and then
modify them inside the routine by assigning the function the attribute
This does not work for compiled functions: it does not appear possible to
modify arguments to compiled functions, even if they are passed as "global
variables". That is, Mathematica responds to
Myfunction = Compile[
Modify var 1 or var2;
Compile::argset: The assignment to var1 is illegal; it is not valid to
assign a value to an argument. >> And something similar for var2.
HoldAll does not seem to apply here...
This makes it memory-inefficient to modify large arrays in compiled
functions, as one would have to operate on a copy of the array.
Is there a workaround in Mathematica 8?
Prev by Date:
Next by Date:
Re: to get all parametric plots/line traces
Previous by thread:
Re: 3D Solids
Next by thread:
Re: Pass by reference for compiled functions