.TH IM_COSTRA 3 "24 April 1991"
.SH NAME
im_costra, im_sintra, im_tantra,
im_acostra, im_asintra, im_atantra \- basic trig functions
.SH SYNOPSIS
#include <vips/vips.h>

int im_costra(in, out)
.br
IMAGE *in, *out;

int im_sintra(in, out)
.br
IMAGE *in, *out;

int im_tantra(in, out)
.br
IMAGE *in, *out;

int im_acostra(in, out)
.br
IMAGE *in, *out;

int im_asintra(in, out)
.br
IMAGE *in, *out;

int im_atantra(in, out)
.br
IMAGE *in, *out;

.SH DESCRIPTION
Basic trig functions. The input image is mapped through either cos(3), sin(3) or
tan(3) and written to out. All work in degrees.

The size and number of bands are unchanged, the output type is float, unless
the input is double, in which case the output is double.  Non-complex images
only!

.SH RETURN VALUE
Each function returns 0 on success and -1 on error.
.SH SEE ALSO
im_add(3), im_lintra(3), im_abs(3), im_mean(3), im_logtra(3)
.SH COPYRIGHT
National Gallery, 1995.
.SH AUTHOR
J. Cupitt \- 21/7/93
