DESCRIPTION

These functions operate on two images held by image descriptors in1 and in2
and write the result to the image descriptor out. Input images in1 and in2
should have the same channels and the same size; however they can be of
different types. Only the history of the image descriptor pointed by in1 is
copied to out.

If one or more of the images is a floating point type, the output is FMTFLOAT,
unless one or more of the inputs is FMTDOUBLE, in which case the output is
also FMTDOUBLE.

If one or more of the images is a complex type, the output is FMTCOMPLEX,
unless one or more of the inputs is FMTDPCOMPLEX, in which case the output is
also FMTDPCOMPLEX.

im_gadd(3)
performs generalised addition of two images by calling
im_gaddim(3)
and
im_gfadd(3).
These are very old and tired things, and should not be used.

Input should be non complex. Output depends on input according to function
called. The result at each point is: a * pel1 + b * pel2 + c, properly
rounded if necessary. Pel1 and pel2 are the
corresponding pixels from in1 and in2 respectively.

im_gaddim() performs generalised addition of in1 and in2, on the condition
they are neither float nor double nor complex. The format of the resultant
image is given by the table:

The result at each point is: a * pel1 + b * pel2 + c, properly rounded. Pel1
and pel2 are the corresponding pixels from in1 and in2 respectively.

im_gfadd(3)
adds the non-complex images pointed by in1 and in2. Result is
float except if one (or both) inputs is double. In the latter case the result
is double. The result at each point is: a * pel1 + b * pel2 + c. Pel1 and
pel2 are the corresponding pixels from in1 and in2 respectively.