[ET Trac] [Einstein Toolkit] #967: GRHydro uses EOS_Omni routines without DECLARE_CCTK_FUNCTIONS
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Fri Jun 29 11:25:15 CDT 2012
#967: GRHydro uses EOS_Omni routines without DECLARE_CCTK_FUNCTIONS
------------------------------------+---------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Resolution: | Keywords: GRHydro
------------------------------------+---------------------------------------
Comment (by eschnett):
The syntax is (/rho_min/); the parentheses are necessary.
No, this is only for variables that are read. If the variables are also
written, then I would recommend using pointers (or temporary arrays with
copy-in and copy-out, but this is cumbersome).
{{{
subroutine call_with_array(b)
integer b
integer a(1)
pointer (pa,a)
pa = loc(b)
call wantarray(a)
end
}}}
This defined a subroutine with a scalar argument b. The subroutine defines
a pointer variable pa, pointing to an array. (No space is allocated for an
array.) The pointer is set to the address of b. The pointer is
dereferenced (in C parlance) by using its "other name". In C, this code
corresponds to something like
{{{
int b;
int[1] *pa;
pa = &b;
wantarray(*pa);
}}}
(except that int[1] is not a type in C, so one would have to wrap it into
a structure, and this would make the C version of this example more
complex than necessary).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/967#comment:3>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list