NAME
reflect -- unit to ``reflect'' input into output field
PROTOTYPE
unitptr reflect( int iDim, char *pcOpt, unitptr uHost)
ARGUMENTS
- int iDim
- dimension of input and output field
- char *pcOpt
- - not documented in source --
- unitptr uHost
- host unit
RETURN VALUE:
A pointer to the created unit or NULL in the case of an error.
INTERFACE OF CREATED UNIT:
- X_in[iDim]:
- (input field 0) input data (packed field, if
iDim<0)
- Y_in[iDim]:
- (input field 1) input field to which data vector
X_in is `reflected'' (packed field, if iDim<0).
- CTL_in[1]:
- (control field)
DESCRIPTION:
Execution of the reflect unit will
use the data vector that is present at its X_in -field
to modify the output field (of another unit) that is attached
to its Y_in field.
The following modifications can be chosen with pcOpt:
- "="
- replace
- "+"
- add vector
- "*"
- multiply
- "M"
- elementwise maximum
- "m"
- elementwise minimum
- "v"
- moving average (weight restarts at reset)
The presence of the additional letters "eari" allows to
tie execution of the operation to exec_unit, adapt_unit,
NST_RESET, NST_INIT.
In this way, the reflect unit provides write access into the
output field of another unit (the written field is
the output field that is connected to Y_in
of the reflect - unit).
If CTL_in[0]=0, the unit is switched off, i.e.,
no operation will be performed.
FILE
/local/homes/rhaschke/nst7/man/../o.linx86_64//../nstsrc/nst3.c