add exterior trigonometric functions

Added the following new trigonometric functions:

    exsec(x [,eps])		exterior trigonometric secant
    aexsec(x [,eps])		inverse exterior trigonometric secant
    excsc(x [,eps])		exterior trigonometric cosecant
    aexcsc(x [,eps])		inverse exterior trigonometric cosecant

Added to test 95dd and test9500.trigeq.cal to the calc regression test
suite to perform extensive test of trigonometric functions.

Added to test 34dd, some if the missing inverse trigonometric tests.
This commit is contained in:
Landon Curt Noll
2023-10-01 23:12:21 -07:00
parent 5d62e58704
commit c78a893862
41 changed files with 1693 additions and 237 deletions

74
help/exsec Normal file
View File

@@ -0,0 +1,74 @@
NAME
exsec - exterior trigonometric secant
SYNOPSIS
exsec(x [,eps])
TYPES
x number (real or complex)
eps 0 < real < 1, defaults to epsilon()
return real
DESCRIPTION
Calculate the exterior trigonometric secant of x to a multiple of eps, with error less
in absolute value than .75 * eps.
This function is equivalent to:
exsec(x) = sec(x) - 1
EXAMPLE
; print exsec(1/2), exsec(5/7), exsec(42/7)
0.13949392732454912231 0.3235192673191814545 0.04148192659510767648
; print exsec(1, 1e-5), exsec(1, 1e-10), exsec(1, 1e-15), exsec(1, 1e-20)
0.85082 0.8508157177 0.850815717680926 0.85081571768092561791
; print exsec(2 + 3i, 1e-5), exsec(2 + 3i, 1e-10)
~-1.04167497639869547021+~0.09061109101765280898i ~-1.04167496441100888150+~0.09061113719571288336i
; pi = pi(1e-20)
; print exsec(pi/6), exsec(pi/2), exsec(pi)
0.15470053837925152902 756606132568153667452.84481533280934425956 -2
; # NOTE: The huge value for exsec(pi/2) is because the pi variable is not exactly pi.
LIMITS
0 < eps < 1
LINK LIBRARY
NUMBER *qexsec(NUMBER *x, NUMBER *eps)
COMPLEX *c_exsec(COMPLEX *c, NUMBER *eps)
SEE ALSO
sin, cos, tan, cot, sec, csc
asin, acos, atan, acot, asec, acsc
versin, coversin, vercos, covercos
aversin, acoversin, avercos, acovercos
haversin, hacoversin, havercos, hacovercos
ahaversin, hacoversin, havercos, ahacovercos
aexsec, excsc, aexcsc
epsilon
## Copyright (C) 2023 Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL. You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
## Under source code control: 2023/10/01 00:19:00
## File existed as early as: 2023
##
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/