.TH IM_ANDIMAGE 3 "30 October 1992"
.SH NAME
im_andimage, im_andconst, im_and_vec, im_orimage, im_orconst, im_or_vec,
im_eorimage, im_eorconst, im_eor_vec \- boolean
operations on unsigned char images
.SH SYNOPSIS
.B #include <vips/vips.h>

.B int im_andimage(a, b, out)
.br
.B IMAGE *a, *b, *out;

.B int im_andconst(a, out, c)
.br
.B IMAGE *a, *out;
.br
.B double c;

.B int im_and_vec(a, out, n, v)
.br
.B IMAGE *a, *out;
.br
.B int n;
.br
.B double *v;

.B int im_orimage(a, b, out)
.br
.B IMAGE *a, *b, *out;

.B int im_orconst(a, out, c)
.br
.B IMAGE *a, *out;
.br
.B double c;

.B int im_or_vec(a, out, n, v)
.br
.B IMAGE *a, *out;
.br
.B int n;
.br
.B double *v;

.B int im_eorimage(a, b, out)
.br
.B IMAGE *a, *b, *out;

.B int im_eorconst(a, out, c)
.br
.B IMAGE *a, *out;
.br
.B double c;

.B int im_eor_vec(a, out, n, v)
.br
.B IMAGE *a, *out;
.br
.B int n;
.br
.B double *v;

.SH DESCRIPTION
Perform bitwise logical operations on integer images.

.B im_andimage(3)
performs bitwise and between corresponding pixels in a and b, writing the
result to out.  Both images must be the same size and have the same number
of bands.  They can have any integer type.

.B im_andconst(3) 
performs bitwise and between pixels in a and a single 
constant value. 
.B im_and_vec(3) 
lets you specify n constants, one per band.

.B im_orimage(3) 
and 
.B im_eorimage(3) 
behave similarly. Use im_eorconst( in, out, -1 ) or 
.B im_invert(3) 
as a not operator.

.SH RETURN VALUE
All functions return 0 on success and -1 on error.
.SH SEE ALSO
im_ifthenelse(3), im_equal(3).
.SH COPYRIGHT
National Gallery, 1992
.SH AUTHOR
J. Cupitt