#include <stdinc.h>#include <getparam.h>string outdefv[]={ "key1=d\n Example double", "key2=2i\n Example 2 integers", NULL, }; void outparam (string name, string value)void outiparam(string name, int value)void outlparam(string name, long value)void outdparam(string name, double value)void outfparam(string name, float value)void outbparam(string name, bool value) void outiparams(string, int, int *)void outlparams(string, int, long *)void outdparams(string, int, double *)void outfparams(string, int, float *)void outbparams(string, int, bool *)
For example outdparam("rms",3.0) would store a single value of 3.0 (in double precision) in the "rms" slot. outfparams("a",4,a) would store 4 floats in the "a" keyword.
% set noise=‘ccdstat in=map1.ccd | grep dispersion | awk ’{print $6}’‘but if the programmer of ccdstat made the rms and mean legal output keys, these can now be requested to be exported in a small parameter database, viz.
% ccdstat in=map1.ccd outkeys=rms,mean % set noise=‘nemokeys rms format=%10.5f‘ % ccdmom in=map1.ccd clip=$noisethis example still shows that data values are transferred in ascii mode (rms to $noise) and passed into another program. More ideal would be to allow the user interface to directly input data in their (now even type checked) native format, e.g. (note this has not been implemented)
% ccdmom in=map1.ccd clip=\$rmsCurrently this would confuse the user interface, since \$rms would refer to a program keyword, not the internal value of a output key.
$NEMODEF/nemokeys.dat where NEMO stores the output keys
24-apr-02 document created, no code written yet Peter Teuben