add logn and error checking for invalue eps and epsilon values

Add new logn(x, n [,eps]) builtin to compute logarithms to base n.

Verify that eps arguments (error tolerance arguments that override
the default epsilon value) to builtin functions have proper values.
Previously the eps argument had little to no value checks for
many builtin functions.

Document in help files for builtin functions that take eps arguments,
the LIMIT range for such eps values.
This commit is contained in:
Landon Curt Noll
2023-08-31 22:33:41 -07:00
parent 4787199462
commit 1c839dfede
55 changed files with 1092 additions and 199 deletions

View File

@@ -36,7 +36,7 @@ EXAMPLE
5 6.40312 6.4031242374
LIMITS
none
when x is complex, eps != 0
LINK LIBRARY
NUMBER *qqabs(NUMBER *x)
@@ -44,7 +44,7 @@ LINK LIBRARY
SEE ALSO
cmp, epsilon, hypot, norm, near, obj
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, -1 <= x <= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
1.0472 1.0471975512 1.047197551196598 1.04719755119659774615
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacos(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
asin, atan, asec, acsc, acot, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, x >= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return nonnegative real
@@ -24,7 +24,7 @@ EXAMPLE
1.31696 1.3169578969 1.316957896924817 1.31695789692481670862
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacosh(NUMBER *x, NUMBER *eps)
@@ -32,7 +32,7 @@ LINK LIBRARY
SEE ALSO
asinh, atanh, asech, acsch, acoth, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
0.46365 0.463647609 0.463647609000806 0.46364760900080611621
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacot(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
asin, acos, atan, asec, acsc, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, with abs(x) > 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -23,7 +23,7 @@ EXAMPLE
0.54931 0.5493061443 0.549306144334055 0.5493061443340548457
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacoth(NUMBER *x, NUMBER *eps)
@@ -31,7 +31,7 @@ LINK LIBRARY
SEE ALSO
asinh, acosh, atanh, asech, acsch, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, with absolute value >= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
0.5236 0.5235987756 0.523598775598299 0.52359877559829887308
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacsc(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
asin, acos, atan, asec, acot, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -23,7 +23,7 @@ EXAMPLE
0.48121 0.4812118251 0.481211825059603 0.4812118250596034475
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qacsch(NUMBER *x, NUMBER *eps)
@@ -31,7 +31,7 @@ LINK LIBRARY
SEE ALSO
asinh, acosh, atanh, asech, acoth, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -24,7 +24,7 @@ EXAMPLE
56.3099 135 -135
LIMITS
none
eps != 0
LINK LIBRARY
none

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, with absolute value >= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
1.0472 1.0471975512 1.047197551196598 1.04719755119659774615
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qasec(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
asin, acos, atan, acsc, acot, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, 0 < x <= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -23,7 +23,7 @@ EXAMPLE
1.31696 1.3169578969 1.316957896924817 1.31695789692481670862
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qasech(NUMBER *x, NUMBER *eps)
@@ -31,7 +31,7 @@ LINK LIBRARY
SEE ALSO
asinh, acosh, atanh, acsch, acoth, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real, -1 <= x <= 1
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
0.5236 0.5235987756 0.523598775598299 0.52359877559829887308
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qasin(NUMBER *q, NUMBER *epsilon)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
acos, atan, asec, acsc, acot, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -23,7 +23,7 @@ EXAMPLE
1.44363 1.4436354752 1.44363547517881 1.44363547517881034249
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qasinh(NUMBER *x, NUMBER *eps)
@@ -31,7 +31,7 @@ LINK LIBRARY
SEE ALSO
acosh, atanh, asech, acsch, acoth, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
1.10715 1.1071487178 1.107148717794091 1.10714871779409050302
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qatan(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
asin, acos, asec, acsc, acot, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -28,7 +28,7 @@ EXAMPLE
0 ~0.52359877559829887307 ~0.31038740713235146535
LIMITS
none
eps != 0
LINK LIBRARY
NUMBER *qatan2(NUMBER *y, *x, *acc)
@@ -36,7 +36,7 @@ LINK LIBRARY
SEE ALSO
acos, asin, atan, cos, epsilon, sin, tan
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -23,7 +23,7 @@ EXAMPLE
0.54931 0.5493061443 0.549306144334055 0.5493061443340548457
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qatanh(NUMBER *x, NUMBER *eps)
@@ -31,7 +31,7 @@ LINK LIBRARY
SEE ALSO
asinh, acosh, asech, acsch, acoth, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -1034,7 +1034,7 @@ EXAMPLE
3.141592653589793238462643383279502884197169399375105820974944592307816406
LIMITS
none
0 < epsilon < 1
LINK LIBRARY
none

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -26,7 +26,7 @@ EXAMPLE
0.5 0 -1
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcos(NUMBER *x, NUMBER *eps)
@@ -35,7 +35,7 @@ LINK LIBRARY
SEE ALSO
sin, tan, sec, csc, cot, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,13 +6,13 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
DESCRIPTION
Calculate the cosh of x to the nearest or next to nearest multiple of
epsilon, with absolute error less than .75 * abs(eps).
epsilon, with absolute error less than .75 * eps.
cosh(x) = (exp(x) + exp(-x))/2
@@ -21,7 +21,7 @@ EXAMPLE
1.54308 1.5430806348 1.543080634815244 1.54308063481524377848
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcosh(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
sinh, tanh, sech, csch, coth, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real
acc nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -19,7 +19,7 @@ EXAMPLE
0.64209 0.6420926159 0.642092615934331 0.64209261593433070301
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcot(NUMBER *x, NUMBER *eps)
@@ -27,7 +27,7 @@ LINK LIBRARY
SEE ALSO
sin, cos, tan, sec, csc, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
1.31304 1.3130352855 1.313035285499331 1.31303528549933130364
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcoth(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
sinh, cosh, tanh, sech, csch, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -19,7 +19,7 @@ EXAMPLE
1.1884 1.1883951058 1.188395105778121 1.18839510577812121626
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcsc(NUMBER *x, NUMBER *eps)
@@ -27,7 +27,7 @@ LINK LIBRARY
SEE ALSO
sin, cos, tan, sec, cot, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -21,7 +21,7 @@ EXAMPLE
0.85092 0.8509181282 0.850918128239322 0.85091812823932154513
LIMITS
none
0 < eps < 1
LINK LIBRARY
NUMBER *qcsch(NUMBER *x, NUMBER *eps)
@@ -29,7 +29,7 @@ LINK LIBRARY
SEE ALSO
sinh, cosh, tanh, sech, coth, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps eps value is ignored
return number
@@ -32,7 +32,7 @@ SEE ALSO
d2r, r2d, g2r, r2g, g2d,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -27,7 +27,7 @@ EXAMPLE
0.5 0.5 1
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qpidiv180(NUMBER *eps)
@@ -36,7 +36,7 @@ SEE ALSO
r2d, g2r, r2g, d2g, g2d,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -5,7 +5,7 @@ SYNOPSIS
epsilon([eps])
TYPES
eps real number greater than 0 and less than 1
eps 0 < real < 1, defaults to epsilon()
return real number greater than 0 and less than 1
@@ -72,7 +72,7 @@ EXAMPLE
3.141592653589793238462643383279502884197169399375105820974944592307816406
LIMITS
none
0 < eps < 1
LINK LIBRARY
void setepsilon(NUMBER *eps)
@@ -81,7 +81,7 @@ LINK LIBRARY
SEE ALSO
config, display, fprintf, printf, strprintf
## Copyright (C) 1999,2018,2021 Landon Curt Noll
## Copyright (C) 1999,2018,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real or complex
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real or complex
@@ -32,6 +32,7 @@ EXAMPLE
LIMITS
x < 693093
0 < eps < 1
LINK LIBRARY
NUMBER *qexp(NUMBER *x, NUMBER *eps)
@@ -40,7 +41,7 @@ LINK LIBRARY
SEE ALSO
ln, cosh, sinh, tanh
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps eps value is ignored
return number
@@ -32,7 +32,7 @@ SEE ALSO
d2r, r2d, g2r, r2g, d2g,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -27,7 +27,7 @@ EXAMPLE
0.5 0.5 1
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qpidiv200(NUMBER *eps)
@@ -36,7 +36,7 @@ SEE ALSO
d2r, r2d, r2g, d2g, g2d,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
z number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number or "Log of zero or infinity" error value
@@ -42,7 +42,7 @@ EXAMPLE
1.42291+0.22751i 1.4229114625+0.2275106584i
LIMITS
none
0 < eps < 1
LINK LIBRARY
COMPLEX *c_gd(COMPLEX *x, NUMBER *eps)
@@ -50,7 +50,7 @@ LINK LIBRARY
SEE ALSO
agd, exp, ln, sin, sinh, etc.
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x, y real
eps nonzero real
eps nonzero real, defaults to epsilon()
return real
@@ -19,7 +19,7 @@ EXAMPLE
5 3.605551
LIMITS
none
eps != 0
LINK LIBRARY
NUMBER *qhypot(NUMBER *q1, *q2, *epsilon)
@@ -27,7 +27,7 @@ LINK LIBRARY
SEE ALSO
ltol
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real or complex
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real or complex
@@ -25,7 +25,7 @@ EXAMPLE
LIMITS
x != 0
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qln(NUMBER *x, NUMBER *eps)

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real or complex
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real or complex
@@ -29,7 +29,7 @@ EXAMPLE
LIMITS
x != 0
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qlog(NUMBER *x, NUMBER *eps)
@@ -38,7 +38,7 @@ LINK LIBRARY
SEE ALSO
ilog, ilogn, ilog10, ilog2, ln, log2, logn
## Copyright (C) 2006 Landon Curt Noll
## Copyright (C) 2006,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x nonzero real or complex
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real or complex
@@ -17,7 +17,7 @@ DESCRIPTION
When x is an integer power of 2, log2(x) will return an integer
regardless of the value of eps or epsilon().
If y is a positive integer, log(x, 2^-y) will usually be correct
If y is a positive integer, log2(x, 2^-y) will usually be correct
to the y-th decimal place.
EXAMPLE
@@ -41,7 +41,7 @@ EXAMPLE
LIMITS
x != 0
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qlog2(NUMBER *x, NUMBER *eps)

View File

@@ -7,7 +7,7 @@ SYNOPSIS
TYPES
x nonzero real or complex
n nonzero real or complex
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real or complex
@@ -17,26 +17,45 @@ DESCRIPTION
The base, n, must not be 0 nor 1.
If y is a positive integer, log(x, n^-y) will usually be correct
When x = 2^a is an integer power of 2 and when n = 2^b is an
integer power of 2, then log2(x, n) will return a/b
regardless of the value of eps or epsilon().
If y is a positive integer, logn(x, n, m^-y) will usually be correct
to the y-th decimal place.
EXAMPLE
; print logn(15.625, 2.5), logn(15.625, 2.5, 1e-25)
~3.00000000000000000001 3
; print logn(2, 2), logn(4, 2), logn(1024, 2), logn(2^500, 2), logn(1/2^23209, 2)
1 2 10 500 -23209
; print logn(127, 1/13), log(23209, sqrt(3)), logn(2^17-19, 17)
~-1.88860925162778125111 6 ~4.15900804831225415076
; print logn(2, 42), logn(1024, 42), logn(2^500, 42), logn(1/2^23209, 42)
0.18544902341536890054 1.85449023415368900542 92.72451170768445027095 -4304.08638444729681267682
; print logn(127, 1/13), logn(23209, sqrt(3)), logn(2^17-19, 17)
-1.88860925162778125111 18.29998720595030380546 4.15900804831225415076
; print logn(-1, 1i), logn(2+3i, 3i+2), logn(2+3i, 3i)
2 1 ~0.80360095345990217753-~0.25441159318835790311i
2 1 0.80360095345990217753-0.25441159318835790311i
; print logn(22+3i, 3i, 1e-50)
~0.98489914201047045408-~1.28484657882287682702i
; print logn(22+3i, 3i), logn(22+3i, 3i, 1e-50)
0.98489914201047045409-1.28484657882287682702i 0.98489914201047045408-1.28484657882287682702i
; print logn(-127, 7), logn(-127i, 7i)
2.48941971386002223933+1.61445925708078115429i 1.11272593230445294959-1.70545496954177392315i
; print logn(2+3i, 4), logn(-2+3i, 4i)
0.92510992953527304010+0.70893581537286099830i 1.17764179178059522911+0.22287007593665359808i
; print logn(2-3i, 4), logn(-2-3i, 4i)
0.92510992953527304010-0.70893581537286099830i -0.36752510241663632776-1.14080522421220596732i
; print logn(17+0.3i, 17, 1e-75), logn(-17-0.3i, 17i, 1e-75)
1.00005495001021376506+0.00622799102938744640i 0.29734185630294053511-1.26746929577868497155i
LIMITS
x != 0
n != 0 && n != 1
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qlogn(NUMBER *x, NUMBER *n, NUMBER *eps)

View File

@@ -7,7 +7,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real
eps nonzero real, defaults to epsilon()
return real
@@ -21,6 +21,7 @@ EXAMPLE
LIMITS
abs(x) <= 1
eps != 0
LINK LIBRARY
NUMBER *qlegtoleg(NUMBER *q1, *epsilon, BOOL wantneg)
@@ -28,7 +29,7 @@ LINK LIBRARY
SEE ALSO
hypot
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -7,7 +7,7 @@ SYNOPSIS
TYPES
x real
y real
eps real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return -1, 0 or 1
@@ -22,7 +22,7 @@ EXAMPLE
-1 1
LIMITS
eps >= 0
0 < eps < 1
LINK LIBRARY
FLAG qnear(NUMBER *x, NUMBER *y, NUMBER *eps)
@@ -30,7 +30,7 @@ LINK LIBRARY
SEE ALSO
epsilon, abs
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -5,7 +5,7 @@ SYNOPSIS
pi([eps])
TYPES
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -18,7 +18,7 @@ EXAMPLE
3.14159 3.1415926536 3.141592653589793 3.14159265358979323846
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qpi(NUMBER *eps)
@@ -26,7 +26,7 @@ LINK LIBRARY
SEE ALSO
atan2
## Copyright (C) 1999-2006 Landon Curt Noll
## Copyright (C) 1999-2006,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

View File

@@ -26,7 +26,7 @@ EXAMPLE
1.41421+1.41421i 2i -1.414215+1.41421i
LIMITS
none
eps != 0
LINK LIBRARY
COMPLEX *c_polar(NUMBER *r, NUMBER *t, NUMBER *eps);
@@ -34,7 +34,7 @@ LINK LIBRARY
SEE ALSO
abs, arg, re, im
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -45,7 +45,7 @@ LIMITS
except in the case of y = 0; power(0, 0, eps) is the multiple of
eps nearest 1.
eps > 0
eps != 0
LINK LIBRARY
void powervalue(VALUE *x, VALUE *y, VALUE *eps, VALUE *result)
@@ -55,7 +55,7 @@ LINK LIBRARY
SEE ALSO
root
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -25,7 +25,7 @@ EXAMPLE
180+~229.18311805232928350739i 60+180, 36+900i
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qpidiv180(NUMBER *eps)
@@ -34,7 +34,7 @@ SEE ALSO
d2r, g2r, r2g, d2g, g2d,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -25,7 +25,7 @@ EXAMPLE
200+~254.64790894703253723043i 50+200i 40+1000i
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qpidiv200(NUMBER *eps)
@@ -34,7 +34,7 @@ SEE ALSO
d2r, r2d, g2r, d2g, g2d,
sin, cos, tan, sec, csc, cot, epsilon
## Copyright (C) 2021 Landon Curt Noll
## Copyright (C) 2021,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

View File

@@ -42,7 +42,7 @@ EXAMPLE
LIMITS
n >= 0
eps > 0
eps != 0
LINK LIBRARY
void rootvalue(VALUE *x, VALUE *n, VALUE *eps, VALUE *result)
@@ -52,7 +52,7 @@ LINK LIBRARY
SEE ALSO
power
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -20,7 +20,7 @@ EXAMPLE
LIMITS
unlike sin and cos, x must be real
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qsec(NUMBER *x, NUMBER *eps)
@@ -28,7 +28,7 @@ LINK LIBRARY
SEE ALSO
sin, cos, tan, csc, cot, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -22,7 +22,7 @@ EXAMPLE
LIMITS
unlike sin and cos, x must be real
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qsech(NUMBER *x, NUMBER *eps)
@@ -30,7 +30,7 @@ LINK LIBRARY
SEE ALSO
sinh, cosh, tanh, csch, coth, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x number (real or complex)
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return number
@@ -26,7 +26,7 @@ EXAMPLE
0.5 1 0
LIMITS
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qsin(NUMBER *x, NUMBER *eps)
@@ -35,7 +35,7 @@ LINK LIBRARY
SEE ALSO
cos, tan, sec, csc, cot, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -22,7 +22,7 @@ EXAMPLE
LIMITS
unlike sin and cos, x must be real
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qsinh(NUMBER *x, NUMBER *eps)
@@ -30,7 +30,7 @@ LINK LIBRARY
SEE ALSO
cosh, tanh, sech, csch, coth, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -15,7 +15,7 @@ TYPES
For other argument types:
x real or complex
eps nonzero real
eps 0 < real < 1, defaults to epsilon()
z integer
return real or complex
@@ -119,7 +119,7 @@ EXAMPLE
0 0.0002
LIMITS
none
0 < eps < 1
LINK LIBRARY
COMPLEX *c_sqrt(COMPLEX *x, NUMBER *ep, long z)
@@ -130,7 +130,7 @@ LINK LIBRARY
SEE ALSO
appr, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -20,7 +20,7 @@ EXAMPLE
LIMITS
unlike sin and cos, x must be real
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qtan(NUMBER *x, NUMBER *eps)
@@ -28,7 +28,7 @@ LINK LIBRARY
SEE ALSO
sin, cos, sec, csc, cot, epsilon
## Copyright (C) 1999 Landon Curt Noll
## Copyright (C) 1999,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

View File

@@ -6,7 +6,7 @@ SYNOPSIS
TYPES
x real
eps nonzero real, defaults to epsilon()
eps 0 < real < 1, defaults to epsilon()
return real
@@ -22,7 +22,7 @@ EXAMPLE
LIMITS
unlike sin and cos, x must be real
eps > 0
0 < eps < 1
LINK LIBRARY
NUMBER *qtanh(NUMBER *x, NUMBER *eps)
@@ -30,7 +30,7 @@ LINK LIBRARY
SEE ALSO
sinh, cosh, sech, csch, coth, epsilon
## Copyright (C) 1999,2021 Landon Curt Noll
## Copyright (C) 1999,2021,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