From 8932d13ffa3a7e7b31fdacc07217669dbb2d6dee Mon Sep 17 00:00:00 2001 From: michael Date: Thu, 6 Jul 2000 12:36:26 +0000 Subject: [PATCH] + Added many functions --- docs/math.tex | 212 +++++++++++++++++++++++++++++++------------------- 1 file changed, 132 insertions(+), 80 deletions(-) diff --git a/docs/math.tex b/docs/math.tex index 833cbd64bd..384e86fa82 100644 --- a/docs/math.tex +++ b/docs/math.tex @@ -37,17 +37,19 @@ The following types are defined in the \file{math} unit: Type Float = Extended; \end{verbatim} - +All calculations are done with the Float type. This allows to +recompile the unit with a different float type to obtain a +desired precision. \begin{verbatim} Type TPaymentTime = (PTEndOfPeriod,PTStartOfPeriod); \end{verbatim} - +\var{TPaymentTime} is used in the financial calculations. \begin{verbatim} Type EInvalidArgument = Class(EMathError); \end{verbatim} - +The \var{EInvalidArgument} exception is used to report invalid arguments. \section{Functions and Procedures} \begin{function}{arccos} @@ -57,10 +59,10 @@ Function arccos(x : float) : float; \var{Arccos} returns the inverse cosine of its argument \var{x}. The argument \var{x} should lie between -1 and 1 (borders included). \Errors -If the argument \var{x} is not in the allowed range, an \var{EMathError} -exception is raised. +If the argument \var{x} is not in the allowed range, an +\var{EInvalidArgument} exception is raised. \SeeAlso -\seef{arcsin}, \seef{arcosh}, \seef{arsinh}, \seef{arctanh} +\seef{arsin}, \seef{arcosh}, \seef{arsinh}, \seef{artanh} \end{function} \FPCexample{ex1} @@ -76,10 +78,10 @@ The argument \var{x} should be larger than 1. The \var{arccosh} variant of this function is supplied for \delphi compatibility. \Errors -If the argument \var{x} is not in the allowed range, an \var{EMathError} +If the argument \var{x} is not in the allowed range, an \var{EInvalidArgument} exception is raised. \SeeAlso -\seef{cosh}, \seef{sinh}, \seef{arcsin}, \seef{arcsinh}, \seef{arctanh}, +\seef{cosh}, \seef{sinh}, \seef{arsin}, \seef{arsinh}, \seef{artanh}, \seef{tanh} \end{function} @@ -92,10 +94,10 @@ Function arcsin(x : float) : float; \var{Arcsin} returns the inverse sine of its argument \var{x}. The argument \var{x} should lie between -1 and 1. \Errors -If the argument \var{x} is not in the allowed range, an \var{EMathError} +If the argument \var{x} is not in the allowed range, an \var{EInvalidArgument} exception is raised. \SeeAlso -\seef{arccos}, \seef{arccosh}, \seef{arcsinh}, \seef{arctanh} +\seef{arcos}, \seef{arcosh}, \seef{arsinh}, \seef{artanh} \end{function} \FPCexample{ex2} @@ -116,23 +118,10 @@ On Intel systems this function is implemented with the native intel \Errors If \var{x} is zero, an overflow error will occur. \SeeAlso -\seef{arccos}, \seef{arccosh}, \seef{arcsinh}, \seef{arctanh} +\seef{arcos}, \seef{arcosh}, \seef{arsinh}, \seef{artanh} \end{function} -\FPCexample{} - - -\begin{function}{arctanh} -\Declaration -Function arctanh(x : float) : float; -\Description - -\Errors -\SeeAlso -\end{function} - -\FPCexample{} - +\FPCexample{ex6} \begin{function}{arsinh} \Declaration @@ -146,7 +135,7 @@ compatibility. \Errors None. \SeeAlso -\seef{arccosh}, \seef{arccos}, \seef{arsin}, \seef{artanh} +\seef{arcosh}, \seef{arcos}, \seef{arsin}, \seef{artanh} \end{function} \FPCexample{ex4} @@ -155,251 +144,315 @@ None. \begin{function}{artanh} \Declaration Function artanh(x : float) : float; +Function arctanh(x : float) : float; \Description +\var{artanh} returns the inverse hyperbolic tangent of its argument \var{x}, +where \var{x} should lie in the interval [-1,1], borders included. +The \var{arctanh} variant of this function is supplied for \delphi compatibility. +\Errors +In case \var{x} is not in the interval [-1,1], an \var{EInvalidArgument} +exception is raised. +\SeeAlso +\seef{arcosh}, \seef{arcos}, \seef{arsin}, \seef{artanh} \Errors \SeeAlso \end{function} -\FPCexample{} +\FPCexample{ex5} \begin{function}{ceil} \Declaration Function ceil(x : float) : longint; \Description - +\var{Ceil} returns the lowest integer number greater than or equal to \var{x}. +The absolute value of \var{x} should be less than \var{maxint}. \Errors +If the asolute value of \var{x} is larger than maxint, an overflow error will +occur. \SeeAlso +\seef{floor} \end{function} -\FPCexample{} - +\FPCexample{ex7} \begin{function}{cosh} \Declaration Function cosh(x : float) : float; \Description - +\var{Cosh} returns the hyperbolic cosine of it's argument {x}. \Errors +None. \SeeAlso +\seef{arcosh}, \seef{sinh}, \seef{arsinh} \end{function} -\FPCexample{} +\FPCexample{ex8} \begin{function}{cotan} \Declaration Function cotan(x : float) : float; \Description - +\var{Cotan} returns the cotangent of it's argument \var{x}. \var{x} should +be different from zero. \Errors +If \var{x} is zero then a overflow error will occur. \SeeAlso +\seef{tanh} \end{function} -\FPCexample{} +\FPCexample{ex9} \begin{function}{cycletorad} \Declaration Function cycletorad(cycle : float) : float; \Description - +\var{Cycletorad} transforms it's argument \var{cycle} +(an angle expressed in cycles) to radians. +(1 cycle is $2 \pi$ radians). \Errors +None. \SeeAlso +\seef{degtograd}, \seef{degtorad}, \seef{radtodeg}, +\seef{radtograd}, \seef{radtocycle} \end{function} -\FPCexample{} +\FPCexample{ex10} \begin{function}{degtograd} \Declaration Function degtograd(deg : float) : float; \Description +\var{Degtograd} transforms it's argument \var{deg} (an angle in degrees) +to grads. +(90 degrees is 100 grad.) \Errors +None. \SeeAlso +\seef{cycletorad}, \seef{degtorad}, \seef{radtodeg}, +\seef{radtograd}, \seef{radtocycle} \end{function} -\FPCexample{} +\FPCexample{ex11} \begin{function}{degtorad} \Declaration Function degtorad(deg : float) : float; \Description +\var{Degtorad} converts it's argument \var{deg} (an angle in degrees) to +radians. +(pi radians is 180 degrees) \Errors +None. \SeeAlso +\seef{cycletorad}, \seef{degtograd}, \seef{radtodeg}, +\seef{radtograd}, \seef{radtocycle} \end{function} -\FPCexample{} +\FPCexample{ex12} \begin{function}{floor} \Declaration Function floor(x : float) : longint; \Description - +\var{Floor} returns the largest integer smaller than or equal to \var{x}. +The absolute value of \var{x} should be less than \var{maxint}. \Errors +If \var{x} is larger than \var{maxint}, an overflow will occur. \SeeAlso +\seef{ceil} \end{function} -\FPCexample{} +\FPCexample{ex13} \begin{procedure}{frexp} \Declaration Procedure frexp(x : float;var mantissa,exponent : float); \Description - +\var{Frexp} returns the mantissa and exponent of it's argument +\var{x} in \var{mantissa} and \var{exponent}. \Errors +None \SeeAlso \end{procedure} -\FPCexample{} +\FPCexample{ex14} \begin{function}{gradtodeg} \Declaration Function gradtodeg(grad : float) : float; \Description +\var{Gradtodeg} converts its argument \var{grad} (an angle in grads) +to degrees. +(100 grad is 90 degrees) \Errors +None. \SeeAlso +\seef{cycletorad}, \seef{degtograd}, \seef{radtodeg}, +\seef{radtograd}, \seef{radtocycle}, \seef{gradtorad} \end{function} -\FPCexample{} +\FPCexample{ex15} \begin{function}{gradtorad} \Declaration Function gradtorad(grad : float) : float; \Description +\var{Gradtorad} converts its argument \var{grad} (an angle in grads) +to radians. +(200 grad is pi degrees). \Errors +None. \SeeAlso +\seef{cycletorad}, \seef{degtograd}, \seef{radtodeg}, +\seef{radtograd}, \seef{radtocycle}, \seef{gradtodeg} \end{function} -\FPCexample{} +\FPCexample{ex16} \begin{function}{hypot} \Declaration Function hypot(x,y : float) : float; \Description +\var{Hypot} returns the hypotenuse of the triangle where the sides +adjacent to the square angle have lengths \var{x} and \var{y}. +The function uses Pythagoras' rule for this. \Errors +None. \SeeAlso \end{function} -\FPCexample{} +\FPCexample{ex17} \begin{function}{intpower} \Declaration Function intpower(base : float;exponent : longint) : float; \Description - +\var{Intpower} returns \var{base} to the power \var{exponent}, +where exponent is an integer value. \Errors +If \var{base} is zero and the exponent is negative, then an +overflow error will occur. \SeeAlso +\seef{power} \end{function} -\FPCexample{} +\FPCexample{ex18} \begin{function}{ldexp} \Declaration Function ldexp(x : float;p : longint) : float; \Description - +\var{Ldexp} returns $2^p x$. \Errors +None. \SeeAlso +\seef{lnxp1}, \seef{log10},\seef{log2},\seef{logn} \end{function} -\FPCexample{} +\FPCexample{ex19} -\begin{function}{lnxpi} +\begin{function}{lnxp1} \Declaration -Function lnxpi(x : float) : float; +Function lnxp1(x : float) : float; \Description - +\var{Lnxp1} returns the natural logarithm of \var{1+X}. The result +is more precise for small values of \var{x}. \var{x} should be larger +than -1. \Errors +If $x\leq -1$ then an \var{EInvalidArgument} exception will be raised. \SeeAlso +\seef{ldexp}, \seef{log10},\seef{log2},\seef{logn} \end{function} -\FPCexample{} - +\FPCexample{ex20} \begin{function}{log10} \Declaration Function log10(x : float) : float; \Description - +\var{Log10} returns the 10-base logarithm of \var{X}. \Errors +If \var{x} is less than or equal to 0 an 'invalid fpu operation' error +will occur. \SeeAlso +\seef{ldexp}, \seef{lnxp1},\seef{log2},\seef{logn} \end{function} -\FPCexample{} +\FPCexample{ex21} \begin{function}{log2} \Declaration Function log2(x : float) : float; \Description - +\var{Log2} returns the 2-base logarithm of \var{X}. \Errors +If \var{x} is less than or equal to 0 an 'invalid fpu operation' error +will occur. \SeeAlso +\seef{ldexp}, \seef{lnxp1},\seef{log10},\seef{logn} \end{function} -\FPCexample{} +\FPCexample{ex22} \begin{function}{logn} \Declaration Function logn(n,x : float) : float; \Description - +\var{Logn} returns the n-base logarithm of \var{X}. \Errors +If \var{x} is less than or equal to 0 an 'invalid fpu operation' error +will occur. \SeeAlso +\seef{ldexp}, \seef{lnxp1},\seef{log10},\seef{log2} \end{function} -\FPCexample{} +\FPCexample{ex23} - - var m1,m2,m3,m4,skew,kurtosis : float); \begin{function}{max} \Declaration Function max(Int1,Int2:Cardinal):Cardinal; -\Description - -\Errors -\SeeAlso -\end{function} - -\FPCexample{} - - -\begin{function}{max} -\Declaration Function max(Int1,Int2:Integer):Integer; \Description - +\var{Max} returns the the maximum of \var{Int1} and \var{Int2}. \Errors +None. \SeeAlso +\seef{min}, \seef{maxIntValue}, \seef{\maxvalue} \end{function} -\FPCexample{} - +\FPCexample{ex24} \begin{function}{maxIntValue} \Declaration -Function maxIntValue(const Data: array of Integer): Integer; +function MaxIntValue(const Data: array of Integer): Integer; \Description - +\var{MaxIntValue} returns the biggest integer out of the \var{Data} +array. \Errors +None. \SeeAlso +\seef{maxvalue}, \seef{minvalue}, \seef{minIntValue} \end{function} \FPCexample{} @@ -716,5 +769,4 @@ Function variance(const data : array of float) : float; \SeeAlso \end{function} -\FPCexample{} - +\FPCexample{} \ No newline at end of file