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//../nstsrc/nst3.c