All --

Possibly just for fun, here are some obscure trigonometric ops to
complement the trig ops we already have.


Regards,

-- Gregor
 _____________________________________________________________________ 
/     perl -e 'srand(-2091643526); print chr rand 90 for (0..4)'      \

   Gregor N. Purdy                          [EMAIL PROTECTED]
   Focus Research, Inc.                http://www.focusresearch.com/
   8080 Beckett Center Drive #203                   513-860-3570 vox
   West Chester, OH 45069                           513-860-3579 fax
\_____________________________________________________________________/
/*
** obscure.ops
*/

#include <math.h>

=head1 NAME

obscure.ops

=cut

=head1 DESCRIPTION

Parrot's library of obscure ops.

=cut


###############################################################################

=head2 Obscure trigonometric operations

Reference:

    Abramowitz, M. and Stegum, C. A. (Eds.). Handbook of Mathematical
    Functions with Formulas, Graphs, and Mathematical Tables, 9th printing.
    New York: Dover, p. 78, 1972.

=over 4

=cut


########################################

=item B<covers>(n, i)

=item B<covers>(n, n)

Set $1 to the coversine (in radians) of $2.

=cut

AUTO_OP covers(n, i|n) {
   $1 = 1.0 - sin((FLOATVAL)$2);
}


########################################

=item B<exsec>(n, i)

=item B<exsec>(n, n)

Set $1 to the exsecant of $2 (given in radians).

=cut


AUTO_OP exsec(n, i|n) {
   $1 = (((FLOATVAL)1.0) / cos((FLOATVAL)$2)) - (FLOATVAL)1.0;
}


########################################

=item B<hav>(n, i)

=item B<hav>(n, n)

Set $1 to the haversine (in radians) of $2.

=cut

AUTO_OP hav(n, i|n) {
   $1 = 0.5 * (1.0 - cos((FLOATVAL)$2));
}


########################################

=item B<vers>(n, i)

=item B<vers>(n, n)

Set $1 to the versine (in radians) of $2.

=cut

AUTO_OP vers(n, i|n) {
   $1 = 1.0 - cos((FLOATVAL)$2);
}


=back

=cut


###############################################################################

=head1 COPYRIGHT

Copyright (C) 2001 Yet Another Society. All rights reserved.

=head1 LICENSE

This program is free software. It is subject to the same license
as the Parrot interpreter itself.

=cut

Reply via email to