... facility.1
This is a non-standard facility which originated in VAX FORTRAN but is now available on most FORTRAN compilers. It is a compiler directive, rather than a function, and works by instructing the compiler to pass the argument by value rather than by address. The routine receiving this argument is then tricked into thinking that it has received an array starting at the address given by the pointer value. There are other ways of achieving this effect, such as by addressing an array outside of its bounds, but the %VAL method is the one most widely used in Starlink software.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... functions2
The two CNF header files, cnf.h and f77.h are now identical. For legacy reasons it is acceptable to #include either or both in the code - just f77.h is preferred.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CNF and F77 Mixed Language Programming - FORTRAN and C
Starlink User Note 209
P.M. Allan
A.J. Chipperfield
R.F. Warren-Smith
19 January 2000
E-mail:ussc@star.rl.ac.uk