mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
add new versin and vercos builtin functions
Added new versin(x, [,eps]) for versed sine and vercos(x, [,eps]) for versed cosine. Updated trig help files.
This commit is contained in:
@@ -228,8 +228,8 @@ DETAIL_HELP= abs access acos acosh acot acoth acsc acsch address agd \
|
||||
sin sinh size sizeof sleep sort sqrt srand srandom ssq stoponerror str \
|
||||
strcasecmp strcat strcmp strcpy strerror strlen strncasecmp strncmp \
|
||||
strncpy strpos strprintf strscan strscanf strtolower strtoupper substr \
|
||||
sum swap system systime tail tan tanh test time trunc usertime version \
|
||||
xor
|
||||
sum swap system systime tail tan tanh test time trunc usertime vercos \
|
||||
versin version xor
|
||||
|
||||
# This list is of files that are clones of DETAIL_HELP files. They are
|
||||
# built from DETAIL_HELP files.
|
||||
|
1
help/cos
1
help/cos
@@ -34,6 +34,7 @@ LINK LIBRARY
|
||||
|
||||
SEE ALSO
|
||||
sin, tan, sec, csc, cot, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2021,2023 Landon Curt Noll
|
||||
##
|
||||
|
2
help/cot
2
help/cot
@@ -23,9 +23,11 @@ LIMITS
|
||||
|
||||
LINK LIBRARY
|
||||
NUMBER *qcot(NUMBER *x, NUMBER *eps)
|
||||
COMPLEX *c_acot(COMPLEX *c, NUMBER *eps);
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, tan, sec, csc, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2021,2023 Landon Curt Noll
|
||||
##
|
||||
|
1
help/csc
1
help/csc
@@ -26,6 +26,7 @@ LINK LIBRARY
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, tan, sec, cot, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2023 Landon Curt Noll
|
||||
##
|
||||
|
1
help/sec
1
help/sec
@@ -27,6 +27,7 @@ LINK LIBRARY
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, tan, csc, cot, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2023 Landon Curt Noll
|
||||
##
|
||||
|
1
help/sin
1
help/sin
@@ -34,6 +34,7 @@ LINK LIBRARY
|
||||
|
||||
SEE ALSO
|
||||
cos, tan, sec, csc, cot, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2021,2023 Landon Curt Noll
|
||||
##
|
||||
|
2
help/tan
2
help/tan
@@ -24,9 +24,11 @@ LIMITS
|
||||
|
||||
LINK LIBRARY
|
||||
NUMBER *qtan(NUMBER *x, NUMBER *eps)
|
||||
COMPLEX *c_atan(COMPLEX *c, NUMBER *eps);
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, sec, csc, cot, epsilon
|
||||
versin, vercos
|
||||
|
||||
## Copyright (C) 1999,2023 Landon Curt Noll
|
||||
##
|
||||
|
67
help/vercos
Normal file
67
help/vercos
Normal file
@@ -0,0 +1,67 @@
|
||||
NAME
|
||||
vercos - versed cosine
|
||||
|
||||
SYNOPSIS
|
||||
vercos(x [,eps])
|
||||
|
||||
TYPES
|
||||
x number (real or complex)
|
||||
eps 0 < real < 1, defaults to epsilon()
|
||||
|
||||
return number
|
||||
|
||||
DESCRIPTION
|
||||
Calculate the versed cosine of x to a multiple of eps with error less in
|
||||
absolute value than .75 * eps.
|
||||
|
||||
The versed cosine function is sometimes called coversin, sometimes called cvs,
|
||||
may be defined as:
|
||||
|
||||
vercos(x) = 1 - sin(x)
|
||||
|
||||
EXAMPLE
|
||||
; print vercos(0.2), vercos(3/7), vercos(-31)
|
||||
0.80133066920493878454 0.58442814500694799193 0.59596235467693499395
|
||||
|
||||
; print vercos(1, 1e-5), vercos(1, 1e-10), vercos(1, 1e-15), vercos(1, 1e-20)
|
||||
0.15853 0.1585290152 0.158529015192104 0.15852901519210349335
|
||||
|
||||
; print vercos(2 + 3i, 1e-5), vercos(2 + 3i, 1e-10)
|
||||
-8.1545+4.16891i -8.1544991469+4.16890696i
|
||||
|
||||
; pi = pi(1e-20)
|
||||
; print vercos(pi/6, 1e-10), vercos(pi/2, 1e-10), vercos(pi, 1e-10), vercos(3*pi/2, 1e-10)
|
||||
0.5 0 1 2
|
||||
|
||||
LIMITS
|
||||
0 < eps < 1
|
||||
|
||||
LINK LIBRARY
|
||||
NUMBER *qvercos(NUMBER *x, NUMBER *eps)
|
||||
COMPLEX *c_vercos(COMPLEX *x, NUMBER *eps)
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, tan, sec, csc, cot, epsilon
|
||||
versin
|
||||
|
||||
## 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/08/31 23:07:08
|
||||
## 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/
|
67
help/versin
Normal file
67
help/versin
Normal file
@@ -0,0 +1,67 @@
|
||||
NAME
|
||||
versin - versed sine
|
||||
|
||||
SYNOPSIS
|
||||
versin(x [,eps])
|
||||
|
||||
TYPES
|
||||
x number (real or complex)
|
||||
eps 0 < real < 1, defaults to epsilon()
|
||||
|
||||
return number
|
||||
|
||||
DESCRIPTION
|
||||
Calculate the versed sine of x to a multiple of eps with error less in
|
||||
absolute value than .75 * eps.
|
||||
|
||||
The versed sine function is sometimes called vers, sometimes called ver,
|
||||
may be defined as:
|
||||
|
||||
versin(x) = 1 - cos(x)
|
||||
|
||||
EXAMPLE
|
||||
; print versin(0.2), versin(3/7), versin(-31)
|
||||
0.01993342215875836888 0.09043964832583332597 0.08525764219546872104
|
||||
|
||||
; print versin(1, 1e-5), versin(1, 1e-10), versin(1, 1e-15), versin(1, 1e-20)
|
||||
0.4597 0.4596976941 0.45969769413186 0.4596976941318602826
|
||||
|
||||
; print versin(2 + 3i, 1e-5), versin(2 + 3i, 1e-10)
|
||||
5.18963+9.10923i 5.189625691+9.1092278938i
|
||||
|
||||
; pi = pi(1e-20)
|
||||
; print versin(pi/3, 1e-10), versin(pi/2, 1e-10), versin(pi, 1e-10), versin(3*pi/2, 1e-10)
|
||||
0.5 1 2 1
|
||||
|
||||
LIMITS
|
||||
0 < eps < 1
|
||||
|
||||
LINK LIBRARY
|
||||
NUMBER *qversin(NUMBER *x, NUMBER *eps)
|
||||
COMPLEX *c_versin(COMPLEX *x, NUMBER *eps)
|
||||
|
||||
SEE ALSO
|
||||
sin, cos, tan, sec, csc, cot, epsilon
|
||||
vercos
|
||||
|
||||
## 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/08/31 23:05:28
|
||||
## 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/
|
Reference in New Issue
Block a user