[gnumeric] Docs: newly extracted fund.defs



commit 459d11d29fdf2762796ea68019c5a17414e68e8d
Author: Morten Welinder <terra gnome org>
Date:   Sat Aug 15 16:53:56 2009 -0400

    Docs: newly extracted fund.defs

 doc/C/func.defs | 6403 +++++++++++++++----------------------------------------
 1 files changed, 1691 insertions(+), 4712 deletions(-)
---
diff --git a/doc/C/func.defs b/doc/C/func.defs
index ac76a45..43c43e8 100644
--- a/doc/C/func.defs
+++ b/doc/C/func.defs
@@ -1,1533 +1,770 @@
 @CATEGORY=Bitwise Operations
 @FUNCTION=BITAND
 @SYNTAX=BITAND(a,b)
- DESCRIPTION=BITAND function returns bitwise and-ing of its arguments.
-
- EXAMPLES=
+ DESCRIPTION=BITAND returns the bitwise and of the binary representations of its arguments.
+ {a}: non-negative integer
+ {b}: non-negative integer
 @SEEALSO=BITOR,BITXOR
 
 @CATEGORY=Bitwise Operations
 @FUNCTION=BITLSHIFT
- SYNTAX=BITLSHIFT(x,n)
- DESCRIPTION=BITLSHIFT function returns @x bit-shifted left by @n bits.
-
-* If @n is negative, a right shift will in effect be performed.
-
- EXAMPLES=
+ SYNTAX=BITLSHIFT(a,n)
+ DESCRIPTION=BITLSHIFT returns the binary representations of @{a} shifted @{n} positions to the left.
+ {a}: non-negative integer
+ {n}: integer
 @SEEALSO=BITRSHIFT
 
 @CATEGORY=Bitwise Operations
 @FUNCTION=BITOR
 @SYNTAX=BITOR(a,b)
- DESCRIPTION=BITOR function returns bitwise or-ing of its arguments.
-
- EXAMPLES=
+ DESCRIPTION=BITOR returns the bitwise or of the binary representations of its arguments.
+ {a}: non-negative integer
+ {b}: non-negative integer
 @SEEALSO=BITXOR,BITAND
 
 @CATEGORY=Bitwise Operations
 @FUNCTION=BITRSHIFT
- SYNTAX=BITRSHIFT(x,n)
- DESCRIPTION=BITRSHIFT function returns @x bit-shifted right by @n bits.
-
-* If @n is negative, a left shift will in effect be performed.
-
- EXAMPLES=
+ SYNTAX=BITRSHIFT(a,n)
+ DESCRIPTION=BITRSHIFT returns the binary representations of @{a} shifted @{n} positions to the right.
+ {a}: non-negative integer
+ {n}: integer
 @SEEALSO=BITLSHIFT
 
 @CATEGORY=Bitwise Operations
 @FUNCTION=BITXOR
 @SYNTAX=BITXOR(a,b)
- DESCRIPTION=BITXOR function returns bitwise exclusive or-ing of its arguments.
-
- EXAMPLES=
+ DESCRIPTION=BITXOR returns the bitwise exclusive or of the binary representations of its arguments.
+ {a}: non-negative integer
+ {b}: non-negative integer
 @SEEALSO=BITOR,BITAND
 
 @CATEGORY=Complex
 @FUNCTION=COMPLEX
- SYNTAX=COMPLEX(real,im[,suffix])
- DESCRIPTION=COMPLEX returns a complex number of the form x + yi.
-
- real is the real and @im is the imaginary part of the complex number.  @suffix is the suffix for the imaginary part.  If it is omitted, COMPLEX uses 'i' by default.
-
-* If @suffix is neither 'i' nor 'j', COMPLEX returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-COMPLEX(1,-1) equals 1-i.
-
- SEEALSO=
 
 @CATEGORY=Complex
 @FUNCTION=IMABS
- SYNTAX=IMABS(inumber)
- DESCRIPTION=IMABS returns the absolute value of a complex number.
-
-* If @inumber is not a valid complex number, IMABS returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMABS("2-j") equals 2.23606798.
-
 @SEEALSO=IMAGINARY,IMREAL
 
 @CATEGORY=Complex
 @FUNCTION=IMAGINARY
- SYNTAX=IMAGINARY(inumber)
- DESCRIPTION=IMAGINARY returns the imaginary part of a complex number.
-
-* If @inumber is not a valid complex number, IMAGINARY returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMAGINARY("132-j") equals -1.
-
 @SEEALSO=IMREAL
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCOS
- SYNTAX=IMARCCOS(inumber)
- DESCRIPTION=IMARCCOS returns the complex arccosine of the complex number @inumber. The branch cuts are on the real axis, less than -1 and greater than 1.
-
-* If @inumber is not a valid complex number, IMARCCOS returns #VALUE! error.
-
- EXAMPLES=
-IMARCCOS("1+j") equals 0.9045569-1.061275j.
-
+ SYNTAX=IMARCCOS(z)
+ DESCRIPTION=IMARCCOS returns the complex arccosine of the complex number @{z}. The branch cuts are on the real axis, less than -1 and greater than 1.
+ {z}: a complex number
 @SEEALSO=IMARCSIN,IMARCTAN
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCOSH
- SYNTAX=IMARCCOSH(inumber)
- DESCRIPTION=IMARCCOSH returns the complex hyperbolic arccosine of the complex number @inumber. The branch cut is on the real axis, less than 1.
-
-* If @inumber is not a valid complex number, IMARCCOSH returns #VALUE! error.
-
- EXAMPLES=
-IMARCCOSH("1+j") equals 1.06127506+0.904557j.
-
+ SYNTAX=IMARCCOSH(z)
+ DESCRIPTION=IMARCCOSH returns the complex hyperbolic arccosine of the complex number @{z}. The branch cut is on the real axis, less than 1.
+ {z}: a complex number
 @SEEALSO=IMARCSINH,IMARCTANH
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCOT
- SYNTAX=IMARCCOT(inumber)
- DESCRIPTION=IMARCCOT returns the complex arccotangent of the complex number z (@inumber), where
-
-	arccot(z) = arctan(1/z).
-
-* If @inumber is not a valid complex number, IMARCCOT returns #VALUE! error.
-
- EXAMPLES=
-IMARCCOT("1+j") equals 0.553574+0.4023595j.
-
 @SEEALSO=IMARCSEC,IMARCCSC
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCOTH
- SYNTAX=IMARCCOTH(inumber)
- DESCRIPTION=IMARCCOTH returns the complex hyperbolic arccotangent of the complex number z (@inumber), where
-
-	arccoth(z) = arctanh(1/z).
-
-* If @inumber is not a valid complex number, IMARCCOTH returns #VALUE! error.
-
- EXAMPLES=
-IMARCCOTH("1+j") equals 0.40235948-0.5535744j.
-
 @SEEALSO=IMARCSECH,IMARCCSCH
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCSC
- SYNTAX=IMARCCSC(inumber)
- DESCRIPTION=IMARCCSC returns the complex arccosecant of the complex number z (@inumber), where
-
-	arccsc(z) = arcsin(1/z).
-
-* If @inumber is not a valid complex number, IMARCCSC returns #VALUE! error.
-
- EXAMPLES=
-IMARCCSC("1+j") equals 0.45227845-0.5306375j.
-
 @SEEALSO=IMARCSEC,IMARCCOT
 
 @CATEGORY=Complex
 @FUNCTION=IMARCCSCH
- SYNTAX=IMARCCSCH(inumber)
- DESCRIPTION=IMARCCSCH returns the complex hyperbolic arccosecant of the complex number z (@inumber), where
-
-	arccsch(z) = arcsinh(1/z).
-
-* If @inumber is not a valid complex number, IMARCCSCH returns #VALUE! error.
-
- EXAMPLES=
-IMARCCSCH("1+j") equals 0.5306375-0.452278j.
-
 @SEEALSO=IMARCSECH,IMARCCOTH
 
 @CATEGORY=Complex
 @FUNCTION=IMARCSEC
- SYNTAX=IMARCSEC(inumber)
- DESCRIPTION=IMARCSEC returns the complex arcsecant of the complex number z (@inumber), where
-
-	arcsec(z) = arccos(1/z).
-
-* If @inumber is not a valid complex number, IMARCSEC returns #VALUE! error.
-
- EXAMPLES=
-IMARCSEC("1+j") equals 1.1185179+0.5306375j.
-
 @SEEALSO=IMARCCSC,IMARCCOT
 
 @CATEGORY=Complex
 @FUNCTION=IMARCSECH
- SYNTAX=IMARCSECH(inumber)
- DESCRIPTION=IMARCSECH returns the complex hyperbolic arcsecant of the complex number z (@inumber), where
-
-	arcsech(z) = arccosh(1/z).
-
-* If @inumber is not a valid complex number, IMARCSECH returns #VALUE! error.
-
- EXAMPLES=
-IMARCSECH("1+j") equals 0.5306375-1.118518j.
-
 @SEEALSO=IMARCCSCH,IMARCCOTH
 
 @CATEGORY=Complex
 @FUNCTION=IMARCSIN
- SYNTAX=IMARCSIN(inumber)
- DESCRIPTION=IMARCSIN returns the complex arcsine of the complex number @inumber. The branch cuts are on the real axis, less than -1 and greater than 1.
-
-* If @inumber is not a valid complex number, IMARCSIN returns #VALUE! error.
-
- EXAMPLES=
-IMARCSIN("1+j") equals 0.6662394+1.061275j.
-
+ SYNTAX=IMARCSIN(z)
+ DESCRIPTION=IMARCSIN returns the complex arcsine of the complex number @{z}. The branch cuts are on the real axis, less than -1 and greater than 1.
+ {z}: a complex number
 @SEEALSO=IMARCCOS,IMARCTAN
 
 @CATEGORY=Complex
 @FUNCTION=IMARCSINH
- SYNTAX=IMARCSINH(inumber)
- DESCRIPTION=IMARCSINH returns the complex hyperbolic arcsine of the complex number @inumber. The branch cuts are on the imaginary axis, below -i and above i.
-
-* If @inumber is not a valid complex number, IMARCSINH returns #VALUE! error.
-
- EXAMPLES=
-IMARCSINH("1+j") equals 1.061275+0.6662394j.
-
+ SYNTAX=IMARCSINH(z)
+ DESCRIPTION=IMARCSINH returns the complex hyperbolic arcsine of the complex number @{z}.  The branch cuts are on the imaginary axis, below -i and above i.
+ {z}: a complex number
 @SEEALSO=IMARCCOSH,IMARCTANH
 
 @CATEGORY=Complex
 @FUNCTION=IMARCTAN
- SYNTAX=IMARCTAN(inumber)
- DESCRIPTION=IMARCTAN returns the complex arctangent of the complex number @inumber. The branch cuts are on the imaginary axis, below -i and above i.
-
-* If @inumber is not a valid complex number, IMARCTAN returns #VALUE! error.
-
- EXAMPLES=
-IMARCTAN("1+j") equals 1.0172220+0.4023595j.
-
+ SYNTAX=IMARCTAN(z)
+ DESCRIPTION=IMARCTAN returns the complex arctangent of the complex number @{z}. The branch cuts are on the imaginary axis, below -i and above i.
+ {z}: a complex number
 @SEEALSO=IMARCSIN,IMARCCOS
 
 @CATEGORY=Complex
 @FUNCTION=IMARCTANH
- SYNTAX=IMARCTANH(inumber)
- DESCRIPTION=IMARCTANH returns the complex hyperbolic arctangent of the complex number @inumber. The branch cuts are on the real axis, less than -1 and greater than 1.
-
-* If @inumber is not a valid complex number, IMARCTANH returns #VALUE! error.
-
- EXAMPLES=
-IMARCTANH("1+j") equals 0.4023595+1.0172220j.
-
+ SYNTAX=IMARCTANH(z)
+ DESCRIPTION=IMARCTANH returns the complex hyperbolic arctangent of the complex number @{z}. The branch cuts are on the real axis, less than -1 and greater than 1.
+ {z}: a complex number
 @SEEALSO=IMARCSINH,IMARCCOSH
 
 @CATEGORY=Complex
 @FUNCTION=IMARGUMENT
- SYNTAX=IMARGUMENT(inumber)
- DESCRIPTION=IMARGUMENT returns the argument theta of a complex number, i.e. the angle in radians from the real axis to the representation of the number in polar coordinates.
-
-* If @inumber is not a valid complex number, IMARGUMENT returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMARGUMENT("2-j") equals -0.463647609.
-
- SEEALSO=
+ SYNTAX=IMARGUMENT(z)
+ DESCRIPTION=The argument theta of a complex number is its angle in radians from the real axis.
+ {z}: a complex number
 
 @CATEGORY=Complex
 @FUNCTION=IMCONJUGATE
- SYNTAX=IMCONJUGATE(inumber)
- DESCRIPTION=IMCONJUGATE returns the complex conjugate of a complex number.
-
-* If @inumber is not a valid complex number, IMCONJUGATE returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMCONJUGATE("1-j") equals 1+j.
-
 @SEEALSO=IMAGINARY,IMREAL
 
 @CATEGORY=Complex
 @FUNCTION=IMCOS
- SYNTAX=IMCOS(inumber)
- DESCRIPTION=IMCOS returns the cosine of a complex number.
-
-* If @inumber is not a valid complex number, IMCOS returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMCOS("1+j") equals 0.833730-0.988898j.
-
 @SEEALSO=IMSIN,IMTAN
 
 @CATEGORY=Complex
 @FUNCTION=IMCOSH
- SYNTAX=IMCOSH(inumber)
- DESCRIPTION=IMCOSH returns the complex hyperbolic cosine of the complex number z (@inumber), where
-
-	cosh(z) = (exp(z) + exp(-z))/2.
-
-* If @inumber is not a valid complex number, IMCOSH returns #VALUE! error.
-
- EXAMPLES=
-IMCOSH("1+j") equals 0.83373+0.988898j.
-
 @SEEALSO=IMSINH,IMTANH
 
 @CATEGORY=Complex
 @FUNCTION=IMCOT
- SYNTAX=IMCOT(inumber)
- DESCRIPTION=IMCOT returns the complex cotangent of the complex number z (@inumber), where
-
-	cot(z) = 1/tan(z).
-
-* If @inumber is not a valid complex number, IMCOT returns #VALUE! error.
-
- EXAMPLES=
-IMCOT("2-j") equals -0.171384+0.821330j.
-
+ SYNTAX=IMCOT(z)
+ DESCRIPTION=cotz = cosz/sinz.
+ {z}: a complex number
 @SEEALSO=IMSEC,IMCSC
 
 @CATEGORY=Complex
 @FUNCTION=IMCOTH
- SYNTAX=IMCOTH(inumber)
- DESCRIPTION=IMCOTH returns the complex hyperbolic cotangent of the complex number z (@inumber) where,
-
-	coth(z) = 1/tanh(z).
-
-* If @inumber is not a valid complex number, IMCOTH returns #VALUE! error.
-
- EXAMPLES=
-IMCOTH("1+j") equals 0.868014-0.217622j.
-
 @SEEALSO=IMSECH,IMCSCH
 
 @CATEGORY=Complex
 @FUNCTION=IMCSC
- SYNTAX=IMCSC(inumber)
- DESCRIPTION=IMCSC returns the complex cosecant of the complex number z (@inumber), where
-
-	csc(z) = 1/sin(z).
-
-* If @inumber is not a valid complex number, IMCSC returns #VALUE! error.
-
- EXAMPLES=
-IMCSC("2-j") equals 0.635494-0.221501j.
-
+ SYNTAX=IMCSC(z)
+ DESCRIPTION=cscz = 1/sinz.
+ {z}: a complex number
 @SEEALSO=IMSEC,IMCOT
 
 @CATEGORY=Complex
 @FUNCTION=IMCSCH
- SYNTAX=IMCSCH(inumber)
- DESCRIPTION=IMCSCH returns the complex hyperbolic cosecant of the complex number z (@inumber), where
-
-	csch(z) = 1/sinh(z).
-
-* If @inumber is not a valid complex number, IMCSCH returns #VALUE! error.
-
- EXAMPLES=
-IMCSCH("1+j") equals 0.303931-0.621518j.
-
 @SEEALSO=IMSECH,IMCOTH
 
 @CATEGORY=Complex
 @FUNCTION=IMDIV
- SYNTAX=IMDIV(inumber1,inumber2)
- DESCRIPTION=IMDIV returns the quotient of two complex numbers.
-
-* If @inumber1 or @inumber2 are not valid complex numbers, IMDIV returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMDIV("2-j","2+j") equals 0.6-0.8j.
-
 @SEEALSO=IMPRODUCT
 
 @CATEGORY=Complex
 @FUNCTION=IMEXP
- SYNTAX=IMEXP(inumber)
- DESCRIPTION=IMEXP returns the exponential of a complex number.
-
-* If @inumber is not a valid complex number, IMEXP returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMEXP("2-j") equals 3.992324-6.217676j.
-
 @SEEALSO=IMLN
 
 @CATEGORY=Complex
 @FUNCTION=IMINV
- SYNTAX=IMINV(inumber)
- DESCRIPTION=IMINV returns the inverse, or reciprocal, of the complex number z (@inumber), where
-
-	1/z = (x - i y)/(x^2 + y^2).
-
-* If @inumber is not a valid complex number, IMINV returns #VALUE! error.
-
- EXAMPLES=
-IMINV("1-j") equals 0.5+0.5j.
-
- SEEALSO=
 
 @CATEGORY=Complex
 @FUNCTION=IMLN
- SYNTAX=IMLN(inumber)
- DESCRIPTION=IMLN returns the natural logarithm of a complex number.
-
-The result will have an imaginary part between -pi and +pi.  The natural logarithm is not uniquely defined on complex numbers. You may need to add or subtract an even multiple of pi to the imaginary part.
-
-* If @inumber is not a valid complex number, IMLN returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMLN("3-j") equals 1.15129-0.32175j.
-
+ SYNTAX=IMLN(z)
+ DESCRIPTION=The result will have an imaginary part between -Ï? and +Ï?.
+The natural logarithm is not uniquely defined on complex numbers. You may need to add or subtract an even multiple of Ï? to the imaginary part.
+ {z}: a complex number
 @SEEALSO=IMEXP,IMLOG2,IMLOG10
 
 @CATEGORY=Complex
 @FUNCTION=IMLOG10
- SYNTAX=IMLOG10(inumber)
- DESCRIPTION=IMLOG10 returns the logarithm of a complex number in base 10.
-
-* If @inumber is not a valid complex number, IMLOG10 returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMLOG10("3-j") equals 0.5-0.13973j.
-
 @SEEALSO=IMLN,IMLOG2
 
 @CATEGORY=Complex
 @FUNCTION=IMLOG2
- SYNTAX=IMLOG2(inumber)
- DESCRIPTION=IMLOG2 returns the logarithm of a complex number in base 2.
-
-* If @inumber is not a valid complex number, IMLOG2 returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMLOG2("3-j") equals 1.66096-0.46419j.
-
 @SEEALSO=IMLN,IMLOG10
 
 @CATEGORY=Complex
 @FUNCTION=IMNEG
- SYNTAX=IMNEG(inumber)
- DESCRIPTION=IMNEG returns the negative of the complex number z (@inumber), where
-
-	-z = (-x) + i(-y).
-
-* If @inumber is not a valid complex number, IMNEG returns #VALUE! error.
-
- EXAMPLES=
-IMNEG("1-j") equals -1+j.
-
- SEEALSO=
 
 @CATEGORY=Complex
 @FUNCTION=IMPOWER
- SYNTAX=IMPOWER(inumber1,inumber2)
- DESCRIPTION=IMPOWER returns a complex number raised to a power.  @inumber1 is the complex number to be raised to a power and @inumber2 is the power to which you want to raise it.
-
-* If @inumber1 or @inumber2 are not valid complex numbers, IMPOWER returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMPOWER("4-j",2) equals 15-8j.
-
 @SEEALSO=IMSQRT
 
 @CATEGORY=Complex
 @FUNCTION=IMPRODUCT
- SYNTAX=IMPRODUCT(inumber1[,inumber2,...])
- DESCRIPTION=IMPRODUCT returns the product of given complex numbers.
-
-* If any of the @inumbers are not valid complex numbers, IMPRODUCT returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMPRODUCT("2-j","4-2j") equals 6-8j.
-
 @SEEALSO=IMDIV
 
 @CATEGORY=Complex
 @FUNCTION=IMREAL
- SYNTAX=IMREAL(inumber)
- DESCRIPTION=IMREAL returns the real part of a complex number.
-
-* If @inumber is not a valid complex number, IMREAL returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-imreal("132-j") equals 132.
-
 @SEEALSO=IMAGINARY
 
 @CATEGORY=Complex
 @FUNCTION=IMSEC
- SYNTAX=IMSEC(inumber)
- DESCRIPTION=IMSEC returns the complex secant of the complex number z (@inumber), where
-
-	sec(z) = 1/cos(z).
-
-* If @inumber is not a valid complex number, IMSEC returns #VALUE! error.
-
- EXAMPLES=
-IMSEC("2-j") equals -0.413149-0.687527j.
-
+ SYNTAX=IMSEC(z)
+ DESCRIPTION=secz = 1/cosz.
+ {z}: a complex number
 @SEEALSO=IMCSC,IMCOT
 
 @CATEGORY=Complex
 @FUNCTION=IMSECH
- SYNTAX=IMSECH(inumber)
- DESCRIPTION=IMSECH returns the complex hyperbolic secant of the complex number z (@inumber), where
-
-	sech(z) = 1/cosh(z).
-
-* If @inumber is not a valid complex number, IMSECH returns #VALUE! error.
-
- EXAMPLES=
-IMSECH("1+j") equals 0.498337-0.5910838j.
-
 @SEEALSO=IMCSCH,IMCOTH
 
 @CATEGORY=Complex
 @FUNCTION=IMSIN
- SYNTAX=IMSIN(inumber)
- DESCRIPTION=IMSIN returns the sine of a complex number.
-
-* If @inumber is not a valid complex number, IMSIN returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMSIN("1+j") equals 1.29846+0.63496j.
-
 @SEEALSO=IMCOS,IMTAN
 
 @CATEGORY=Complex
 @FUNCTION=IMSINH
- SYNTAX=IMSINH(inumber)
- DESCRIPTION=IMSINH returns the complex hyperbolic sine of the complex number z (@inumber), where
-
-	sinh(z) = (exp(z) - exp(-z))/2.
-
-* If @inumber is not a valid complex number, IMSINH returns #VALUE! error.
-
- EXAMPLES=
-IMSINH("1+j") equals 0.63496+1.29846j.
-
 @SEEALSO=IMCOSH,IMTANH
 
 @CATEGORY=Complex
 @FUNCTION=IMSQRT
- SYNTAX=IMSQRT(inumber)
- DESCRIPTION=IMSQRT returns the square root of a complex number.
-
-* If @inumber is not a valid complex number, IMSQRT returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMSQRT("1+j") equals 1.09868+0.4550899j.
-
 @SEEALSO=IMPOWER
 
 @CATEGORY=Complex
 @FUNCTION=IMSUB
- SYNTAX=IMSUB(inumber1,inumber2)
- DESCRIPTION=IMSUB returns the difference of two complex numbers.
-
-* If @inumber1 or @inumber2 are not valid complex numbers, IMSUB returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMSUB("3-j","2+j") equals 1-2j.
-
 @SEEALSO=IMSUM
 
 @CATEGORY=Complex
 @FUNCTION=IMSUM
- SYNTAX=IMSUM(inumber1,inumber2)
- DESCRIPTION=IMSUM returns the sum of two complex numbers.
-
-* If @inumber1 or @inumber2 are not valid complex numbers, IMSUM returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMSUM("2-4j","9-j") equals 11-5j.
-
 @SEEALSO=IMSUB
 
 @CATEGORY=Complex
 @FUNCTION=IMTAN
- SYNTAX=IMTAN(inumber)
- DESCRIPTION=IMTAN returns the tangent of a complex number.
-
-* If @inumber is not a valid complex number, IMTAN returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-IMTAN("2-j") equals -0.2434582-1.1667363j.
-
 @SEEALSO=IMSIN,IMCOS
 
 @CATEGORY=Complex
 @FUNCTION=IMTANH
- SYNTAX=IMTANH(inumber)
- DESCRIPTION=IMTANH returns the complex hyperbolic tangent of the complex number z (@inumber), where
-
-	tanh(z) = sinh(z)/cosh(z).
-
-* If @inumber is not a valid complex number, IMTANH returns #VALUE! error.
-
- EXAMPLES=
-IMTANH("1+j") equals 1.083923+0.2717526j.
-
 @SEEALSO=IMSINH,IMCOSH
 
 @CATEGORY=Database
 @FUNCTION=DAVERAGE
 @SYNTAX=DAVERAGE(database,field,criteria)
- DESCRIPTION=DAVERAGE function returns the average of the values in a list or database that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DAVERAGE(A1:C7, "Salary", A9:A11) equals 42296.3333.
-DAVERAGE(A1:C7, "Age", A9:A11) equals 39.
-DAVERAGE(A1:C7, "Salary", A9:B11) equals 40782.5.
-DAVERAGE(A1:C7, "Age", A9:B11) equals 36.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DAVERAGE(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DAVERAGE(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DCOUNT
 
 @CATEGORY=Database
 @FUNCTION=DCOUNT
 @SYNTAX=DCOUNT(database,field,criteria)
- DESCRIPTION=DCOUNT function counts the cells that contain numbers in a database that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DCOUNT(A1:C7, "Salary", A9:A11) equals 3.
-DCOUNT(A1:C7, "Salary", A9:B11) equals 2.
-DCOUNT(A1:C7, "Name", A9:B11) equals 0.
-
- SEEALSO=DAVERAGE
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DCOUNT(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DCOUNT(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SEEALSO=DAVERAGE,DCOUNTA
 
 @CATEGORY=Database
 @FUNCTION=DCOUNTA
 @SYNTAX=DCOUNTA(database,field,criteria)
- DESCRIPTION=DCOUNTA function counts the cells that contain data in a database that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DCOUNTA(A1:C7, "Salary", A9:A11) equals 3.
-DCOUNTA(A1:C7, "Salary", A9:B11) equals 2.
-DCOUNTA(A1:C7, "Name", A9:B11) equals 2.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DCOUNTA(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DCOUNTA(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DCOUNT
 
 @CATEGORY=Database
 @FUNCTION=DGET
 @SYNTAX=DGET(database,field,criteria)
- DESCRIPTION=DGET function returns a single value from a column that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-* If none of the items match the conditions, DGET returns #VALUE! error.
-* If more than one items match the conditions, DGET returns #NUM! error.
-
-DGET(A1:C7, "Salary", A9:A10) equals 34323.
-DGET(A1:C7, "Name", A9:A10) equals "Clark".
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DGET(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DGET(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DCOUNT
 
 @CATEGORY=Database
 @FUNCTION=DMAX
 @SYNTAX=DMAX(database,field,criteria)
- DESCRIPTION=DMAX function returns the largest number in a column that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DMAX(A1:C7, "Salary", A9:A11) equals 47242.
-DMAX(A1:C7, "Age", A9:A11) equals 45.
-DMAX(A1:C7, "Age", A9:B11) equals 43.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DMAX(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DMAX(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DMIN
 
 @CATEGORY=Database
 @FUNCTION=DMIN
 @SYNTAX=DMIN(database,field,criteria)
- DESCRIPTION=DMIN function returns the smallest number in a column that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DMIN(A1:C7, "Salary", A9:B11) equals 34323.
-DMIN(A1:C7, "Age", A9:B11) equals 29.
-
- SEEALSO=DMAX
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DMIN(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DMIN(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SEEALSO=DCOUNT
 
 @CATEGORY=Database
 @FUNCTION=DPRODUCT
 @SYNTAX=DPRODUCT(database,field,criteria)
- DESCRIPTION=DPRODUCT function returns the product of numbers in a column that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DPRODUCT(A1:C7, "Age", A9:B11) equals 1247.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DPRODUCT(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DPRODUCT(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DSUM
 
 @CATEGORY=Database
 @FUNCTION=DSTDEV
 @SYNTAX=DSTDEV(database,field,criteria)
- DESCRIPTION=DSTDEV function returns the estimate of the standard deviation of a population based on a sample. The population consists of numbers that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DSTDEV(A1:C7, "Age", A9:B11) equals 9.89949.
-DSTDEV(A1:C7, "Salary", A9:B11) equals 9135.112506.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSTDEV(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSTDEV(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DSTDEVP
 
 @CATEGORY=Database
 @FUNCTION=DSTDEVP
 @SYNTAX=DSTDEVP(database,field,criteria)
- DESCRIPTION=DSTDEVP function returns the standard deviation of a population based on the entire population. The population consists of numbers that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DSTDEVP(A1:C7, "Age", A9:B11) equals 7.
-DSTDEVP(A1:C7, "Salary", A9:B11) equals 6459.5.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSTDEVP(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSTDEVP(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DSTDEV
 
 @CATEGORY=Database
 @FUNCTION=DSUM
 @SYNTAX=DSUM(database,field,criteria)
- DESCRIPTION=DSUM function returns the sum of numbers in a column that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DSUM(A1:C7, "Age", A9:B11) equals 72.
-DSUM(A1:C7, "Salary", A9:B11) equals 81565.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSUM(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DSUM(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DPRODUCT
 
 @CATEGORY=Database
 @FUNCTION=DVAR
 @SYNTAX=DVAR(database,field,criteria)
- DESCRIPTION=DVAR function returns the estimate of variance of a population based on a sample. The population consists of numbers that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DVAR(A1:C7, "Age", A9:B11) equals 98.
-DVAR(A1:C7, "Salary", A9:B11) equals 83450280.5.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DVAR(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DVAR(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DVARP
 
 @CATEGORY=Database
 @FUNCTION=DVARP
 @SYNTAX=DVARP(database,field,criteria)
- DESCRIPTION=DVARP function returns the variance of a population based on the entire population. The population consists of numbers that match conditions specified.
-
- database is a range of cells in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column. 
-
- field specifies which column is used in the function.  If @field is an integer, for example 2, the second column is used. Field can also be the label of a column.  For example, ``Age'' refers to the column with the label ``Age'' in @database range. 
-
- criteria is the range of cells which contains the specified conditions.  The first row of a @criteria should contain the labels of the fields for which the criteria are for.  Cells below the labels specify conditions, for example, ``>3'' or ``<9''.  Equality condition can be given simply by specifying a value, e.g. ``3'' or ``John''. 
-Each row in @criteria specifies a separate condition. If a row in @database matches a row in @criteria, then that row is counted. Technically speaking, this a boolean OR operation between the rows in @criteria.
-If @criteria specifies more than one column, then each of the conditions in the specified columns must be true for the row in @database to match. Technically speaking, this is a boolean AND operation between the columns in @criteria.
-
- EXAMPLES=
-Let us assume that the range A1:C7 contain the following values:
-Name    Age     Salary
-John    34      54342
-Bill    35      22343
-Clark   29      34323
-Bob     43      47242
-Susan   37      42932
-Jill    45      45324
-
-In addition, the cells A9:B11 contain the following values:
-Age     Salary
-<30
->40     >46000
-
-DVARP(A1:C7, "Age", A9:B11) equals 49.
-DVARP(A1:C7, "Salary", A9:B11) equals 41725140.25.
-
+ DESCRIPTION=@{database} is a range in which rows of related information are records and columns of data are fields. The first row of a database contains labels for each column.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DVARP(database,field,criteria))
+ DESCRIPTION=@{field} is a string or integer specifying whichfield is to be used. If @{field} is an integer nthen the nth column will be used. If @{field} is a string, then the column with the matching label will be used.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
+ SYNTAX=DVARP(database,field,criteria)))
+ DESCRIPTION=@{criteria} is a range containing conditions. The first row of a @{criteria} should contain labels. Each label specifies to which field the conditions given in that column apply. Each cell below the label specifies a condition such as ">3" or "<9". An equality condition can be given by simply specifying a value, e. g. "3" or "Jody". For a record to be considered it must satisfy all conditions in at least one of the rows of @{criteria}.
+ {database}: a range in which rows of related information are records and columns of data are fields
+ {field}: a string or integer specifying which field is to be used
+ {criteria}: a range containing conditions
 @SEEALSO=DVAR
 
 @CATEGORY=Database
 @FUNCTION=GETPIVOTDATA
- SYNTAX=GETPIVOTDATA(pivot_table,field_name)
- DESCRIPTION=GETPIVOTDATA function fetches summary data from a pivot table. @pivot_table is a cell range containing the pivot table. @field_name is the name of the field of which you want the summary data.
-
-* If the summary data is unavailable, GETPIVOTDATA returns #REF! error.
-
- EXAMPLES=
-
- SEEALSO=
 
 @CATEGORY=Date/Time
 @FUNCTION=DATE
- SYNTAX=DATE (year,month,day)
- DESCRIPTION=DATE returns the number of days since the 1st of January of 1900(the date serial number) for the given year, month and day.
-
-* If @month < 1 or @month > 12, the year will be corrected.  A similar correction takes place for days.
-* The @years should be at least 1900.  If @years < 1900, it is assumed to be 1900 + @years.
-* If the given date is not valid, DATE returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-DATE(2001, 3, 30) returns 'Mar 30, 2001'.
- 
- SEEALSO=TODAY, NOW
+ SYNTAX=DATE(year,month,day)
+ DESCRIPTION=The DATE function creates date serial values.  1-Jan-1900 is serial value 1, 2-Jan-1900 is serial value 2, and so on.  For compatibility reasons, a serial value is reserved for the non-existing date 29-Feb-1900.
+ {year}: year of date
+ {month}: month of year
+ {day}: day of month
+ SEEALSO=TODAY,YEAR,MONTH,DAY
 
 @CATEGORY=Date/Time
 @FUNCTION=DATE2UNIX
- SYNTAX=DATE2UNIX(serial)
- DESCRIPTION=DATE2UNIX converts a spreadsheet date and time serial number into a unix time.
-
-A unix time is the number of seconds since midnight January 1, 1970.
-
- EXAMPLES=
-DATE2UNIX("01/01/2000") equals 946656000.
-
- SEEALSO=NOW, DATE, UNIX2DATE
+ SYNTAX=DATE2UNIX(d)
+ DESCRIPTION=The DATE2UNIX function translates a date serial values into a Unix timestamp.
+ {d}: date serial value
+ SEEALSO=UNIX2DATE,DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=DATEDIF
- SYNTAX=DATEDIF(date1,date2,interval)
- DESCRIPTION=DATEDIF returns the difference between two dates.  @interval is one of six possible values:  "y", "m", "d", "ym", "md", and "yd".
-
-The first three options will return the number of complete years, months, or days, respectively, between the two dates specified.
-
-  "ym" will return the number of full months between the two dates, not including the difference in years.
-  "md" will return the number of full days between the two dates, not including the difference in months.
-  "yd" will return the number of full days between the two dates, not including the difference in years.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-DATEDIF(DATE(2000,4,30),DATE(2003,8,4),"d") equals 1191.
-DATEDIF(DATE(2000,4,30),DATE(2003,8,4),"y") equals 3.
-
- SEEALSO=DATE
+ SYNTAX=DATEDIF(start_date,end_date,interval)
+ DESCRIPTION=DATEDIF returns the distance from @{start_date} to @{end_date} according to the unit specified by @{interval}.
+ {start_date}: starting date serial value
+ {end_date}: ending date serial value
+ {interval}: counting unit
+ SEEALSO=DAYS360
 
 @CATEGORY=Date/Time
 @FUNCTION=DATEVALUE
- SYNTAX=DATEVALUE(date_str)
- DESCRIPTION=DATEVALUE returns the serial number of the date.  @date_str is the string that contains the date. The value depends on the date convention.  The MS Excel 1900 convention dates things from Jan 1 1900 while the 1904 convention uses Jan 1 1904.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-DATEVALUE("1/1/1999") equals 36161 (in the 1900 convention).
- SEEALSO=DATE
+ SYNTAX=DATEVALUE(serial)
+ DESCRIPTION=DATEVALUE returns the date serial value part of a date and time serial value.
+ {serial}: date and time serial value
+ SEEALSO=TIMEVALUE,DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=DAY
- SYNTAX=DAY (date)
- DESCRIPTION=DAY converts a serial number to a day of month.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-DAY("10/24/1968") equals 24.
-
- SEEALSO=MONTH, TIME, NOW, YEAR
+ SYNTAX=DAY(date)
+ DESCRIPTION=The DAY function returns the day-of-month part of @{date}.
+ {date}: date serial value
+ SEEALSO=DATE,YEAR,MONTH
 
 @CATEGORY=Date/Time
- FUNCTION=DAYS360 
- SYNTAX=DAYS360 (date1,date2,method)
- DESCRIPTION=DAYS360 returns the number of days from @date1 to @date2 following a 360-day calendar in which all months are assumed to have 30 days.
-
-* If @method is 1, the European method will be used.  In this case, if the day of the month is 31 it will be considered as 30.
-* If @method is 0 or omitted, the MS Excel (tm) US method will be used.  This is a somewhat complicated industry standard method where the last day of February is considered to be the 30th day of the month, but only for the first date.
-* If @method is 2, a saner version of the US method is used in which both dates get the same February treatment.
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is mostly Excel compatible.
-
- EXAMPLES=
-DAYS360(DATE(2003, 2, 3), DATE(2007, 4, 2)) equals 1499.
-
- SEEALSO=MONTH, TIME, NOW, YEAR
+ FUNCTION=DAYS360
+ SYNTAX=DAYS360(start_date,end_date,method)
+ DESCRIPTION=DAYS360 returns the number of days from @{start_date} to @{end_date}.
+ {start_date}: starting date serial value
+ {end_date}: ending date serial value
+ {method}: counting method
+ SEEALSO=DATEDIF
 
 @CATEGORY=Date/Time
 @FUNCTION=EDATE
 @SYNTAX=EDATE(date,months)
- DESCRIPTION=EDATE returns the serial number of the date that is the specified number of months before or after a given date.  @date is the serial number of the initial date and @months is the number of months before (negative number) or after (positive number) the initial date.
-
-* If @months is not an integer, it is truncated.
-* This function is Excel compatible.
-
- EXAMPLES=
-EDATE(DATE(2001,12,30),2) returns 'Feb 28, 2002'.
-
+ DESCRIPTION=EDATE returns @{date} moved forward or backward the number of months specified by @{months}.
+ {date}: date serial value
+ {months}: signed number of months
 @SEEALSO=DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=EOMONTH
- SYNTAX=EOMONTH (start_date,months)
- DESCRIPTION=EOMONTH returns the last day of the month which is @months from the @start_date.
-
-* EOMONTH returns #NUM! if @start_date or @months are invalid.
-* This function is Excel compatible.
-
- EXAMPLES=
-If A1 contains 12/21/00 then EOMONTH(A1,0)=12/31/00, EOMONTH(A1,5)=5/31/01, and EOMONTH(A1,2)=2/28/01
-
- SEEALSO=MONTH
+ SYNTAX=EOMONTH(date,months)
+ DESCRIPTION=EOMONTH returns the date serial value of the end of the month specified by @{date} adjusted forward or backward the number of months specified by @{months}.
+ {date}: date serial value
+ {months}: signed number of months
+ SEEALSO=EDATE
 
 @CATEGORY=Date/Time
 @FUNCTION=HOUR
- SYNTAX=HOUR (date)
- DESCRIPTION=HOUR converts a serial number to an hour.  The hour is returned as an integer in the range 0 (12:00 A.M.) to 23 (11:00 P.M.).
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-HOUR(0.128472) equals 3.
-
- SEEALSO=MINUTE, NOW, TIME, SECOND
+ SYNTAX=HOUR(time)
+ DESCRIPTION=The HOUR function computes the hour part of the fractional day given by @{time}.
+ {time}: time of day as fractional day.
+ SEEALSO=TIME,MINUTE,SECOND
 
 @CATEGORY=Date/Time
 @FUNCTION=ISOWEEKNUM
- SYNTAX=ISOWEEKNUM (date)
- DESCRIPTION=ISOWEEKNUM returns the ISO 8601 week number of @date.
-
-An ISO 8601 week starts on Monday. Weeks are numbered from 1. A week including days from two different years is assigned to the year which includes the most days. This means that Dec 31 could be in week 1 of the following year, and Jan 1 could be in week 52 or 53 of the previous year. ISOWEEKNUM returns the week number.
-
-* ISOWEEKNUM returns #NUM! if date is invalid.
-
- EXAMPLES=
-If A1 contains 12/21/00 then ISOWEEKNUM(A1)=51
- SEEALSO=WEEKNUM, ISOYEAR
+ SYNTAX=ISOWEEKNUM(date)
+ DESCRIPTION=ISOWEEKNUM calculates the week number according to the ISE 8601 standard.  Weeks start on Mondays and week 1 contains the first Thursday of the year.
+ {date}: date serial value
+ SEEALSO=ISOYEAR,WEEKNUM
 
 @CATEGORY=Date/Time
 @FUNCTION=ISOYEAR
- SYNTAX=ISOYEAR (date)
- DESCRIPTION=ISOYEAR returns the year of the ISO 8601 week number of @date.
-
-An ISO 8601 week starts on Monday. Weeks are numbered from 1. A week including days from two different years is assigned to the year which includes the most days. This means that Dec 31 could be in week 1 of the following year, and Jan 1 could be in week 52 or 53 of the previous year. ISOYEAR returns the year the week is assigned to.
-
-* ISOYEAR returns #NUM! if date is invalid.
- EXAMPLES=
-If A1 contains 12/31/2001 then ISOYEAR(A1)=2002
- SEEALSO=ISOWEEKNUM
+ SYNTAX=ISOYEAR(date)
+ DESCRIPTION=ISOYEAR calculates the year to go with week number according to the ISE 8601 standard.
+ {date}: date serial value
+ SEEALSO=ISOWEEKNUM,YEAR
 
 @CATEGORY=Date/Time
 @FUNCTION=MINUTE
- SYNTAX=MINUTE (date)
- DESCRIPTION=MINUTE converts a serial number to a minute.  The minute is returned as an integer in the range 0 to 59.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-MINUTE(0.128472) equals 5.
-
- SEEALSO=HOUR, NOW, TIME, SECOND
+ SYNTAX=MINUTE(time)
+ DESCRIPTION=The MINUTE function computes the minute part of the fractional day given by @{time}.
+ {time}: time of day as fractional day.
+ SEEALSO=TIME,HOUR,SECOND
 
 @CATEGORY=Date/Time
 @FUNCTION=MONTH
- SYNTAX=MONTH (date)
- DESCRIPTION=MONTH converts a serial number to a month.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-MONTH(DATE(2003, 4, 30)) equals 4.
-
- SEEALSO=DAY, TIME, NOW, YEAR
+ SYNTAX=MONTH(date)
+ DESCRIPTION=The MONTH function returns the month part of @{date}.
+ {date}: date serial value
+ SEEALSO=DATE,YEAR,DAY
 
 @CATEGORY=Date/Time
 @FUNCTION=NETWORKDAYS
- SYNTAX=NETWORKDAYS (start_date,end_date[,holidays])
- DESCRIPTION=NETWORKDAYS returns the number of non-weekend non-holidays between @start_date and @end_date including these dates. Holidays are optionally supplied in @holidays.
-
-* NETWORKDAYS returns #NUM! if @start_date or @end_date are invalid.
-* This function is Excel compatible.
-
- EXAMPLES=
-NETWORKDAYS(DATE(2001,1,2),DATE(2001,2,15)) equals 33.
-
+ SYNTAX=NETWORKDAYS(start_date,end_date,holidays)
+ DESCRIPTION=NETWORKDAYS calculates the number of days from @{start_date} to @{end_date} skipping weekends and @{holidays} in the process.
+ {start_date}: starting date serial value
+ {end_date}: ending date serial value
+ {holidays}: array of holidays
 @SEEALSO=WORKDAY
 
 @CATEGORY=Date/Time
 @FUNCTION=NOW
- SYNTAX=NOW ()
- DESCRIPTION=NOW returns the serial number for the date and time at the time it is evaluated.
-
-Serial Numbers in Gnumeric are represented as follows: The integral part is the number of days since the 1st of January of 1900.  The decimal part represent the fraction of the day and is mapped into hour, minutes and seconds.
-
-For example: .0 represents the beginning of the day, and 0.5 represents noon.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-NOW().
-
- SEEALSO=TODAY
+ SYNTAX=NOW()
+ DESCRIPTION=The NOW function returns the date and time serial value of the moment it is computed.  Recomputing later will produce a different value.
+ SEEALSO=DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=SECOND
- SYNTAX=SECOND (date)
- DESCRIPTION=SECOND converts a serial number to a second.  The second is returned as an integer in the range 0 to 59.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-SECOND(0.600613) equals 53.
-
- SEEALSO=HOUR, MINUTE, NOW, TIME
+ SYNTAX=SECOND(time)
+ DESCRIPTION=The SECOND function computes the seconds part of the fractional day given by @{time}.
+ {time}: time of day as fractional day.
+ SEEALSO=TIME,HOUR,MINUTE
 
 @CATEGORY=Date/Time
 @FUNCTION=TIME
- SYNTAX=TIME (hours,minutes,seconds)
- DESCRIPTION=TIME returns a fraction representing the time of day.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TIME(3, 5, 23) equals 3:05AM.
-
- SEEALSO=HOUR
+ SYNTAX=TIME(hour,minute,second)
+ DESCRIPTION=The TIME function computes the fractional day between midnight at the time given by @{hour}, @{minute}, and @{second}.
+ {hour}: hour of the day
+ {minute}: minute within the hour
+ {second}: second within the minute
+ SEEALSO=HOUR,MINUTE,SECOND
 
 @CATEGORY=Date/Time
 @FUNCTION=TIMEVALUE
- SYNTAX=TIMEVALUE (timetext)
- DESCRIPTION=TIMEVALUE returns a fraction representing the time of day, a number between 0 and 1.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TIMEVALUE("3:05") equals 0.128472.
-TIMEVALUE("2:24:53 PM") equals 0.600613.
-
- SEEALSO=HOUR,MINUTE
+ SYNTAX=TIMEVALUE(serial)
+ DESCRIPTION=TIMEVALUE returns the time-of-day part of a date and time serial value.
+ {serial}: date and time serial value
+ SEEALSO=DATEVALUE,TIME
 
 @CATEGORY=Date/Time
 @FUNCTION=TODAY
 @SYNTAX=TODAY()
- DESCRIPTION=TODAY returns the serial number for today (the number of days elapsed since the 1st of January of 1900).
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TODAY() returns 'Nov 6, 2001' on that particular day.
- 
- SEEALSO=NOW
+ DESCRIPTION=The TODAY function returns the date serial value of the day it is computed.  Recomputing on a later date will produce a different value.
+ SEEALSO=DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=UNIX2DATE
- SYNTAX=UNIX2DATE(unixtime)
- DESCRIPTION=UNIX2DATE converts a unix time into a spreadsheet date and time.
-
-A unix time is the number of seconds since midnight January 1, 1970.
-
- EXAMPLES=
-
- SEEALSO=NOW, DATE, DATE2UNIX
+ SYNTAX=UNIX2DATE(t)
+ DESCRIPTION=The UNIT2DATE function translates Unix timestamps into date serial values.  Unix timestamps are number of seconds since Midnight 1-Jan-1900.
+ {t}: Unix time stamp
+ SEEALSO=DATE2UNIX,DATE
 
 @CATEGORY=Date/Time
 @FUNCTION=WEEKDAY
- SYNTAX=WEEKDAY (date[, method])
- DESCRIPTION=WEEKDAY converts a serial number to a weekday.
-
-This function returns an integer indicating the day of week.
- METHOD indicates the numbering system.  It defaults to 1.
-
-  For @METHOD=1: Sunday is 1, Monday is 2, etc.
-  For @METHOD=2: Monday is 1, Tuesday is 2, etc.
-  For @METHOD=3: Monday is 0, Tuesday is 1, etc.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-WEEKDAY("10/24/1968") equals 5 (Thursday).
-
- SEEALSO=DAY, MONTH, TIME, NOW, YEAR
+ SYNTAX=WEEKDAY(date,method)
+ DESCRIPTION=The WEEKDAY function returns the day-of-week of @{date}.  The value of @{method} determines how days are numbered.
+ {date}: date serial value
+ {method}: numbering system
+ SEEALSO=DATE,ISOWEEKNUM
 
 @CATEGORY=Date/Time
 @FUNCTION=WEEKNUM
- SYNTAX=WEEKNUM (date[,method])
- DESCRIPTION=WEEKNUM returns the week number of @date according to the given @method.
-
- method defaults to 1.
-
-  For @method=1, week starts on Sunday, and days before first Sunday are in week 0.
-  For @method=2, week starts on Monday, and days before first Monday are in week 0.
-  For @method=150, the ISO 8601 week number is returned.
-
-* WEEKNUM returns #NUM! if @date or @method is invalid.
-* This function is Excel compatible, except that Excel does not support ISO 8601 week numbers.
-
- EXAMPLES=
-If A1 contains 12/21/00 then WEEKNUM(A1,2)=51
+ SYNTAX=WEEKNUM(date,method)
+ DESCRIPTION=WEEKNUM calculates the week number according to @{method} which defaults to 1.
+ {date}: date serial value
+ {method}: numbering system
 @SEEALSO=ISOWEEKNUM
 
 @CATEGORY=Date/Time
 @FUNCTION=WORKDAY
- SYNTAX=WORKDAY (start_date,days[,holidays])
- DESCRIPTION=WORKDAY returns the date which is @days working days from the @start_date.  Weekends and holidays optionally supplied in @holidays are respected.
-
-* WORKDAY returns #NUM! if @start_date or @days are invalid.
-* This function is Excel compatible.
-
- EXAMPLES=
-DAY(WORKDAY(DATE(2001,1,5),30)) equals 16 and
-MONTH(WORKDAY(DATE(2001,1,5),30)) equals 2.
-
+ SYNTAX=WORKDAY(date,days,holidays)
+ DESCRIPTION=WORKDAY adjusts @{date} by @{days} skipping over weekends and @{holidays} in the process.
+ {date}: date serial value
+ {days}: number of days to add
+ {holidays}: array of holidays
 @SEEALSO=NETWORKDAYS
 
 @CATEGORY=Date/Time
 @FUNCTION=YEAR
- SYNTAX=YEAR (date)
- DESCRIPTION=YEAR converts a serial number to a year.
-
-* Note that Gnumeric will perform regular string to serial number conversion for you, so you can enter a date as a string.
-* This function is Excel compatible.
-
- EXAMPLES=
-YEAR(DATE(2003, 4, 30)) equals 2003.
-
- SEEALSO=DAY, MONTH, TIME, NOW
+ SYNTAX=YEAR(date)
+ DESCRIPTION=The YEAR function returns the year part of @{date}.
+ {date}: date serial value
+ SEEALSO=DATE,MONTH,DAY
 
 @CATEGORY=Date/Time
 @FUNCTION=YEARFRAC
- SYNTAX=YEARFRAC (start_date, end_date [,basis])
- DESCRIPTION=YEARFRAC returns the number of full days between @start_date and @end_date according to the @basis.
-
- EXAMPLES=
-
- SEEALSO=DATEDIF
+ SYNTAX=YEARFRAC(start_date,end_date,basis)
+ DESCRIPTION=YEARFRAC calculates the number of days from @{start_date} to @{end_date} according to the calendar specified by @{basis}, which defaults to 0, and expresses the result as a fractional number of years.
+ {start_date}: starting date serial value
+ {end_date}: ending date serial value
+ {basis}: calendar basis
+ SEEALSO=DATE
 
 @CATEGORY=Engineering
 @FUNCTION=BASE
- SYNTAX=BASE(number,base[,length])
- DESCRIPTION=BASE function converts a number to a string representing that number in base @base.
-
-* @base must be an integer between 2 and 36.
-* This function is OpenOffice.Org compatible.
-* Optional argument @length specifies the minimum result length.  Leading  zeroes will be added to reach this length.
-
- EXAMPLES=
-BASE(255,16,4) equals "00FF".
-
+ SYNTAX=BASE(n,b,length)
+ DESCRIPTION=BASE converts @{n} to its string representation in base @{b}. Leading zeroes will be added to reach the minimum length given by @{length}.
+ {n}: integer
+ {b}: base (2 â?¤ @{b} â?¤ 36)
+ {length}: minimum length of the resutling string
 @SEEALSO=DECIMAL
 
 @CATEGORY=Engineering
 @FUNCTION=BESSELI
- SYNTAX=BESSELI(x,y)
- DESCRIPTION=BESSELI function returns the Neumann, Weber or Bessel function.
-
- x is where the function is evaluated. @y is the order of the Bessel function.
-
-* If @x or @y are not numeric a #VALUE! error is returned.
-* If @y < 0 a #NUM! error is returned.
-* This function extends the Excel function of the same name to non-integer orders.
-
- EXAMPLES=
-BESSELI(0.7,3) equals 0.007367374.
-
 @SEEALSO=BESSELJ,BESSELK,BESSELY
 
 @CATEGORY=Engineering
 @FUNCTION=BESSELJ
- SYNTAX=BESSELJ(x,y)
- DESCRIPTION=BESSELJ function returns the Bessel function with @x is where the function is evaluated. @y is the order of the Bessel function, if non-integer it is truncated.
-
-* If @x or @y are not numeric a #VALUE! error is returned.
-* If @y < 0 a #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-BESSELJ(0.89,3) equals 0.013974004.
-
 @SEEALSO=BESSELI,BESSELK,BESSELY
 
 @CATEGORY=Engineering
 @FUNCTION=BESSELK
- SYNTAX=BESSELK(x,y)
- DESCRIPTION=BESSELK function returns the Neumann, Weber or Bessel function. @x is where the function is evaluated. @y is the order of the Bessel function.
-
-* If @x or @y are not numeric a #VALUE! error is returned.
-* If @y < 0 a #NUM! error is returned.
-* This function extends the Excel function of the same name to non-integer orders.
-
- EXAMPLES=
-BESSELK(3,9) equals 397.95880.
-
 @SEEALSO=BESSELI,BESSELJ,BESSELY
 
 @CATEGORY=Engineering
 @FUNCTION=BESSELY
- SYNTAX=BESSELY(x,y)
- DESCRIPTION=BESSELY function returns the Neumann, Weber or Bessel function.
-
- x is where the function is evaluated. @y is the order of the Bessel function, if non-integer it is truncated.
-
-* If @x or @y are not numeric a #VALUE! error is returned.
-* If @y < 0 a #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-BESSELY(4,2) equals 0.215903595.
-
 @SEEALSO=BESSELI,BESSELJ,BESSELK
 
 @CATEGORY=Engineering
 @FUNCTION=BIN2DEC
- SYNTAX=BIN2DEC(x)
- DESCRIPTION=BIN2DEC function converts a binary number in string or number to its decimal equivalent.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-BIN2DEC(101) equals 5.
-
- SEEALSO=DEC2BIN, BIN2OCT, BIN2HEX
+ SEEALSO=DEC2BIN,BIN2OCT,BIN2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=BIN2HEX
- SYNTAX=BIN2HEX(number[,places])
- DESCRIPTION=BIN2HEX function converts a binary number to a hexadecimal number.  @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-BIN2HEX(100111) equals 27.
-
- SEEALSO=HEX2BIN, BIN2OCT, BIN2DEC
+ SYNTAX=BIN2HEX(x,places)
+ DESCRIPTION=If @{places} is given, BIN2HEX pads the result with zeros to achieve exactly @{places} digits. If this is not possible, BIN2HEX returns #NUM!
+ {x}: a binary number, either as a string or as a number involving only the digits 0 and 1
+ {places}: number of digits
+ SEEALSO=HEX2BIN,BIN2OCT,BIN2DEC
 
 @CATEGORY=Engineering
 @FUNCTION=BIN2OCT
- SYNTAX=BIN2OCT(number[,places])
- DESCRIPTION=BIN2OCT function converts a binary number to an octal number. @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-BIN2OCT(110111) equals 67.
-
- SEEALSO=OCT2BIN, BIN2DEC, BIN2HEX
+ SYNTAX=BIN2OCT(x,places)
+ DESCRIPTION=If @{places} is given, BIN2OCT pads the result with zeros to achieve exactly @{places} digits. If this is not possible, BIN2OCT returns #NUM!
+ {x}: a binary number, either as a string or as a number involving only the digits 0 and 1
+ {places}: number of digits
+ SEEALSO=OCT2BIN,BIN2DEC,BIN2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=CONVERT
- SYNTAX=CONVERT(number,from_unit,to_unit)
- DESCRIPTION=CONVERT returns a conversion from one measurement system to another.  For example, you can convert a weight in pounds to a weight in grams.  @number is the value you want to convert, @from_unit specifies the unit of the @number, and @to_unit is the unit for the result.
-
- from_unit and @to_unit can be any of the following:
+ SYNTAX=CONVERT(x,from,to)
+ DESCRIPTION=CONVERT returns a conversion from one measurement system to another. @{x} is a value in @{from} units that is to be converted into @{to} units.
+ {x}: number
+ {from}: unit (string)
+ {to}: unit (string)
+ SYNTAX=CONVERT(x,from,to))
+ DESCRIPTION=@{from} and @{to} can be any of the following:
 
 Weight and mass:
-	'g'  		Gram
-	'sg' 		Slug
+	'g'  			Gram
+	'sg' 			Slug
 	'lbm'		Pound
-	'u'  		U (atomic mass)
+	'u'  			U (atomic mass)
 	'ozm'		Ounce
 
 Distance:
 	'm'   		Meter
 	'mi'  		Statute mile
 	'Nmi' 		Nautical mile
-	'in'  		Inch
-	'ft'  		Foot
+	'in'  			Inch
+	'ft'  			Foot
 	'yd'  		Yard
 	'ang' 		Angstrom
 	'Pica'		Pica
 
 Time:
-	'yr'  		Year
+	'yr'  			Year
 	'day' 		Day
-	'hr'  		Hour
+	'hr'  			Hour
 	'mn'  		Minute
 	'sec' 		Second
 
 Pressure:
 	'Pa'  		Pascal
 	'atm' 		Atmosphere
-	'mmHg'	mm of Mercury
+	'mmHg'		mm of Mercury
 
 Force:
-	'N'   		Newton
+	'N'   			Newton
 	'dyn' 		Dyne
-	'lbf' 		Pound force
+	'lbf' 			Pound force
 
 Energy:
-	'J'    		Joule
+	'J'    			Joule
 	'e'    		Erg
 	'c'    		Thermodynamic calorie
 	'cal'  		IT calorie
-	'eV'   	Electron volt
-	'HPh'  	Horsepower-hour
-	'Wh'   	Watt-hour
+	'eV'   		Electron volt
+	'HPh'  		Horsepower-hour
+	'Wh'   		Watt-hour
 	'flb'  		Foot-pound
-	'BTU'  	BTU
+	'BTU'  		BTU
 
 Power:
-	'HP'   	Horsepower
-	'W'    	Watt
+	'HP'   		Horsepower
+	'W'    		Watt
 
 Magnetism:
 	'T'    		Tesla
-	'ga'   	Gauss
+	'ga'   		Gauss
 
 Temperature:
 	'C'    		Degree Celsius
@@ -1538,2208 +775,1244 @@ Liquid measure:
 	'tsp'  		Teaspoon
 	'tbs'  		Tablespoon
 	'oz'   		Fluid ounce
-	'cup'  	Cup
+	'cup'  		Cup
 	'pt'   		Pint
 	'qt'   		Quart
 	'gal'  		Gallon
-	'l'    		Liter
+	'l'    			Liter
 
 For metric units any of the following prefixes can be used:
-	'Y'  	yotta 	1E+24
-	'Z'  	zetta 	1E+21
-	'E'  	exa   	1E+18
-	'P'  	peta  	1E+15
+	'Y'  	yotta 		1E+24
+	'Z'  	zetta 		1E+21
+	'E'  	exa   		1E+18
+	'P'  	peta  		1E+15
 	'T'  	tera  		1E+12
-	'G'  	giga  	1E+09
-	'M'  	mega  	1E+06
+	'G'  	giga  		1E+09
+	'M'  	mega  		1E+06
 	'k'  	kilo  		1E+03
-	'h'  	hecto 	1E+02
-	'e'  	deka  	1E+01
-	'd'  	deci  	1E-01
+	'h'  	hecto 		1E+02
+	'e'  	deca (deka)	1E+01
+	'd'  	deci  		1E-01
 	'c'  	centi 		1E-02
 	'm'  	milli 		1E-03
-	'u'  	micro 	1E-06
-	'n'  	nano  	1E-09
-	'p'  	pico  	1E-12
-	'f'  	femto 	1E-15
+	'u'  	micro 		1E-06
+	'n'  	nano  		1E-09
+	'p'  	pico  		1E-12
+	'f'  	femto 		1E-15
 	'a'  	atto  		1E-18
 	'z'  	zepto 		1E-21
 	'y'  	yocto 		1E-24
-
-* If @from_unit and @to_unit are different types, CONVERT returns #N/A error.
-* This function is Excel compatible.
-
- EXAMPLES=
-CONVERT(3,"lbm","g") equals 1360.7769.
-CONVERT(5.8,"m","in") equals 228.3465.
-CONVERT(7.9,"cal","J") equals 33.07567.
-
- SEEALSO=
+ {x}: number
+ {from}: unit (string)
+ {to}: unit (string)
 
 @CATEGORY=Engineering
 @FUNCTION=DEC2BIN
- SYNTAX=DEC2BIN(number[,places])
- DESCRIPTION=DEC2BIN function converts a decimal number to a binary number. @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-DEC2BIN(42) equals 101010.
-
- SEEALSO=BIN2DEC, DEC2OCT, DEC2HEX
+ SYNTAX=DEC2BIN(x,places)
+ DESCRIPTION=If @{places} is given, DEC2BIN pads the result with zeros to achieve exactly @{places} digits. If this is not possible, DEC2BIN returns #NUM!
+ {x}: integer
+ {places}: number of digits
+ SEEALSO=BIN2DEC,DEC2OCT,DEC2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=DEC2HEX
- SYNTAX=DEC2HEX(number[,places])
- DESCRIPTION=DEC2HEX function converts a decimal number to a hexadecimal number. @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-DEC2HEX(42) equals 2A.
-
- SEEALSO=HEX2DEC, DEC2BIN, DEC2OCT
+ SYNTAX=DEC2HEX(x,places)
+ DESCRIPTION=If @{places} is given, DEC2HEX pads the result with zeros to achieve exactly @{places} digits. If this is not possible, DEC2HEX returns #NUM!
+ {x}: integer
+ {places}: number of digits
+ SEEALSO=HEX2DEC,DEC2BIN,DEC2OCT
 
 @CATEGORY=Engineering
 @FUNCTION=DEC2OCT
- SYNTAX=DEC2OCT(number[,places])
- DESCRIPTION=DEC2OCT function converts a decimal number to an octal number. @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-DEC2OCT(42) equals 52.
-
- SEEALSO=OCT2DEC, DEC2BIN, DEC2HEX
+ SYNTAX=DEC2OCT(x,places)
+ DESCRIPTION=If @{places} is given, DEC2OCT pads the result with zeros to achieve exactly @{places} digits. If this is not possible, DEC2OCT returns #NUM!
+ {x}: integer
+ {places}: number of digits
+ SEEALSO=OCT2DEC,DEC2BIN,DEC2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=DECIMAL
- SYNTAX=DECIMAL(text,base)
- DESCRIPTION=DECIMAL function converts a number in base @base to decimal.
-
-* @base must be an integer between 2 and 36.
-* This function is OpenOffice.Org compatible.
-
- EXAMPLES=
-DECIMAL("A1",16) equals 161.
-
 @SEEALSO=BASE
 
 @CATEGORY=Engineering
 @FUNCTION=DELTA
- SYNTAX=DELTA(x[,y])
- DESCRIPTION=DELTA function tests for numerical equivalence of two arguments, returning 1 in case of equality.
-
-* @y is optional, and defaults to 0.
-* If either argument is non-numeric returns a #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-DELTA(42.99,43) equals 0.
-
+ SYNTAX=DELTA(x0,x1)
+ DESCRIPTION=DELTA  returns 1 if  @{x1} = @{x0} and 0 otherwise.
+ {x0}: number
+ {x1}: number, defaults to 0
 @SEEALSO=EXACT,GESTEP
 
 @CATEGORY=Engineering
 @FUNCTION=ERF
- SYNTAX=ERF([lower limit,]upper_limit)
- DESCRIPTION=ERF returns the error function.  With a single argument ERF returns the error function, defined as
-
-	erf(x) = 2/sqrt(pi)* integral from 0 to x of exp(-t*t) dt.
-
-If two arguments are supplied, they are the lower and upper limits of the integral.
-
-* If either @lower_limit or @upper_limit is not numeric a #VALUE! error is returned.
-* This function is upward-compatible with that in Excel. (If two arguments are supplied, Excel will not allow either to be negative.)
-
- EXAMPLES=
-ERF(0.4) equals 0.428392355.
-ERF(1.6448536269515/SQRT(2)) equals 0.90.
-
-The second example shows that a random variable with a normal distribution has a 90 percent chance of falling within approximately 1.645 standard deviations of the mean.
+ SYNTAX=ERF(lower,upper)
+ DESCRIPTION=ERF returns 2/sqrt(Ï?)* integral from @{lower} to @{upper} of exp(-t*t) dt
+ {lower}: lower limit of the integral, defaults to 0
+ {upper}: upper limit of the integral
 @SEEALSO=ERFC
 
 @CATEGORY=Engineering
 @FUNCTION=ERFC
 @SYNTAX=ERFC(x)
- DESCRIPTION=ERFC function returns the complementary error function, defined as
-
-	1 - erf(x).
-
-erfc(x) is calculated more accurately than 1 - erf(x) for arguments larger than about 0.5.
-
-* If @x is not numeric a #VALUE! error is returned.  
- EXAMPLES=
-ERFC(6) equals 2.15197367e-17.
-
+ DESCRIPTION=ERFC returns 2/sqrt(Ï?)* integral from @{x} to â?? of exp(-t*t) dt
+ {x}: number
 @SEEALSO=ERF
 
 @CATEGORY=Engineering
 @FUNCTION=GESTEP
- SYNTAX=GESTEP(x[,y])
- DESCRIPTION=GESTEP function tests if @x is >= @y, returning 1 if it is so, and 0 otherwise. @y is optional, and defaults to 0.
-
-* If either argument is non-numeric returns a #VALUE! error.
-* This function is Excel compatible.
- EXAMPLES=
-GESTEP(5,4) equals 1.
-
+ SYNTAX=GESTEP(x0,x1)
+ DESCRIPTION=GESTEP returns 1 if  @{x1} â?¤ @{x0} and 0 otherwise.
+ {x0}: number
+ {x1}: number, defaults to 0
 @SEEALSO=DELTA
 
 @CATEGORY=Engineering
 @FUNCTION=HEX2BIN
- SYNTAX=HEX2BIN(number[,places])
- DESCRIPTION=HEX2BIN function converts a hexadecimal number to a binary number.  @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-HEX2BIN("2A") equals 101010.
-
- SEEALSO=BIN2HEX, HEX2OCT, HEX2DEC
+ SYNTAX=HEX2BIN(x,places)
+ DESCRIPTION=If @{places} is given, HEX2BIN pads the result with zeros to achieve exactly @{places} digits. If this is not possible, HEX2BIN returns #NUM!
+ {x}: a hexadecimal number, either as a string or as a number if no A to F are needed
+ {places}: number of digits
+ SEEALSO=BIN2HEX,HEX2OCT,HEX2DEC
 
 @CATEGORY=Engineering
 @FUNCTION=HEX2DEC
- SYNTAX=HEX2DEC(x)
- DESCRIPTION=HEX2DEC function converts a hexadecimal number to its decimal equivalent.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-HEX2DEC("2A") equals 42.
-
- SEEALSO=DEC2HEX, HEX2BIN, HEX2OCT
+ SEEALSO=DEC2HEX,HEX2BIN,HEX2OCT
 
 @CATEGORY=Engineering
 @FUNCTION=HEX2OCT
- SYNTAX=HEX2OCT(number[,places])
- DESCRIPTION=HEX2OCT function converts a hexadecimal number to an octal number.  @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-HEX2OCT("2A") equals 52.
-
- SEEALSO=OCT2HEX, HEX2BIN, HEX2DEC
+ SYNTAX=HEX2OCT(x,places)
+ DESCRIPTION=If @{places} is given, HEX2OCT pads the result with zeros to achieve exactly @{places} digits. If this is not possible, HEX2OCT returns #NUM!
+ {x}: a hexadecimal number, either as a string or as a number if no A to F are needed
+ {places}: number of digits
+ SEEALSO=OCT2HEX,HEX2BIN,HEX2DEC
 
 @CATEGORY=Engineering
 @FUNCTION=INVSUMINV
- SYNTAX=INVSUMINV(x1,x2,...)
- DESCRIPTION=INVSUMINV sum calculates the inverse of the sum of inverses.
-
-The primary use of this is for calculating equivalent resistance for parallel resistors or equivalent capacitance of a series of capacitors.
-
-* All arguments must be non-negative, or else a #VALUE! result is returned.
-* If any argument is zero, the result is zero.
-
- EXAMPLES=
-INVSUMINV(2000,2000) equals 1000.
-
+ SYNTAX=INVSUMINV(x0,x1)
+ DESCRIPTION=INVSUMINV sum calculates the reciprocal (the inverse) of the sum of reciprovals (inverses) of all its arguments.
+ {x0}: non-negative number
+ {x1}: non-negative number
 @SEEALSO=HARMEAN
 
 @CATEGORY=Engineering
 @FUNCTION=OCT2BIN
- SYNTAX=OCT2BIN(number[,places])
- DESCRIPTION=OCT2BIN function converts an octal number to a binary number.  @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-OCT2BIN("213") equals 10001011.
-
- SEEALSO=BIN2OCT, OCT2DEC, OCT2HEX
+ SYNTAX=OCT2BIN(x,places)
+ DESCRIPTION=If @{places} is given, OCT2BIN pads the result with zeros to achieve exactly @{places} digits. If this is not possible, OCT2BIN returns #NUM!
+ {x}: a octal number, either as a string or as a number
+ {places}: number of digits
+ SEEALSO=BIN2OCT,OCT2DEC,OCT2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=OCT2DEC
- SYNTAX=OCT2DEC(x)
- DESCRIPTION=OCT2DEC function converts an octal number in a string or number to its decimal equivalent.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-OCT2DEC("124") equals 84.
-
- SEEALSO=DEC2OCT, OCT2BIN, OCT2HEX
+ SEEALSO=DEC2OCT,OCT2BIN,OCT2HEX
 
 @CATEGORY=Engineering
 @FUNCTION=OCT2HEX
- SYNTAX=OCT2HEX(number[,places])
- DESCRIPTION=OCT2HEX function converts an octal number to a hexadecimal number.  @places is an optional field, specifying to zero pad to that number of spaces.
-
-* If @places is too small or negative #NUM! error is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-OCT2HEX(132) equals 5A.
-
- SEEALSO=HEX2OCT, OCT2BIN, OCT2DEC
+ SYNTAX=OCT2HEX(x,places)
+ DESCRIPTION=If @{places} is given, OCT2HEX pads the result with zeros to achieve exactly @{places} digits. If this is not possible, OCT2HEX returns #NUM!
+ {x}: a octal number, either as a string or as a number
+ {places}: number of digits
+ SEEALSO=HEX2OCT,OCT2BIN,OCT2DEC
 
 @CATEGORY=Erlang
 @FUNCTION=DIMCIRC
 @SYNTAX=DIMCIRC(traffic,gos)
- DESCRIPTION=DIMCIRC returns a number of circuits required from a number of @traffic loads with @gos grade of service.
-
- EXAMPLES=
-DIMCIRC(24,1%) returns 35.
-
- SEEALSO=OFFCAP, OFFTRAF, PROBBLOCK
+ DESCRIPTION=DIMCIRC returns the number of circuits required given @{traffic} calls with grade of service @{gos}.
+ {traffic}: number of calls
+ {gos}: grade of service
+ SEEALSO=OFFCAP,OFFTRAF,PROBBLOCK
 
 @CATEGORY=Erlang
 @FUNCTION=OFFCAP
 @SYNTAX=OFFCAP(circuits,gos)
- DESCRIPTION=OFFCAP returns a number of traffic capacity given by a number of @circuits with @gos grade of service.
-
- EXAMPLES=
-OFFCAP(30,1%) returns 20.337.
-
- SEEALSO=DIMCIRC, OFFTRAF, PROBBLOCK
+ DESCRIPTION=OFFCAP returns the traffic capacity given @{circuits} circuits with grade of service @{gos}.
+ {circuits}: number of circuits
+ {gos}: grade of service
+ SEEALSO=DIMCIRC,OFFTRAF,PROBBLOCK
 
 @CATEGORY=Erlang
 @FUNCTION=OFFTRAF
 @SYNTAX=OFFTRAF(traffic,circuits)
- DESCRIPTION=OFFTRAF returns a predicted number of offered traffic from a number of carried @traffic (taken from measurements) on a number of @circuits.
-
-* @traffic cannot exceed @circuits
-
- EXAMPLES=
-OFFTRAF(24,30) returns 25.527.
-
- SEEALSO=PROBBLOCK, DIMCIRC, OFFCAP
+ DESCRIPTION=OFFTRAF returns the predicted number of offered calls given @{traffic} carried calls (taken from measurements) on @{circuits} circuits.
+ {traffic}: number of carried calls
+ {circuits}: number of circuits
+ SEEALSO=PROBBLOCK,DIMCIRC,OFFCAP
 
 @CATEGORY=Erlang
 @FUNCTION=PROBBLOCK
 @SYNTAX=PROBBLOCK(traffic,circuits)
- DESCRIPTION=PROBBLOCK returns probability of blocking when a number of @traffic loads into a number of @circuits (servers).
-
-* @traffic cannot exceed @circuits
-
- EXAMPLES=
-PROBBLOCK(24,30) returns 0.4012.
-
- SEEALSO=OFFTRAF, DIMCIRC, OFFCAP
+ DESCRIPTION=PROBBLOCK returns probability of blocking when @{traffic} calls load into @{ccicuits} circuits.
+ {traffic}: number of calls
+ {circuits}: number of circuits
+ SEEALSO=OFFTRAF,DIMCIRC,OFFCAP
 
 @CATEGORY=Finance
 @FUNCTION=ACCRINT
- SYNTAX=ACCRINT(issue,first_interest,settlement,rate,par,frequency[,basis])
+ SYNTAX=ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis)
 @DESCRIPTION=ACCRINT calculates the accrued interest for a security that pays periodic interest.
-
- issue is the issue date of the security.  @first_interest is the first interest date of the security.  @settlement is the settlement date of the security.  The settlement date is always after the issue date (the date when the security is bought). @rate is the annual rate of the security and @par is the par value of the security. @frequency is the number of coupon payments per year.
-
-Allowed frequencies are:
-  1 = annual,
-  2 = semi,
-  4 = quarterly.
-
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @issue date, @first_interest date, or @settlement date is not valid, ACCRINT returns #NUM! error.
-* The dates must be @issue < @first_interest < @settlement, or ACCRINT returns #NUM! error.
-* If @rate <= 0 or @par <= 0 , ACCRINT returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, ACCRINT returns #NUM! error.
-* If @issue date is after @settlement date or they are the same, ACCRINT returns #NUM! error.
-
- EXAMPLES=
-
+ {issue}: date of issue
+ {first_interest}: date of first interest payment
+ {settlement}: settlement date
+ {rate}: nominal annual interest rate
+ {par}: par value
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
 @SEEALSO=ACCRINTM
 
 @CATEGORY=Finance
 @FUNCTION=ACCRINTM
- SYNTAX=ACCRINTM(issue,maturity,rate[,par,basis])
- DESCRIPTION=ACCRINTM calculates and returns the accrued interest for a security from @issue to @maturity date.
-
- issue is the issue date of the security.  @maturity is the maturity date of the security.  @rate is the annual rate of the security and @par is the par value of the security. If you omit @par, ACCRINTM applies $1,000 instead.  @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @issue date or @maturity date is not valid, ACCRINTM returns #NUM! error.
-* If @rate <= 0 or @par <= 0, ACCRINTM returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, ACCRINTM returns #NUM! error.
-* If @issue date is after @maturity date or they are the same, ACCRINTM returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=ACCRINTM(issue,maturity,rate,par,basis)
+ DESCRIPTION=ACCRINT calculates the accrued interest from @{issue} to @{maturity}.
+ {issue}: date of issue
+ {maturity}: maturity date
+ {rate}: nominal annual interest rate
+ {par}: par value
+ {basis}: calendar basis
 @SEEALSO=ACCRINT
 
 @CATEGORY=Finance
 @FUNCTION=AMORDEGRC
- SYNTAX=AMORDEGRC(cost,purchase_date,first_period,salvage,period,rate[,basis])
- DESCRIPTION=AMORDEGRC: Calculates depreciation for each accounting period using French accounting conventions.   Assets purchased in the middle of a period take prorated depreciation into account.  This is similar to AMORLINC, except that a depreciation coefficient is applied in the calculation depending on the life of the assets.
-Named for AMORtissement DEGRessif Comptabilite
-
- cost The value of the asset.
- purchase_date The date the asset was purchased.
- first_period The end of the first period.
- salvage Asset value at maturity.
- period The length of accounting periods.
- rate rate of depreciation as a percentage.
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-AMORDEGRC(2400,DATE(1998,8,19),DATE(1998,12,30),300,1,0.14,1) = 733
-
+ SYNTAX=AMORDEGRC(cost,purchase_date,first_period,salvage,period,rate,basis)
+ DESCRIPTION=AMORDEGRC calculates the depreciation of an asset using French accounting conventions. Assets purchased in the middle of a period take prorated depreciation into account. This is similar to AMORLINC, except that a depreciation coefficient is applied in the calculation depending on the life of the assets.
+ {cost}: initial cost of asset
+ {purchase_date}: date of purchase
+ {first_period}: end of first period
+ {salvage}: value after depreciation
+ {period}: subject period
+ {rate}: depreciation rate
+ {basis}: calendar basis
 @SEEALSO=AMORLINC
 
 @CATEGORY=Finance
 @FUNCTION=AMORLINC
- SYNTAX=AMORLINC(cost,purchase_date,first_period,salvage,period,rate[,basis])
- DESCRIPTION=AMORLINC: Calculates depreciation for each accounting period using French accounting conventions.   Assets purchased in the middle of a period take prorated depreciation into account.
-Named for AMORtissement LINeaire Comptabilite.
-
- cost The value of the asset.
- purchase_date The date the asset was purchased.
- first_period The end of the first period.
- salvage Asset value at maturity.
- period The length of accounting periods.
- rate rate of depreciation as a percentage.
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-AMORLINC(2400,DATE(1998,8,19),DATE(1998,12,31),300,1,0.15,1) = 360
-
+ SYNTAX=AMORLINC(cost,purchase_date,first_period,salvage,period,rate,basis)
+ DESCRIPTION=AMORLINC calculates the depreciation of an asset using French accounting conventions. Assets purchased in the middle of a period take prorated depreciation into account. 
+ {cost}: initial cost of asset
+ {purchase_date}: date of purchase
+ {first_period}: end of first period
+ {salvage}: value after depreciation
+ {period}: subject period
+ {rate}: depreciation rate
+ {basis}: calendar basis
 @SEEALSO=AMORDEGRC
 
 @CATEGORY=Finance
 @FUNCTION=COUPDAYBS
- SYNTAX=COUPDAYBS(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPDAYBS returns the number of days from the beginning of the coupon period to the settlement date.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly, 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-(See the gnumeric manual for a detailed description of these bases).
-
-* If @frequency is invalid, COUPDAYBS returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-COUPDAYBS (DATE(2002,11,29),DATE(2004,2,29),4,0) = 89
-COUPDAYBS (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 0
-
- SEEALSO=
+ SYNTAX=COUPDAYBS(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPDAYBS calculates the number of days from the beginning of the coupon period to the settlement date.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPDAYS
 
 @CATEGORY=Finance
 @FUNCTION=COUPDAYS
- SYNTAX=COUPDAYS(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPDAYS returns the number of days in the coupon period of the settlement date.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly, 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-(See the gnumeric manual for a detailed description of these bases).
-
-* If @frequency is invalid, COUPDAYS returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-COUPDAYS (DATE(2002,11,29),DATE(2004,2,29),4,0) = 90
-COUPDAYS (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 90
-COUPDAYS (DATE(2002,11,29),DATE(2004,2,29),4,1,FALSE) = 91
-
- SEEALSO=
+ SYNTAX=COUPDAYS(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPDAYS calculates the number of days in the coupon period of the settlement date.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPDAYBS,COUPDAYSNC
 
 @CATEGORY=Finance
 @FUNCTION=COUPDAYSNC
- SYNTAX=COUPDAYSNC(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPDAYSNC returns the number of days from the settlement date to the next coupon date.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly, 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-(See the gnumeric manual for a detailed description of these bases).
-
-* If @frequency is invalid, COUPDAYSNC returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-COUPDAYSNC (DATE(2002,11,29),DATE(2004,2,29),4,0) = 1
-COUPDAYSNC (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 89
-
- SEEALSO=
+ SYNTAX=COUPDAYSNC(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPDAYSNC calculates number of days from the settlement date to the next coupon period.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPDAYS,COUPDAYBS
 
 @CATEGORY=Finance
 @FUNCTION=COUPNCD
- SYNTAX=COUPNCD(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPNCD returns the coupon date following settlement.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly, 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-(See the gnumeric manual for a detailed description of these bases).
-
-* If @frequency is invalid, COUPNCD returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-COUPNCD (DATE(2002,11,29),DATE(2004,2,29),4,0) = 30-Nov-2002
-COUPNCD (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 28-Feb-2003
-
- SEEALSO=
+ SYNTAX=COUPNCD(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPNCD calculates the coupon date following settlement.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPPCD,COUPDAYS,COUPDAYBS
 
 @CATEGORY=Finance
 @FUNCTION=COUPNUM
- SYNTAX=COUPNUM(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPNUM returns the numbers of coupons to be paid between the settlement and maturity dates, rounded up.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-* If @frequency is other than 1, 2, 4, 6 or 12, COUPNUM returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is not in between 0 and 5, #NUM! error is returned.
-
- EXAMPLES=
-COUPNUM (DATE(2002,11,29),DATE(2004,2,29),4,0) = 6
-COUPNUM (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 5
- SEEALSO=
+ SYNTAX=COUPNUM(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPNUM calculates the number of coupons to be paid between the settlement and maturity dates, rounded up.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPNCD,COUPPCD
 
 @CATEGORY=Finance
 @FUNCTION=COUPPCD
- SYNTAX=COUPPCD(settlement,maturity,frequency[,basis,eom])
- DESCRIPTION=COUPPCD returns the coupon date preceding settlement.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- frequency is the number of coupon payments per year.
- eom = TRUE handles end of month maturity dates special.
-Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly, 6 = bimonthly, 12 = monthly.
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-(See the gnumeric manual for a detailed description of these bases).
-
-* If @frequency is invalid, COUPPCD returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-COUPPCD (DATE(2002,11,29),DATE(2004,2,29),4,0) = 31-Aug-2002
-COUPPCD (DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE) = 29-Nov-2002
-
- SEEALSO=
+ SYNTAX=COUPPCD(settlement,maturity,frequency,basis,eom)
+ DESCRIPTION=COUPPCD calculates the coupon date preceeding settlement.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ {eom}: end-of-month flag
+ SEEALSO=COUPNCD,COUPDAYS,COUPDAYBS
 
 @CATEGORY=Finance
 @FUNCTION=CUM_BIV_NORM_DIST
 @SYNTAX=CUM_BIV_NORM_DIST(a,b,rho)
- DESCRIPTION=CUM_BIV_NORM_DIST calculates the cumulative bivariate normal distribution from parameters a, b & rho.
-The return value is the probability that two random variables with correlation @rho are respectively each less than @a and @b.
-
- EXAMPLES=
-
- SEEALSO=NORMDIST,NORMSDIST,NORMSINV
+ DESCRIPTION=CUM_BIV_NORM_DIST calculates the probability that two standard normal distributed random variables with correlation @{rho} are respectively each less than @{a} and @{b}.
+ {a}: limit for first random variable
+ {b}: limit for second random variable
+ {rho}: correlation of the two random variables
 
 @CATEGORY=Finance
 @FUNCTION=CUMIPMT
 @SYNTAX=CUMIPMT(rate,nper,pv,start_period,end_period,type)
- DESCRIPTION=CUMIPMT returns the cumulative interest paid on a loan between @start_period and @end_period.
-
-* If @rate <= 0, CUMIPMT returns #NUM! error.
-* If @nper <= 0, CUMIPMT returns #NUM! error.
-* If @pv <= 0, CUMIPMT returns #NUM! error.
-* If @start_period < 1, CUMIPMT returns #NUM! error.
-* If @end_period < @start_period, CUMIPMT returns #NUM! error.
-* If @end_period > @nper, CUMIPMT returns #NUM! error.
-* If @type <> 0 and @type <> 1, CUMIPMT returns #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=
+ DESCRIPTION=CUMIPMT calculates the cumulative interest paid on a loan from @{start_period} to @{end_period}.
+ {rate}: effective annual interest rate
+ {nper}: number of periods
+ {pv}: present value
+ {start_period}: first period to accumulate for
+ {end_period}: last period to accumulate for
+ {type}: payment type
+ SEEALSO=IPMT
 
 @CATEGORY=Finance
 @FUNCTION=CUMPRINC
 @SYNTAX=CUMPRINC(rate,nper,pv,start_period,end_period,type)
- DESCRIPTION=CUMPRINC returns the cumulative principal paid on a loan between @start_period and @end_period.
-
-* If @rate <= 0, CUMPRINC returns #NUM! error.
-* If @nper <= 0, CUMPRINC returns #NUM! error.
-* If @pv <= 0, CUMPRINC returns #NUM! error.
-* If @start_period < 1, CUMPRINC returns #NUM! error.
-* If @end_period < @start_period, CUMPRINC returns #NUM! error.
-* If @end_period > @nper, CUMPRINC returns #NUM! error.
-* If @type <> 0 and @type <> 1, CUMPRINC returns #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=
+ DESCRIPTION=CUMPRINC calculates the cumulative principal paid on a loan from @{start_period} to @{end_period}.
+ {rate}: effective annual interest rate
+ {nper}: number of periods
+ {pv}: present value
+ {start_period}: first period to accumulate for
+ {end_period}: last period to accumulate for
+ {type}: payment type
+ SEEALSO=PPMT
 
 @CATEGORY=Finance
 @FUNCTION=DB
- SYNTAX=DB(cost,salvage,life,period[,month])
- DESCRIPTION=DB calculates the depreciation of an asset for a given period using the fixed-declining balance method.  @cost is the initial value of the asset.  @salvage is the value after the depreciation.
-
- life is the number of periods overall.  @period is the period for which you want the depreciation to be calculated.  @month is the number of months in the first year of depreciation.
-
-* If @month is omitted, it is assumed to be 12.
-* If @cost = 0, DB returns #NUM! error.
-* If @life <= 0, DB returns #NUM! error.
-* If @salvage / @cost < 0, DB returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=DB(cost,salvage,life,period,month)
+ DESCRIPTION=DB calculates the depreciation of an asset for a given period using the fixed-declining balance method.
+ {cost}: initial cost of asset
+ {salvage}: value after depreciation
+ {life}: number of periods
+ {period}: subject period
+ {month}: number of months in first year of depreciation
 @SEEALSO=DDB,SLN,SYD
 
 @CATEGORY=Finance
 @FUNCTION=DDB
- SYNTAX=DDB(cost,salvage,life,period[,factor])
- DESCRIPTION=DDB returns the depreciation of an asset for a given period using the double-declining balance method or some other similar method you specify.
-
- cost is the initial value of the asset, @salvage is the value after the last period, @life is the number of periods, @period is the period for which you want the depreciation to be calculated, and @factor is the factor at which the balance declines.
-
-* If @factor is omitted, it is assumed to be two (double-declining balance method).
-* If @life <= 0, DDB returns #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=SLN,SYD
+ SYNTAX=DDB(cost,salvage,life,period,factor)
+ DESCRIPTION=DDB calculates the depreciation of an asset for a given period using the double-declining balance method.
+ {cost}: initial cost of asset
+ {salvage}: value after depreciation
+ {life}: number of periods
+ {period}: subject period
+ {factor}: factor at which the balance declines
+ SEEALSO=DB,SLN,SYD
 
 @CATEGORY=Finance
 @FUNCTION=DISC
- SYNTAX=DISC(settlement,maturity,par,redemption[,basis])
- DESCRIPTION=DISC calculates and returns the discount rate for a security. @settlement is the settlement date of the security.
-
- maturity is the maturity date of the security.  @par is the price per $100 face value of the security.  @redemption is the redemption value per $100 face value of the security.
-
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @settlement date or @maturity date is not valid, DISC returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, DISC returns #NUM! error.
-* If @settlement date is after @maturity date or they are the same, DISC returns #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=DISC(settlement,maturity,par,redemption,basis)
+ DESCRIPTION=DISC calculates the discount rate for a security.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {par}: price per $100 face value
+ {redemption}: amount received at maturity
+ {basis}: calendar basis
+ SEEALSO=PRICEMAT
 
 @CATEGORY=Finance
 @FUNCTION=DOLLARDE
 @SYNTAX=DOLLARDE(fractional_dollar,fraction)
- DESCRIPTION=DOLLARDE converts a dollar price expressed as a fraction into a dollar price expressed as a decimal number.
-
- fractional_dollar is the fractional number to be converted. @fraction is the denominator of the fraction.
-
-* If @fraction is non-integer it is truncated.
-* If @fraction <= 0, DOLLARDE returns #NUM! error.
-
- EXAMPLES=
-
+ DESCRIPTION=DOLLARDE converts a fractional dollar amount into a decimal amount.  This is the inverse of the DOLLARFR function.
+ {fractional_dollar}: amount to convert
+ {fraction}: denominator
 @SEEALSO=DOLLARFR
 
 @CATEGORY=Finance
 @FUNCTION=DOLLARFR
 @SYNTAX=DOLLARFR(decimal_dollar,fraction)
- DESCRIPTION=DOLLARFR converts a decimal dollar price into a dollar price expressed as a fraction.
-
-* If @fraction is non-integer it is truncated.
-* If @fraction <= 0, DOLLARFR returns #NUM! error.
-
- EXAMPLES=
-
+ DESCRIPTION=DOLLARFR converts a fractional dollar amount into a fraction which is represented as the digits after the decimal point.  For example, 2/8 would be represented as .2 while 3/16 would be represented as .03.
+ {decimal_dollar}: amount to convert
+ {fraction}: denominator
 @SEEALSO=DOLLARDE
 
 @CATEGORY=Finance
 @FUNCTION=DURATION
- SYNTAX=DURATION(settlement,maturity,coup,yield,frequency[,basis])
+ SYNTAX=DURATION(settlement,maturity,coupon,yield,frequency,basis)
 @DESCRIPTION=DURATION calculates the duration of a security.
-
- settlement is the settlement date of the security.
- maturity is the maturity date of the security.
- coup The annual coupon rate as a percentage.
- yield The annualized yield of the security as a percentage.
- frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, DURATION returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=G_DURATION,MDURATION
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {coupon}: annual coupon rate
+ {yield}: annual yield of security
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=MDURATION
 
 @CATEGORY=Finance
 @FUNCTION=EFFECT
- SYNTAX=EFFECT(r,nper)
- DESCRIPTION=EFFECT calculates the effective interest rate from a given nominal rate.
-
-Effective interest rate is calculated using this formula:
-
-    (1 + @r / @nper) ^ @nper - 1
-
-where:
-
- r = nominal interest rate (stated in yearly terms)
- nper = number of periods used for compounding
-
-* If @rate < 0, EFFECT returns #NUM! error.
-* If @nper <= 0, EFFECT returns #NUM! error.
-
- EXAMPLES=
-For example credit cards will list an APR (annual percentage rate) which is a nominal interest rate.
-For example if you wanted to find out how much you are actually paying interest on your credit card that states an APR of 19% that is compounded monthly you would type in:
-=EFFECT(.19,12) and you would get .2075 or 20.75%. That is the effective percentage you will pay on your loan.
+ SYNTAX=EFFECT(rate,nper)
+ DESCRIPTION=EFFECT calculates the effective interest rate using the formula (1+ {rate}/@{nper})^ {nper}-1 
+ {rate}: nominal annual interest rate
+ {nper}: number of periods used for compounding
 @SEEALSO=NOMINAL
 
 @CATEGORY=Finance
 @FUNCTION=EURO
 @SYNTAX=EURO(currency)
- DESCRIPTION=EURO converts one Euro to a given national currency in the European monetary union.
-
- currency is one of the following:
-
-    ATS	(Austria)
-    BEF	(Belgium)
-    DEM	(Germany)
-    ESP	(Spain)
-    EUR	(Euro)
-    FIM	(Finland)
-    FRF	(France)
-    GRD	(Greek)
-    IEP	(Ireland)
-    ITL	(Italy)
-    LUF	(Luxembourg)
-    NLG	(Netherlands)
-    PTE	(Portugal)
-
-* If the given @currency is other than one of the above, EURO returns #NUM! error.
-
- EXAMPLES=
-EURO("DEM") returns 1.95583.
- SEEALSO=
+ DESCRIPTION=EURO calculates the national currency amount corresponding to 1 EUR for any of the national currencies that were replaced by the Euro on its introduction.
+ {currency}: three-letter currency code
+ SEEALSO=EUROCONVERT
 
 @CATEGORY=Finance
 @FUNCTION=EUROCONVERT
 @SYNTAX=EUROCONVERT(n,source,target)
- DESCRIPTION=EUROCONVERT converts the currency value @n of @source currency to a target currency @target. Both currencies are given as three-letter strings using the ISO code system names.  The following currencies are available:
-
-    ATS	(Austria)
-    BEF	(Belgium)
-    DEM	(Germany)
-    ESP	(Spain)
-    EUR	(Euro)
-    FIM	(Finland)
-    FRF	(France)
-    GRD	(Greek)
-    IEP	(Ireland)
-    ITL	(Italy)
-    LUF	(Luxembourg)
-    NLG	(Netherlands)
-    PTE	(Portugal)
-
-* If the given @source or @target is other than one of the above, EUROCONVERT returns #VALUE! error.
-
- EXAMPLES=
-EUROCONVERT(2.1,"DEM","EUR") returns 1.07.
+ DESCRIPTION=EUROCONVERT converts @{n} units of currency @{source} to currency @{target}.  The rates used are the official ones used on the introduction of the Euro.
+ {n}: amount
+ {source}: three-letter source currency code
+ {target}: three-letter target currency code
 @SEEALSO=EURO
 
 @CATEGORY=Finance
 @FUNCTION=FV
- SYNTAX=FV(rate,nper,pmt[,pv,type])
- DESCRIPTION=FV computes the future value of an investment. This is based on periodic, constant payments and a constant interest rate. The interest rate per period is @rate, @nper is the number of periods in an annuity, @pmt is the payment made each period, @pv is the present value and @type is when the payment is made.
-
-* If @type = 1 then the payment is made at the beginning of the period.
-* If @type = 0 it is made at the end of each period.
-
- EXAMPLES=
-
- SEEALSO=PV,PMT,PPMT
+ SYNTAX=FV(rate,nper,pmt,pv,type)
+ DESCRIPTION=FV calculates the future value of @{pv} moved @{nper} periods into the future, assuming a periodic payment of @{pmt} and an interest rate of @{rate} per period.
+ {rate}: effective interest rate per period
+ {nper}: number of periods
+ {pmt}: payment at each period
+ {pv}: present value
+ {type}: payment type
+ SEEALSO=PV
 
 @CATEGORY=Finance
 @FUNCTION=FVSCHEDULE
 @SYNTAX=FVSCHEDULE(principal,schedule)
- DESCRIPTION=FVSCHEDULE returns the future value of given initial value after applying a series of compound periodic interest rates. The argument @principal is the present value; @schedule is an array of interest rates to apply. The @schedule argument must be a range of cells.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain interest rates 0.11, 0.13, 0.09, 0.17, and 0.03.  Then
-FVSCHEDULE(3000,A1:A5) equals 4942.7911611.
- SEEALSO=PV,FV
+ DESCRIPTION=FVSCHEDULE calculates the future value of @{principal} after applying a range of interest rates with compounding.
+ {principal}: intial value
+ {schedule}: range of interest rates
+ SEEALSO=FV
 
 @CATEGORY=Finance
 @FUNCTION=G_DURATION
 @SYNTAX=G_DURATION(rate,pv,fv)
- DESCRIPTION=G_DURATION calculates number of periods needed for an investment to attain a desired value. This function is similar to FV and PV with a difference that we do not need give the direction of cash flows e.g. -100 for a cash outflow and +100 for a cash inflow.
-
-* If @rate <= 0, G_DURATION returns #DIV0 error.
-* If @fv = 0 or @pv = 0, G_DURATION returns #DIV0 error.
-* If @fv / @pv < 0, G_DURATION returns #VALUE error.
-
- EXAMPLES=
-
- SEEALSO=PPMT,PV,FV,DURATION,MDURATION
+ DESCRIPTION=G_DURATION calculates the number of periods needed for an investment to attain a desired value.
+ {rate}: effective annual interest rate
+ {pv}: present value
+ {fv}: future value
+ SEEALSO=FV,PV
 
 @CATEGORY=Finance
 @FUNCTION=INTRATE
- SYNTAX=INTRATE(settlement,maturity,investment,redemption[,basis])
- DESCRIPTION=INTRATE calculates and returns the interest rate of a fully vested security.
-
- settlement is the settlement date of the security.  @maturity is the maturity date of the security. @investment is the price of the security paid at @settlement date and @redemption is the amount to be received at @maturity date.
-
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @settlement date or @maturity date is not valid, INTRATE returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, INTRATE returns #NUM! error.
-* If @settlement date is after @maturity date or they are the same, INTRATE returns #NUM! error.
-
- EXAMPLES=
-
-If you had a bond with a settlement date of April 15, 2000, maturity date September 30, 2000, investment of $100,000, redemption value $103,525, using the actual/actual basis, the bond discount rate is:
-=INTRATE(36631, 36799, 100000, 103525, 1) which equals 0.0648 or 6.48%
- SEEALSO=RECEIVED, DATE
+ SYNTAX=INTRATE(settlement,maturity,investment,redemption,basis)
+ DESCRIPTION=INTRATE calculates the interest of a fully vested security.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {investment}: amount paid on settlement
+ {redemption}: amount received at maturity
+ {basis}: calendar basis
+ SEEALSO=RECEIVED
 
 @CATEGORY=Finance
 @FUNCTION=IPMT
- SYNTAX=IPMT(rate,per,nper,pv[,fv,type])
- DESCRIPTION=IPMT calculates the amount of a payment of an annuity going towards interest.
-
-Formula for IPMT is:
-
-IPMT(PER) = -PRINCIPAL(PER-1) * INTEREST_RATE
-
-where:
-
-PRINCIPAL(PER-1) = amount of the remaining principal from last period
-
-* If @fv is omitted, it is assumed to be 0.
-* If @type is omitted, it is assumed to be 0.
-
- EXAMPLES=
-
- SEEALSO=PPMT,PV,FV
+ SYNTAX=IPMT(rate,per,nper,pv,fv,type)
+ DESCRIPTION=IPMT calculates the interest part of an annuity's payment for period number @{per}.
+ {rate}: effective annual interest rate
+ {per}: period number
+ {nper}: number of periods
+ {pv}: present value
+ {fv}: future value
+ {type}: payment type
+ SEEALSO=PPMT
 
 @CATEGORY=Finance
 @FUNCTION=IRR
- SYNTAX=IRR(values[,guess])
- DESCRIPTION=IRR calculates and returns the internal rate of return of an investment.  This function is closely related to the net present value function (NPV).  The IRR is the interest rate for a series of cash flows where the net preset value is zero.
-
- values contains the series of cash flows generated by the investment.  The payments should occur at regular intervals.  The optional @guess is the initial value used in calculating the IRR.  You do not have to use that, it is only provided for the Excel compatibility.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1:A8 contain the numbers -32432, 5324, 7432, 9332, 12324, 4334, 1235, -3422.  Then
-IRR(A1:A8) returns 0.04375. 
- SEEALSO=FV,NPV,PV
+ SYNTAX=IRR(values,guess)
+ DESCRIPTION=IRR calculates the internal rate of return of a cash flow with periodic payments.  @{values} lists the payments (negative values) and receipts (positive values) for each period.
+ {values}: cash flow
+ {guess}: an estimate of what the result should be
+ SEEALSO=XIRR
 
 @CATEGORY=Finance
 @FUNCTION=ISPMT
 @SYNTAX=ISPMT(rate,per,nper,pv)
- DESCRIPTION=ISPMT function returns the interest paid on a given period.
-
-* If @per < 1 or @per > @nper, ISPMT returns #NUM! error. 
- EXAMPLES=
-
+ DESCRIPTION=ISPMT calculates the interest payment for period number @{per}.
+ {rate}: effective annual interest rate
+ {per}: period number
+ {nper}: number of periods
+ {pv}: present value
 @SEEALSO=PV
 
 @CATEGORY=Finance
 @FUNCTION=MDURATION
- SYNTAX=MDURATION(settlement,maturity,coupon,yield,frequency[,basis])
- DESCRIPTION=MDURATION returns the Macauley duration for a security with par value 100.
-
- basis is the type of day counting system you want to use:
-
-  0  MSRB 30/360 (MSRB Rule G33 (e))
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-  5  European+ 30/360
-
-* If @settlement or @maturity are not valid dates, MDURATION returns #NUM! error.
-* If @frequency is other than 1, 2, or 4, MDURATION returns #NUM! error.
-* If @basis is omitted, MSRB 30/360 is applied.
-* If @basis is invalid, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=DURATION,G_DURATION
+ SYNTAX=MDURATION(settlement,maturity,coupon,yield,frequency,basis)
+ DESCRIPTION=MDURATION calculates the Macauley duration of a security.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {coupon}: annual coupon rate
+ {yield}: annual yield of security
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=DURATION
 
 @CATEGORY=Finance
 @FUNCTION=MIRR
 @SYNTAX=MIRR(values,finance_rate,reinvest_rate)
- DESCRIPTION=MIRR function returns the modified internal rate of return for a given periodic cash flow. 
- EXAMPLES=
-
- SEEALSO=NPV
+ DESCRIPTION=MIRR calculates the modified internal rate of return of a periodic cash flow.
+ {values}: cash flow
+ {finance_rate}: interest rate for financing cost
+ {reinvest_rate}: interest rate for reinvestments
+ SEEALSO=IRR,XIRR
 
 @CATEGORY=Finance
 @FUNCTION=NOMINAL
- SYNTAX=NOMINAL(r,nper)
- DESCRIPTION=NOMINAL calculates the nominal interest rate from a given effective rate.
-
-Nominal interest rate is given by a formula:
-
- nper * (( 1 + @r ) ^ (1 / @nper) - 1 )
-where:
-
- r = effective interest rate
- nper = number of periods used for compounding
-
-* If @rate < 0, NOMINAL returns #NUM! error.
-* If @nper <= 0, NOMINAL returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=NOMINAL(rate,nper)
+ DESCRIPTION=NOMINAL calculates the nominal interest rate from the effective rate.
+ {rate}: effective annual interest rate
+ {nper}: number of periods used for compounding
 @SEEALSO=EFFECT
 
 @CATEGORY=Finance
 @FUNCTION=NPER
- SYNTAX=NPER(rate,pmt,pv[,fv,type])
- DESCRIPTION=NPER calculates number of periods of an investment based on periodic constant payments and a constant interest rate.
-
-The interest rate per period is @rate, @pmt is the payment made each period, @pv is the present value, @fv is the future value and @type is when the payments are due. If @type = 1, payments are due at the beginning of the period, if @type = 0, payments are due at the end of the period.
-
-* If @rate <= 0, NPER returns #DIV0 error.
-
- EXAMPLES=
-For example, if you deposit $10,000 in a savings account that earns an interest rate of 6%. To calculate how many years it will take to double your investment use NPER as follows:
-=NPER(0.06, 0, -10000, 20000,0)returns 11.895661046 which indicates that you can double your money just before the end of the 12th year.
- SEEALSO=PPMT,PV,FV
+ SYNTAX=NPER(rate,pmt,pv,fv,type)
+ DESCRIPTION=NPER calculates the number of periods of an investment based on periodic constant payments and a constant interest rate.
+ {rate}: effective annual interest rate
+ {pmt}: payment at each period
+ {pv}: present value
+ {fv}: future value
+ {type}: payment type
+ SEEALSO=PV,FV
 
 @CATEGORY=Finance
 @FUNCTION=NPV
- SYNTAX=NPV(rate,v1,v2,...)
- DESCRIPTION=NPV calculates the net present value of an investment generating periodic payments.  @rate is the periodic interest rate and @v1, @v2, ... are the periodic payments.  If the schedule of the cash flows are not periodic use the XNPV function. 
- EXAMPLES=
-NPV(0.17,-10000,3340,2941,2493,3233,1732,2932) equals 186.30673.
-
- SEEALSO=PV,XNPV
+ SYNTAX=NPV(rate,value1,value2)
+ DESCRIPTION=NPV calculates the net present value of a cash flow.
+ {rate}: effective interest rate per period
+ {value1}: cash flow for period 1
+ {value2}: cash flow for period 2
+ SEEALSO=PV
 
 @CATEGORY=Finance
 @FUNCTION=ODDFPRICE
- SYNTAX=ODDFPRICE(settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency[,basis])
- DESCRIPTION=ODDFPRICE returns the price per $100 face value of a security. The security should have an odd short or long first period.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security. @issue is the issue date of the security. @frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, ODDFPRICE returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=ODDFPRICE(settlement,maturity,issue,first_interest,rate,yield,redemption,frequency,basis)
+ DESCRIPTION=ODDFPRICE calculates the price per $100 face value of a security that pays periodic interest, but has an odd first period.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {issue}: date of issue
+ {first_interest}: first interest date
+ {rate}: nominal annual interest rate
+ {yield}: annual yield of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=ODDLPRICE,ODDFYIELD
 
 @CATEGORY=Finance
 @FUNCTION=ODDFYIELD
- SYNTAX=ODDFYIELD(settlement,maturity,issue,first_coupon,rate,pr,redemption,frequency[,basis])
- DESCRIPTION=ODDFYIELD calculates the yield of a security having an odd first period.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security. @frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, ODDFYIELD returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=ODDFYIELD(settlement,maturity,issue,first_interest,rate,price,redemption,frequency,basis)
+ DESCRIPTION=ODDFYIELD calculates the yield of a security that pays periodic interest, but has an odd first period.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {issue}: date of issue
+ {first_interest}: first interest date
+ {rate}: nominal annual interest rate
+ {price}: price of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=ODDFPRICE,ODDLYIELD
 
 @CATEGORY=Finance
 @FUNCTION=ODDLPRICE
- SYNTAX=ODDLPRICE(settlement,maturity,last_interest,rate,yld,redemption,frequency[,basis])
- DESCRIPTION=ODDLPRICE calculates the price per $100 face value of a security that has an odd last coupon period.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security. @frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, ODDLPRICE returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=ODDLPRICE(settlement,maturity,last_interest,rate,yield,redemption,frequency,basis)
+ DESCRIPTION=ODDLPRICE calculates the price per $100 face value of a security that pays periodic interest, but has an odd last period.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {last_interest}: last interest date
+ {rate}: nominal annual interest rate
+ {yield}: annual yield of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=YIELD,DURATION
 
 @CATEGORY=Finance
 @FUNCTION=ODDLYIELD
- SYNTAX=ODDLYIELD(settlement,maturity,last_interest,rate,pr,redemption,frequency[,basis])
- DESCRIPTION=ODDLYIELD calculates the yield of a security having an odd last period.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security. @frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, ODDLYIELD returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=ODDLYIELD(settlement,maturity,last_interest,rate,price,redemption,frequency,basis)
+ DESCRIPTION=ODDLYIELD calculates the yield of a security that pays periodic interest, but has an odd last period.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {last_interest}: last interest date
+ {rate}: nominal annual interest rate
+ {price}: price of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=YIELD,DURATION
 
 @CATEGORY=Finance
 @FUNCTION=OPT_2_ASSET_CORRELATION
- SYNTAX=OPT_2_ASSET_CORRELATION(call_put_flag,spot1,spot2,strike1,strike2,time,cost_of_carry1,cost_of_carry2,rate,volatility1,volatility2,rho)
- DESCRIPTION=OPT_2_ASSET_CORRELATION models the theoretical price of  options on 2 assets with correlation @rho.
-The payoff for a call is max(@spot2 - @strike2,0) if @spot1 > @strike1 or 0 otherwise.
-The payoff for a put is max (@strike2 - @spot2, 0) if @spot1 < @strike1 or 0 otherwise.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot1 & @spot2 are the spot prices of the underlying assets.
- strike1 & @strike2 are the strike prices at which the option is struck.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- cost_of_carry1 & @cost_of_carry2 are the leakage in value of the underlying assets, for common stocks, this would be the dividend yield.
- volatility1 & @volatility2 are the annualized volatility in price of the underlying assets.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_2_ASSET_CORRELATION(call_put_flag,spot1,spot2,strike1,strike1,time,cost_of_carry1,cost_of_carry2,rate,volatility1,volatility2,rho)
+ DESCRIPTION=OPT_2_ASSET_CORRELATION models the theoretical price of options on 2 assets with correlation @{rho}. The payoff for a call is max(@{spot2} - @{strike2},0) if @{spot1} > @{strike1} or 0 otherwise. The payoff for a put is max (@{strike2} - @{spot2}, 0) if @{spot1} < @{strike1} or 0 otherwise.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot1}: spot price of the underlying asset of the first option
+ {spot2}: spot price of the underlying asset of the second option
+ {strike1}: strike prices of the first option
+ {strike1}: strike prices of the second option
+ {time}: time to maturity in years
+ {cost_of_carry1}: net cost of holding the underlying asset of the first option (for common stocks, the risk free rate less the dividend yield)
+ {cost_of_carry2}: net cost of holding the underlying asset of the second option (for common stocks, the risk free rate less the dividend yield)
+ {rate}: annualized risk-free interest rate
+ {volatility1}: annualized volatility in price of the underlying asset of the first option
+ {volatility2}: annualized volatility in price of the underlying asset of the second option
+ {rho}: correlation between the two underlying assets
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_AMER_EXCHANGE
- SYNTAX=OPT_AMER_EXCHANGE(spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1, volatility2, rho)
- DESCRIPTION=OPT_AMER_EXCHANGE models the theoretical price of an American option to exchange one asset with quantity @qty2 and spot price @spot2 for another, with quantity @qty1 and spot price @spot1.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- cost_of_carry1 & @cost_of_carry2 are the leakage in value of the underlying assets, for common stocks, this would be the dividend yield.
- volatility1 & @volatility2 are the annualized volatility in price of the underlying assets.
- rho is the correlation between the two assets.
-
- EXAMPLES=
-
- SEEALSO=OPT_EURO_EXCHANGE, OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_AMER_EXCHANGE(spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho)
+ DESCRIPTION=OPT_AMER_EXCHANGE models the theoretical price of an American option to exchange one asset with quantity @{qty2} and spot price @{spot2} for another with quantity @{qty1} and spot price @{spot1}.
+ {spot1}: spot price of asset 1
+ {spot2}: spot price of asset 1
+ {qty1}: quantity of asset 1
+ {qty2}: quantity of asset 2
+ {time}: time to maturity in years
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry1}: net cost of holding asset 1 (for common stocks, the risk free rate less the dividend yield)
+ {cost_of_carry2}: net cost of holding asset 2 (for common stocks, the risk free rate less the dividend yield)
+ {volatility1}: annualized volatility in price of asset 1
+ {volatility2}: annualized volatility in price of asset 2
+ {rho}: correlation between the prices of the two assets
+ SEEALSO=OPT_EURO_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BAW_AMER
- SYNTAX=OPT_BAW_AMER(call_put_flag,spot,strike,time,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_BAW_AMER models the theoretical price of an option according to the Barone Adesie & Whaley approximation. 
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- time is the number of days to maturity of the option.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BINOMIAL
- SYNTAX=OPT_BINOMIAL(amer_euro_flag,call_put_flag,num_time_steps, spot, strike, time, rate, volatility, cost_of_carry)
- DESCRIPTION=OPT_ models the theoretical price of either an American or European style option using a binomial tree.
- amer_euro_flag is either 'a' or 'e' to indicate whether the option being valued is an American or European style option respectively.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- num_time_steps is the number of time steps used in the valuation, a greater number of time steps yields greater accuracy however is slower to calculate.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- volatility is the annualized volatility in price of the underlying asset.
- cost_of_carry is the leakage in value of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BJER_STENS
- SYNTAX=OPT_BJER_STENS(call_put_flag,spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BJER_STENS models the theoretical price of American options according to the Bjerksund & Stensland approximation technique.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- time is the number of days to maturity of the option.
- rate is the annualized risk-free rate of interest.
- volatility is the annualized volatility in price of the underlying asset.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS
- SYNTAX=OPT_BS(call_put_flag,spot,strike,time,rate,volatility [,cost_of_carry])
- DESCRIPTION=OPT_BS uses the Black-Scholes model to calculate the price of a European option using call_put_flag, @call_put_flag, 'c' or 'p' struck at @strike on an asset with spot price @spot.
- time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date. 
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed in the same units as @strike and @spot.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_VEGA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS uses the Black-Scholes model to calculate the price of a European option struck at @{strike} on an asset with spot price @{spot}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_CARRYCOST
- SYNTAX=OPT_BS_CARRYCOST(call_put_flag,spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_CARRYCOST uses the Black-Scholes model to calculate the 'elasticity' of a European option struck at @strike on an asset with spot price @spot.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
-
-(The elasticity of an option is the rate of change of its price with respect to its cost of carry.)
-
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date.  @time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate to the exercise date, in percent.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-
-* The returned value will be expressed as the rate of change of option value, per 100% volatility.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS_CARRYCOST(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_CARRYCOST uses the Black-Scholes model to calculate the 'elasticity' of a European option struck at @{strike} on an asset with spot price @{spot}. The elasticity of an option is the rate of change of its price with respect to its @{cost_of_carry}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SYNTAX=OPT_BS_CARRYCOST(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry))
+ DESCRIPTION=
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_DELTA
- SYNTAX=OPT_BS_DELTA(call_put_flag,spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'delta' of a European option with call_put_flag, @call_put_flag, 'c' or 'p' struck at @strike on an asset with spot price @spot.
-Where @time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date. 
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed in the same units as @strike and @spot.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_VEGA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS_DELTA(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'delta' of a European option struck at @{strike} on an asset with spot price @{spot}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_GAMMA
- SYNTAX=OPT_BS_GAMMA(spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_GAMMA uses the Black-Scholes model to calculate the 'gamma' of a European option struck at @strike on an asset with spot price @spot.
-
-(The gamma of an option is the second derivative of its price with respect to the price of the underlying asset, and is the same for calls and puts.)
-
- time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate to the exercise date, in percent.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed as the rate of change of delta per unit change in @spot.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_VEGA
+ SYNTAX=OPT_BS_GAMMA(spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'gamma' of a European option struck at @{strike} on an asset with spot price @{spot}. The gamma of an option is the second derivative of its price with respect to the price of the underlying asset.
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_RHO
- SYNTAX=OPT_BS_RHO(call_put_flag,spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_RHO uses the Black-Scholes model to calculate the 'rho' of a European option with call_put_flag, @call_put_flag struck at @strike on an asset with spot price @spot.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
-
-(The rho of an option is the rate of change of its price with respect to the risk free interest rate.)
- time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate to the exercise date, in percent.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed as the rate of change of option value, per 100% change in @rate.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_THETA, OPT_BS_VEGA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS_RHO(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'rho' of a European option struck at @{strike} on an asset with spot price @{spot}. The rho of an option is the rate of change of its price with respect to the risk free interest rate.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_THETA
- SYNTAX=OPT_BS_THETA(call_put_flag,spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_THETA uses the Black-Scholes model to calculate the 'theta' of a European option with call_put_flag, @call_put_flag struck at @strike on an asset with spot price @spot.
-
-(The theta of an option is the rate of change of its price with respect to time to expiry.)
-
- time is the time to maturity of the option expressed in years
-and @rate is the risk-free interest rate to the exercise date, in percent.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed as minus the rate of change of option value, per 365.25 days.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_VEGA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS_THETA(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'theta' of a European option struck at @{strike} on an asset with spot price @{spot}. The theta of an option is the rate of change of its price with respect to time to expiry.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_VEGA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_BS_VEGA
- SYNTAX=OPT_BS_VEGA(spot,strike,time,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_BS_VEGA uses the Black-Scholes model to calculate the 'vega' of a European option struck at @strike on an asset with spot price @spot.
-(The vega of an option is the rate of change of its price with respect to volatility, and is the same for calls and puts.)
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date.
- @time is the time to maturity of the option expressed in years.
- rate is the risk-free interest rate to the exercise date, in percent.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-
-* The returned value will be expressed as the rate of change of option value, per 100% volatility.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_BS_VEGA(spot,strike,time,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_BS_DELTA uses the Black-Scholes model to calculate the 'vega' of a European option struck at @{strike} on an asset with spot price @{spot}. The vega of an option is the rate of change of its price with respect to volatility.
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_COMPLEX_CHOOSER
- SYNTAX=OPT_COMPLEX_CHOOSER(call_put_flag,spot,strike_call,strike_put,time,time_call,time_put,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_COMPLEX_CHOOSER models the theoretical price of complex chooser options.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike_call is the strike price at which the option is struck, applicable if exercised as a call option.
- strike_put is the strike price at which the option is struck, applicable if exercised as a put option.
- time is the time in years until the holder chooses a put or a call option. 
- time_call is the time in years to maturity of the call option if chosen.
- time_put is the time in years  to maturity of the put option if chosen.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_EURO_EXCHANGE
 @SYNTAX=OPT_EURO_EXCHANGE(spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho)
- DESCRIPTION=OPT_EURO_EXCHANGE models the theoretical price of a European option to exchange one asset with quantity @qty2 and spot price @spot2 for another, with quantity @qty1 and spot price @spot1.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- cost_of_carry1 & @cost_of_carry2 are the leakage in value of the underlying assets, for common stocks, this would be the dividend yield.
- volatility1 & @volatility2 are the annualized volatility in price of the underlying assets.
- rho is the correlation between the two assets.
-
- EXAMPLES=
-
- SEEALSO=OPT_AMER_EXCHANGE, OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ DESCRIPTION=OPT_EURO_EXCHANGE models the theoretical price of a European option to exchange one asset with quantity @{qty2} and spot price @{spot2} for another with quantity @{qty1} and spot price @{spot1}.
+ {spot1}: spot price of asset 1
+ {spot2}: spot price of asset 1
+ {qty1}: quantity of asset 1
+ {qty2}: quantity of asset 2
+ {time}: time to maturity in years
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry1}: net cost of holding asset 1 (for common stocks, the risk free rate less the dividend yield)
+ {cost_of_carry2}: net cost of holding asset 2 (for common stocks, the risk free rate less the dividend yield)
+ {volatility1}: annualized volatility in price of asset 1
+ {volatility2}: annualized volatility in price of asset 2
+ {rho}: correlation between the prices of the two assets
+ SEEALSO=OPT_AMER_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_EXEC
- SYNTAX=OPT_EXEC(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry,lambda)
- DESCRIPTION=OPT_EXEC models the theoretical price of executive stock options @call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
-One would expect this to always be a call option.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- time is the number of days to maturity of the option.
- rate is the annualized risk-free rate of interest.
- volatility is the annualized volatility in price of the underlying asset.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- lambda is the jump rate for executives. The model assumes executives forfeit their options if they leave the company.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_EXTENDIBLE_WRITER
 @SYNTAX=OPT_EXTENDIBLE_WRITER(call_put_flag,spot,strike1,strike2,time1,time2,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_EXTENDIBLE_WRITER models the theoretical price of extendible writer options. These are options that can be exercised at an initial period, @time1, or their maturity extended to @time2 if the option is out of the money at @time1.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike1 is the strike price at which the option is struck.
- strike2 is the strike price at which the option is re-struck if out of the money at @time1.
- time1 is the initial maturity of the option in years.
- time2 is the is the extended maturity in years if chosen.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ DESCRIPTION=OPT_EXTENDIBLE_WRITER models the theoretical price of extendible writer options. These are options that have their maturity extended to @{time2} if the option is out of the money at @{time1}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike1}: strike price at which the option is struck
+ {strike2}: strike price at which the option is re-struck if out of the money at @{time1}
+ {time1}: initial maturity of the option in years
+ {time2}: extended maturity in years if chosen
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry}: net cost of holding the underlying asset
+ {volatility}: annualized volatility of the asset
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_FIXED_STRK_LKBK
 @SYNTAX=OPT_FIXED_STRK_LKBK(call_put_flag,spot,spot_min,spot_max,strike,time,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_FIXED_STRK_LKBK models the theoretical price of an option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- spot_min is the minimum spot price of the underlying asset so far observed.
- spot_max is the maximum spot price of the underlying asset so far observed.
- strike is the strike prices at which the option is struck.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ DESCRIPTION=OPT_FIXED_STRK_LKBK determines the theoretical price of a fixed-strike lookback option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {spot_min}: minimum spot price of the underlying asset so far observed
+ {spot_max}: maximum spot price of the underlying asset so far observed
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry}: net cost of holding the underlying asset
+ {volatility}: annualized volatility of the asset
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_FLOAT_STRK_LKBK
 @SYNTAX=OPT_FLOAT_STRK_LKBK(call_put_flag,spot,spot_min,spot_max,time,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_FLOAT_STRK_LKBK models the theoretical price of an option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- spot_min is the minimum spot price of the underlying asset so far observed.
- spot_max is the maximum spot price of the underlying asset so far observed.
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ DESCRIPTION=OPT_FLOAT_STRK_LKBK determines the theoretical price of a floating-strike lookback option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {spot_min}: minimum spot price of the underlying asset so far observed
+ {spot_max}: maximum spot price of the underlying asset so far observed
+ {time}: time to maturity in years
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry}: net cost of holding the underlying asset
+ {volatility}: annualized volatility of the asset
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_FORWARD_START
- SYNTAX=OPT_FORWARD_START(call_put_flag,spot,alpha,time1,time,rate,volatility,cost_of_carry)
- DESCRIPTION=OPT_FORWARD_START models the theoretical price of forward start options
- @call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- alpha is a fraction that set the strike price the future date @time1.
- time1 is the number of days until the option starts.
- time is the number of days to maturity of the option.
- rate is the annualized risk-free rate of interest.
- volatility is the annualized volatility in price of the underlying asset.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_FRENCH
- SYNTAX=OPT_FRENCH(call_put_flag,spot,strike,time,t2,rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_FRENCH values the theoretical price of a European option adjusted for trading day volatility, struck at @strike on an asset with spot price @spot.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date.
- @time the number of calendar days to exercise divided by calendar days in the year.
- t2 is the number of trading days to exercise divided by trading days in the year.
- rate is the risk-free interest rate.
- cost_of_carry is the leakage in value of the underlying asset, to the exercise date, in percent.
-For common stocks, this would be the dividend yield.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_FRENCH(call_put_flag,spot,strike,time,ttime,rate,volatility,cost_of_carry)
+ DESCRIPTION=OPT_FRENCH values the theoretical price of a European option adjusted for trading day volatility, struck at @{strike} on an asset with spot price @{spot}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: ratio of the number of calendar days to exercise and the number of calendar days in the year
+ {ttime}: ratio of the number of trading days to exercise and the number of trading days in the year
+ {rate}: risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {cost_of_carry}: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_GARMAN_KOHLHAGEN
- SYNTAX=OPT_GARMAN_KOHLHAGEN(call_put_flag,spot,strike,time,domestic_rate,foreign_rate,volatility[,cost_of_carry])
- DESCRIPTION=OPT_GARMAN_KOHLHAGEN values the theoretical price of a European currency option struck at @strike on an asset with spot price @spot.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- volatility is the annualized volatility, in percent, of the asset for the period through to the exercise date. 
- time the number of days to exercise.
- domestic_rate is the domestic risk-free interest rate to the exercise date.
- foreign_rate is the foreign risk-free interest rate to the exercise date, in percent.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
-* The returned value will be expressed as the rate of change of option value, per 100% volatility.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SYNTAX=OPT_GARMAN_KOHLHAGEN(call_put_flag,spot,strike,time,domestic_rate,foreign_rate,volatility)
+ DESCRIPTION=OPT_GARMAN_KOHLHAGEN values the theoretical price of a European currency option struck at @{strike} on an asset with spot price @{spot}.
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: number of days to exercise
+ {domestic_rate}: domestic risk-free interest rate to the exercise date in percent
+ {foreign_rate}: foreign risk-free interest rate to the exercise date in percent
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_JUMP_DIFF
 @SYNTAX=OPT_JUMP_DIFF(call_put_flag,spot,strike,time,rate,volatility,lambda,gamma)
 @DESCRIPTION=OPT_JUMP_DIFF models the theoretical price of an option according to the Jump Diffusion process (Merton).
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike is the strike price of the option.
- time is the time to maturity of the option expressed in years.
- rate is the annualized rate of interest.
- volatility is the annualized volatility of the underlying asset.
- lambda is expected number of 'jumps' per year.
- gamma is proportion of volatility explained by the 'jumps.'
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {time}: time to maturity in years
+ {rate}: the annualized rate of interest
+ {volatility}: annualized volatility of the asset in percent for the period through to the exercise date
+ {lambda}: expected number of 'jumps' per year
+ {gamma}: proportion of volatility explained by the 'jumps'
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_MILTERSEN_SCHWARTZ
- SYNTAX=OPT_MILTERSEN_SCHWARTZ(call_put_flag,p_t,f_t,x,t1,t2,v_s,v_e,v_f,rho_se,rho_sf,rho_ef,kappa_e,kappa_f)
- DESCRIPTION=OPT_MILTERSEN_SCHWARTZ models the theoretical price of options on commodities futures according to Miltersen & Schwartz. 
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- p_t is a zero coupon bond with expiry at option maturity.
- f_t is the futures price.
- x is the strike price.
- t1 is the time to maturity of the option.
- t2 is the time to maturity of the underlying commodity futures contract.
- v_s is the volatility of the spot commodity price.
- v_e is the volatility of the future convenience yield.
- v_f is the volatility of the forward rate of interest.
- rho_se is correlation between the spot commodity price and the convenience yield.
- rho_sf is correlation between the spot commodity price and the forward interest rate.
- rho_ef is correlation between the forward interest rate and the convenience yield.
- kappa_e is the speed of mean reversion of the convenience yield.
- kappa_f is the speed of mean reversion of the forward interest rate.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_ON_OPTIONS
- SYNTAX=OPT_ON_OPTIONS(type_flag,spot,strike1,strike2,time1,time2,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_ON_OPTIONS models the theoretical price of options on options.
- type_flag is 'cc' for calls on calls, 'cp' for calls on puts, and so on for 'pc', and 'pp'.
- spot is the spot price of the underlying asset.
- strike1 is the strike price at which the option being valued is struck.
- strike2 is the strike price at which the underlying option is struck.
- time1 is the time in years to maturity of the option.
- time2 is the time in years to the maturity of the underlying option.
-(@time2 >= @time1).
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset of the underlying option.for common stocks, this would be the dividend yield.
- volatility is the annualized volatility in price of the underlying asset of the underlying option.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_RGW
- SYNTAX=OPT_RGW(spot,strike,t1,t2,rate,d,volatility)
- DESCRIPTION=OPT_RGW models the theoretical price of an American option according to the Roll-Geske-Whaley approximation where: 
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- t1 is the time to the dividend payout.
- t2 is the time to option expiration.
- rate is the annualized rate of interest.
- d is the amount of the dividend to be paid expressed in currency.
- volatility is the annualized rate of volatility of the underlying asset.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_SIMPLE_CHOOSER
- SYNTAX=OPT_SIMPLE_CHOOSER(call_put_flag,spot,strike,time1,time2,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_SIMPLE_CHOOSER models the theoretical price of simple chooser options.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- time1 is the time in years until the holder chooses a put or a call option.
- time2 is the time in years until the chosen option expires.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_SPREAD_APPROX
- SYNTAX=OPT_SPREAD_APPROX(call_put_flag,fut_price1,fut_price2,strike,time, rate,volatility1,volatility2,rho)
- DESCRIPTION=OPT_SPREAD_APPROX models the theoretical price of a European option on the spread between two futures contracts.
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- fut_price1 & @fut_price2 are the prices of the two futures contracts.
- strike is the strike price at which the option is struck 
- time is the initial maturity of the option in years.
- rate is the annualized risk-free rate of interest.
- volatility1 & @volatility2 are the annualized volatility in price of the underlying futures contracts.
- rho is the correlation between the two futures contracts.
-
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=OPT_TIME_SWITCH
 @SYNTAX=OPT_TIME_SWITCH(call_put_flag,spot,strike,a,time,m,dt,rate,cost_of_carry,volatility)
- DESCRIPTION=OPT_TIME_SWITCH models the theoretical price of time switch options. (Pechtl 1995)
-The holder receives @a * @dt for each period dt that the asset price was greater than the strike price (for a call) or below it (for a put). 
- call_put_flag is 'c' or 'p' to indicate whether the option is a call or a put.
- spot is the spot price of the underlying asset.
- strike is the strike price at which the option is struck.
- a is the amount received for each time period as discussed above.
- time is the maturity of the option in years.
- m is the number of time units the option has already met the condition.
- dt is the agreed upon discrete time period (often a day) expressed as a fraction of a year.
- rate is the annualized risk-free rate of interest.
- cost_of_carry is the leakage in value of the underlying asset, for common stocks, this would be the dividend yield.
- EXAMPLES=
-
- SEEALSO=OPT_BS, OPT_BS_DELTA, OPT_BS_RHO, OPT_BS_THETA, OPT_BS_GAMMA
+ DESCRIPTION=OPT_TIME_SWITCH models the theoretical price of time switch options. (Pechtl 1995). The holder receives @{a} * @{dt} for each period that the asset price was greater than @{strike} (for a call) or below it (for a put).
+ {call_put_flag}: 'c' for a call and 'p' for a put
+ {spot}: spot price
+ {strike}: strike price
+ {a}: amount received for each time period
+ {time}: time to maturity in years
+ {m}: number of time units the option has already met the condition
+ {dt}: agreed upon discrete time period expressed as a fraction of a year
+ {rate}: annualized risk-free interest rate
+ {cost_of_carry}: net cost of holding the underlying asset
+ {volatility}: annualized volatility of the asset
+ SEEALSO=OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA
 
 @CATEGORY=Finance
 @FUNCTION=PMT
- SYNTAX=PMT(rate,nper,pv[,fv,type])
- DESCRIPTION=PMT returns the amount of payment for a loan based on a constant interest rate and constant payments (each payment is equal amount).
-
- rate is the constant interest rate.
- nper is the overall number of payments.
- pv is the present value.
- fv is the future value.
- type is the type of the payment: 0 means at the end of the period and 1 means at the beginning of the period.
-
-* If @fv is omitted, Gnumeric assumes it to be zero.
-* If @type is omitted, Gnumeric assumes it to be zero.
-
- EXAMPLES=
-
- SEEALSO=PPMT,PV,FV
+ SYNTAX=PMT(rate,nper,pv,fv,type)
+ DESCRIPTION=PMT calculates the payment amount for an annuity.
+ {rate}: effective annual interest rate
+ {nper}: number of periods
+ {pv}: present value
+ {fv}: future value
+ {type}: payment type
+ SEEALSO=PV,FV,RATE,ISPMT
 
 @CATEGORY=Finance
 @FUNCTION=PPMT
- SYNTAX=PPMT(rate,per,nper,pv[,fv,type])
- DESCRIPTION=PPMT calculates the amount of a payment of an annuity going towards principal.
-
-Formula for it is:
-PPMT(per) = PMT - IPMT(per)
-where:
-
-PMT = Payment received on annuity
-IPMT(per) = amount of interest for period @per
-
-* If @fv is omitted, it is assumed to be 0.
-* If @type is omitted, it is assumed to be 0.
-
- EXAMPLES=
-
- SEEALSO=IPMT,PV,FV
+ SYNTAX=PPMT(rate,per,nper,pv,fv,type)
+ DESCRIPTION=PPMT calculates the principal part of an annuity's payment for period number @{per}.
+ {rate}: effective annual interest rate
+ {per}: period number
+ {nper}: number of periods
+ {pv}: present value
+ {fv}: future value
+ {type}: payment type
+ SEEALSO=IPMT
 
 @CATEGORY=Finance
 @FUNCTION=PRICE
- SYNTAX=PRICE(settle,mat,rate,yield,redemption_price,[frequency,basis])
- DESCRIPTION=PRICE returns price per $100 face value of a security. This method can only be used if the security pays periodic interest.
-
- frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, PRICE returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=PRICE(settlement,maturity,rate,yield,redemption,frequency,basis)
+ DESCRIPTION=PRICE calculates the price per $100 face value of a security that pays periodic interest.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {rate}: nominal annual interest rate
+ {yield}: annual yield of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=YIELD,DURATION
 
 @CATEGORY=Finance
 @FUNCTION=PRICEDISC
- SYNTAX=PRICEDISC(settlement,maturity,discount,redemption[,basis])
- DESCRIPTION=PRICEDISC calculates and returns the price per $100 face value of a security bond.  The security does not pay interest at maturity.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security.  @discount is the rate for which the security is discounted.  @redemption is the amount to be received on @maturity date.
-
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @settlement date or @maturity date is not valid, PRICEDISC returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, PRICEDISC returns #NUM! error.
-* If @settlement date is after @maturity date or they are the same, PRICEDISC returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=PRICEDISC(settlement,maturity,discount,redemption,basis)
+ DESCRIPTION=PRICEDISC calculates the price per $100 face value of a bond that does not pay interest at maturity.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {discount}: annual rate at which to discount
+ {redemption}: amount received at maturity
+ {basis}: calendar basis
 @SEEALSO=PRICEMAT
 
 @CATEGORY=Finance
 @FUNCTION=PRICEMAT
- SYNTAX=PRICEMAT(settlement,maturity,issue,rate,yield[,basis])
- DESCRIPTION=PRICEMAT calculates and returns the price per $100 face value of a security.  The security pays interest at maturity.
-
- settlement is the settlement date of the security.  @maturity is the maturity date of the security.  @issue is the issue date of the security.  @rate is the discount rate of the security. @yield is the annual yield of the security. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @settlement date or @maturity date is not valid, PRICEMAT returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, PRICEMAT returns #NUM! error.
-* If @settlement date is after @maturity date or they are the same, PRICEMAT returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=PRICEMAT(settlement,maturity,issue,discount,yield,basis)
+ DESCRIPTION=PRICEMAT calculates the price per $100 face value of a bond that pays interest at maturity.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {issue}: date of issue
+ {discount}: annual rate at which to discount
+ {yield}: annual yield of security
+ {basis}: calendar basis
 @SEEALSO=PRICEDISC
 
 @CATEGORY=Finance
 @FUNCTION=PV
- SYNTAX=PV(rate,nper,pmt[,fv,type])
- DESCRIPTION=PV calculates the present value of an investment. @rate is the periodic interest rate, @nper is the number of periods used for compounding. @pmt is the payment made each period, @fv is the future value and @type is when the payment is made.
-
-* If @type = 1 then the payment is made at the beginning of the period.
-* If @type = 0 (or omitted) it is made at the end of each period.
- EXAMPLES=
-
+ SYNTAX=PV(rate,nper,pmt,fv,type)
+ DESCRIPTION=PV calculates the present value of @{fv} which is @{nper} periods into the future, assuming a periodic payment of @{pmt} and an interest rate of @{rate} per period.
+ {rate}: effective interest rate per period
+ {nper}: number of periods
+ {pmt}: payment at each period
+ {fv}: future value
+ {type}: payment type
 @SEEALSO=FV
 
 @CATEGORY=Finance
 @FUNCTION=RATE
- SYNTAX=RATE(nper,pmt,pv[,fv,type,guess])
- DESCRIPTION=RATE calculates the rate of an investment.
-
-* If @pmt is omitted it defaults to 0
-* If @nper <= 0, RATE returns #NUM! error.
-* If @type != 0 and @type != 1, RATE returns #VALUE! error.
-
- EXAMPLES=
-
+ SYNTAX=RATE(nper,pmt,pv,fv,type,guess)
+ DESCRIPTION=RATE calculates the rate of return.
+ {nper}: number of periods
+ {pmt}: payment at each period
+ {pv}: present value
+ {fv}: future value
+ {type}: payment type
+ {guess}: an estimate of what the result should be
 @SEEALSO=PV,FV
 
 @CATEGORY=Finance
 @FUNCTION=RECEIVED
- SYNTAX=RECEIVED(settlement,maturity,investment,rate[,basis])
- DESCRIPTION=RECEIVED calculates and returns the amount to be received at maturity date for a security bond.
-
- settlement is the settlement date of the security.  @maturity is the maturity date of the security.  The amount of investment is specified in @investment.  @rate is the security's discount rate.
-
- basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @settlement date or @maturity date is not valid, RECEIVED returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis < 0 or @basis > 4, RECEIVED returns #NUM! error.
-* If @settlement date is after @maturity date or they are the same, RECEIVED returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=RECEIVED(settlement,maturity,investment,rate,basis)
+ DESCRIPTION=RECEIVED calculates the amount to be received when a security matures.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {investment}: amount paid on settlement
+ {rate}: nominal annual interest rate
+ {basis}: calendar basis
 @SEEALSO=INTRATE
 
 @CATEGORY=Finance
 @FUNCTION=SLN
- SYNTAX=SLN(cost,salvage_value,life)
- DESCRIPTION=SLN function will determine the straight line depreciation of an asset for a single period.
-
-The formula is:
-
-Depreciation expense = ( @cost - @salvage_value ) / @life
-
- cost is the cost of an asset when acquired (market value).
- salvage_value is the amount you get when asset is sold at the end of the asset's useful life.
- life is the anticipated life of an asset.
-
-* If @life <= 0, SLN returns #NUM! error.
-
- EXAMPLES=
-For example, lets suppose your company purchases a new machine for $10,000, which has a salvage value of $700 and will have a useful life of 10 years. The SLN yearly depreciation is computed as follows:
-=SLN(10000, 700, 10)
-This will return the yearly depreciation figure of $930.
- SEEALSO=SYD
+ SYNTAX=SLN(cost,salvage,life)
+ DESCRIPTION=SLN calculates the depreciation of an asset using the straight-line method.
+ {cost}: initial cost of asset
+ {salvage}: value after depreciation
+ {life}: number of periods
+ SEEALSO=DB,DDB,SYD
 
 @CATEGORY=Finance
 @FUNCTION=SYD
- SYNTAX=SYD(cost,salvage_value,life,period)
- DESCRIPTION=SYD function calculates the sum-of-years digits depreciation for an asset based on its cost, salvage value, anticipated life and a particular period. This method accelerates the rate of the depreciation, so that more depreciation expense occurs in earlier periods than in later ones. The depreciable cost is the actual cost minus the salvage value. The useful life is the number of periods (typically years) over which the asset is depreciated.
-
-The Formula used for sum-of-years digits depreciation is:
-
-Depreciation expense =
-
-	 ( @cost - @salvage_value ) * (@life - @period + 1) * 2 / @life * (@life + 1).
-
- cost is the cost of an asset when acquired (market value).
- salvage_value is the amount you get when asset sold at the end of its useful life.
- life is the anticipated life of an asset.
- period is the period for which we need the expense.
-
-* If @life <= 0, SYD returns #NUM! error.
-
- EXAMPLES=
-For example say a company purchases a new computer for $5000 which has a salvage value of $200, and a useful life of five years. We would use the following to calculate the second year's depreciation using the SYD method:
-=SYD(5000, 200, 5, 2) which returns 1,280.00.
- SEEALSO=SLN
+ SYNTAX=SYD(cost,salvage,life,period)
+ DESCRIPTION=SYD calculates the depreciation of an asset using the sum-of-years method.
+ {cost}: initial cost of asset
+ {salvage}: value after depreciation
+ {life}: number of periods
+ {period}: subject period
+ SEEALSO=DB,DDB,SLN
 
 @CATEGORY=Finance
 @FUNCTION=TBILLEQ
 @SYNTAX=TBILLEQ(settlement,maturity,discount)
- DESCRIPTION=TBILLEQ function returns the bond-yield equivalent (BEY) for a treasury bill.  TBILLEQ is equivalent to
-
-	(365 * @discount) / (360 - @discount * DSM),
-
-where DSM is the days between @settlement and @maturity.
-
-* If @settlement is after @maturity or the @maturity is set to over one year later than the @settlement, TBILLEQ returns #NUM! error.
-* If @discount is negative, TBILLEQ returns #NUM! error.
-
- EXAMPLES=
-
+ DESCRIPTION=TBILLEQ calculates the bond-equivalent yield for a treasury bill.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {discount}: annual rate at which to discount
 @SEEALSO=TBILLPRICE,TBILLYIELD
 
 @CATEGORY=Finance
 @FUNCTION=TBILLPRICE
 @SYNTAX=TBILLPRICE(settlement,maturity,discount)
- DESCRIPTION=TBILLPRICE function returns the price per $100 value for a treasury bill where @settlement is the settlement date and @maturity is the maturity date of the bill.  @discount is the treasury bill's discount rate.
-
-* If @settlement is after @maturity or the @maturity is set to over one year later than the @settlement, TBILLPRICE returns #NUM! error.
-* If @discount is negative, TBILLPRICE returns #NUM! error.
-
- EXAMPLES=
-
+ DESCRIPTION=TBILLPRICE calculates the price per $100 face value for a treasury bill.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {discount}: annual rate at which to discount
 @SEEALSO=TBILLEQ,TBILLYIELD
 
 @CATEGORY=Finance
 @FUNCTION=TBILLYIELD
- SYNTAX=TBILLYIELD(settlement,maturity,pr)
- DESCRIPTION=TBILLYIELD function returns the yield for a treasury bill. @settlement is the settlement date and @maturity is the maturity date of the bill.  @discount is the treasury bill's discount rate.
-
-* If @settlement is after @maturity or the @maturity is set to over one year later than the @settlement, TBILLYIELD returns #NUM! error.
-* If @pr is negative, TBILLYIELD returns #NUM! error.
-
- EXAMPLES=
-
+ SYNTAX=TBILLYIELD(settlement,maturity,price)
+ DESCRIPTION=TBILLYIELD calculates the yield of a treasury bill.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {price}: price
 @SEEALSO=TBILLEQ,TBILLPRICE
 
 @CATEGORY=Finance
 @FUNCTION=VDB
- SYNTAX=VDB(cost,salvage,life,start_period,end_period[,factor,switch])
- DESCRIPTION=VDB calculates the depreciation of an asset for a given period or partial period using the double-declining balance method.
-
-* If @start_period < 0, VDB returns #NUM! error.
-* If @start_period > @end_period, VDB returns #NUM! error.
-* If @end_period > @life, VDB returns #NUM! error.
-* If @cost < 0, VDB returns #NUM! error.
-* If @salvage > @cost, VDB returns #NUM! error.
-* If @factor <= 0, VDB returns #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=DB
+ SYNTAX=VDB(cost,salvage,life,start_period,end_period,factor,no_switch)
+ DESCRIPTION=VDB calculates the depreciation of an asset for a given period range using the double-declining balance method.
+ {cost}: initial cost of asset
+ {salvage}: value after depreciation
+ {life}: number of periods
+ {start_period}: first period to accumulate for
+ {end_period}: last period to accumulate for
+ {factor}: factor at which the balance declines
+ {no_switch}: do not switch to straight-line depreciation
+ SEEALSO=DB,DDB
 
 @CATEGORY=Finance
 @FUNCTION=XIRR
- SYNTAX=XIRR(values,dates[,guess])
- DESCRIPTION=XIRR calculates and returns the internal rate of return of an investment that has not necessarily periodic payments.  This function is closely related to the net present value function (NPV and XNPV).  The XIRR is the interest rate for a series of cash flows where the XNPV is zero.
-
- values contains the series of cash flows generated by the investment.  @dates contains the dates of the payments.  The first date describes the payment day of the initial payment and thus all the other dates should be after this date. The optional @guess is the initial value used in calculating the XIRR.  You do not have to use that, it is only provided for the Excel compatibility.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1:A5 contain the numbers -6000, 2134, 1422, 1933, and 1422, and the cells B1:B5 contain the dates "1999-01-15", "1999-04-04", "1999-05-09", "2000-03-12", and "2000-05-1". Then
-XIRR(A1:A5,B1:B5) returns 0.224838. 
- SEEALSO=IRR,XNPV
+ SYNTAX=XIRR(values,dates,guess)
+ DESCRIPTION=XIRR calculates the annualized internal rate of return of a cash flow at arbitrary points in time.  @{values} lists the payments (negative values) and receipts (positive values) with one value for each entry in @{dates}.
+ {values}: cash flow
+ {dates}: dates of cash flow
+ {guess}: an estimate of what the result should be
+ SEEALSO=IRR
 
 @CATEGORY=Finance
 @FUNCTION=XNPV
 @SYNTAX=XNPV(rate,values,dates)
- DESCRIPTION=XNPV calculates the net present value of an investment.  The schedule of the cash flows is given in @dates array.  The first date indicates the beginning of the payment schedule.  @rate is the interest rate and @values are the payments.
-
-* If @values and @dates contain unequal number of values, XNPV returns the #NUM! error.
-
- EXAMPLES=
-
- SEEALSO=NPV,PV
+ DESCRIPTION=XNPV calculates the net present value of a cash flow at irregular times
+ {rate}: effective annual interest rate
+ {values}: cash flow
+ {dates}: dates of cash flow
+ SEEALSO=NPV
 
 @CATEGORY=Finance
 @FUNCTION=YIELD
- SYNTAX=YIELD(settlement,maturity,rate,price,redemption_price,frequency[,basis])
- DESCRIPTION=YIELD returns the yield on a security that pays periodic interest.
-
- frequency is the number of coupon payments per year. Allowed frequencies are: 1 = annual, 2 = semi, 4 = quarterly. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, YIELD returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=YIELD(settlement,maturity,rate,price,redemption,frequency,basis)
+ DESCRIPTION=YIELD calculates the yield of a security that pays periodic interest.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {rate}: nominal annual interest rate
+ {price}: price of security
+ {redemption}: amount received at maturity
+ {frequency}: number of interest payments per year
+ {basis}: calendar basis
+ SEEALSO=PRICE,DURATION
 
 @CATEGORY=Finance
 @FUNCTION=YIELDDISC
- SYNTAX=YIELDDISC(settlement,maturity,pr,redemption[,basis])
- DESCRIPTION=YIELDDISC calculates the annual yield of a security that is discounted.
-
- settlement is the settlement date of the security.  @maturity is the maturity date of the security. @pr is the price per $100 face value of the security. @redemption is the redemption value per $100 face value. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @frequency is other than 1, 2, or 4, YIELDDISC returns #NUM! error.
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=YIELDDISC(settlement,maturity,price,redemption,basis)
+ DESCRIPTION=YIELDDISC calculates the yield of a discounted security.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {price}: price of security
+ {redemption}: amount received at maturity
+ {basis}: calendar basis
+ SEEALSO=PRICE,DURATION
 
 @CATEGORY=Finance
 @FUNCTION=YIELDMAT
- SYNTAX=YIELDMAT(settlement,maturity,issue,rate,pr[,basis])
- DESCRIPTION=YIELDMAT calculates the annual yield of a security for which the interest is paid at maturity date.
-
- settlement is the settlement date of the security. @maturity is the maturity date of the security. @issue is the issue date of the security. @rate is the interest rate set to the security. @pr is the price per $100 face value of the security. @basis is the type of day counting system you want to use:
-
-  0  US 30/360
-  1  actual days/actual days
-  2  actual days/360
-  3  actual days/365
-  4  European 30/360
-
-* If @basis is omitted, US 30/360 is applied.
-* If @basis is not in between 0 and 4, #NUM! error is returned.
-
- EXAMPLES=
-
- SEEALSO=
+ SYNTAX=YIELDMAT(settlement,maturity,issue,rate,price,basis)
+ DESCRIPTION=YIELDMAT calculates the yield of a security for which the interest is paid at maturity date.
+ {settlement}: settlement date
+ {maturity}: maturity date
+ {issue}: date of issue
+ {rate}: nominal annual interest rate
+ {price}: price of security
+ {basis}: calendar basis
+ SEEALSO=YIELDDISC,YIELD
 
 @CATEGORY=Gnumeric
 @FUNCTION=GNUMERIC_VERSION
 @SYNTAX=GNUMERIC_VERSION()
 @DESCRIPTION=GNUMERIC_VERSION returns the version of gnumeric as a string.
- EXAMPLES=
-GNUMERIC_VERSION().
+ SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=CELL
- SYNTAX=CELL(type,ref)
- DESCRIPTION=CELL returns information about the formatting, location, or contents of a cell.
-
- type specifies the type of information you want to obtain:
-
-  address    	Returns the given cell reference as text.
-  col        		Returns the number of the column in @ref.
-  contents   	Returns the contents of the cell in @ref.
-  format     		Returns the code of the format of the cell.
-  parentheses	Returns 1 if @ref contains a negative value
-             		and its format displays it with parentheses.
-  row        		Returns the number of the row in @ref.
-  width      		Returns the column width.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Cell("format",A1) returns the code of the format of the cell A1.
-
+ SYNTAX=CELL(type,cell)
+ DESCRIPTION=@{type} specifies the type of information you want to obtain:
+  address        		Returns the given cell reference as text.
+  col            		Returns the number of the column in @{cell}.
+  color          		Returns 0.
+  contents       		Returns the contents of the cell in @{cell}.
+  column         		Returns the number of the column in @{cell}.
+  columnwidth    	Returns the column width.
+  coord          		Returns the absolute address of @{cell}.
+  datatype       	same as type
+  filename       		Returns the name of the file of @{cell}.
+  format         		Returns the code of the format of the cell.
+  formulatype    	same as type
+  locked         		Returns 1 if @{cell} is locked.
+  parentheses    	Returns 1 if @{cell} contains a negative value
+                 		and its format displays it with parentheses.
+  prefix         		Returns a character indicating the horizontal
+                 		alignment of @{cell}.
+  prefixcharacter  	same as prefix
+  protect        		Returns 1 if @{cell} is locked.
+  row            		Returns the number of the row in @{cell}.
+  sheetname      	Returns the name of the sheet of @{cell}.
+  type           		Returns "l" if @{cell} contains a string, 
+                 		"v" if it contains some other value, and 
+                 		"b" if @{cell} is blank.
+  value          		Returns the contents of the cell in @{cell}.
+  width          		Returns the column width.
+ {type}: string specifying the type of information requested
+ {cell}: cell reference
 @SEEALSO=INDIRECT
 
 @CATEGORY=Information
 @FUNCTION=COUNTBLANK
- SYNTAX=COUNTBLANK(range)
- DESCRIPTION=COUNTBLANK returns the number of blank cells in a @range.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-COUNTBLANK(A1:A20) returns the number of blank cell in A1:A20.
-
 @SEEALSO=COUNT
 
 @CATEGORY=Information
 @FUNCTION=ERROR
- SYNTAX=ERROR(text)
- DESCRIPTION=ERROR return the specified error.
-
- EXAMPLES=
-ERROR("#OWN ERROR").
-
 @SEEALSO=ISERROR
 
 @CATEGORY=Information
 @FUNCTION=ERROR.TYPE
- SYNTAX=ERROR TYPE(value)
+ SYNTAX=ERROR TYPE(error)
 @DESCRIPTION=ERROR.TYPE returns an error number corresponding to the given error value.  The error numbers for error values are:
 
 	#DIV/0!  		2
 	#VALUE!  	3
 	#REF!    		4
 	#NAME?   	5
-	#NUM!    		6
+	#NUM!    	6
 	#N/A     		7
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ERROR.TYPE(NA()) equals 7.
-
+ {error}: an error
 @SEEALSO=ISERROR
 
 @CATEGORY=Information
 @FUNCTION=EXPRESSION
- SYNTAX=EXPRESSION(cell)
- DESCRIPTION=EXPRESSION returns expression in @cell as a string, or empty if the cell is not an expression.
- EXAMPLES=
-entering '=EXPRESSION(A3)' in A2 = empty (assuming there is nothing in A3).
-entering '=EXPRESSION(A2)' in A1 = 'EXPRESSION(A3)'.
-
 @SEEALSO=TEXT
 
 @CATEGORY=Information
 @FUNCTION=GET.FORMULA
- SYNTAX=GET FORMULA(cell)
- DESCRIPTION=EXPRESSION returns expression in @cell as a string, or empty if the cell is not an expression.
- EXAMPLES=
-entering '=GET.FORMULA(A3)' in A2 = empty (assuming there is nothing in A3).
-entering '=GET.FORMULA(A2)' in A1 = '=GET.FORMULA(A3)'.
-
 @SEEALSO=EXPRESSION
 
 @CATEGORY=Information
 @FUNCTION=GETENV
- SYNTAX=GETENV(string)
- DESCRIPTION=GETENV retrieves a value from the execution environment.
-
-* If the variable specified by @string does not exist, #N/A! will be returned.  Note, that variable names are case sensitive.
- EXAMPLES=
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=INFO
 @SYNTAX=INFO(type)
- DESCRIPTION=INFO returns information about the current operating environment. 
-
- type is the type of information you want to obtain:
-
-  memavail 	Returns the amount of memory available, bytes.
-  memused  	Returns the amount of memory used (bytes).
-  numfile  		Returns the number of active worksheets.
-  osversion		Returns the operating system version.
-  recalc   		Returns the recalculation mode (automatic).
-  release  		Returns the version of Gnumeric as text.
-  system   		Returns the name of the environment.
-  totmem   		Returns the amount of total memory available.
-
-* This function is Excel compatible, except that types directory and origin are not implemented.
-
- EXAMPLES=
-INFO("system") returns "Linux" on a Linux system.
-
- SEEALSO=
+ DESCRIPTION=INFO returns information about the current operating environment according to @{type}:
+  memavail     		Returns the amount of memory available, bytes.
+  memused      	Returns the amount of memory used (bytes).
+  numfile      		Returns the number of active worksheets.
+  osversion    		Returns the operating system version.
+  recalc       		Returns the recalculation mode (automatic).
+  release      		Returns the version of Gnumeric as text.
+  system       		Returns the name of the environment.
+  totmem       		Returns the amount of total memory available.
+ {type}: string giving the type of information requested
+ SEEALSO=CELL
 
 @CATEGORY=Information
 @FUNCTION=ISBLANK
- SYNTAX=ISBLANK(value)
- DESCRIPTION=ISBLANK returns TRUE if the value is blank.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISBLANK(A1).
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=ISERR
- SYNTAX=ISERR(value)
- DESCRIPTION=ISERR returns TRUE if the value is any error value except #N/A.
-
-* This function is Excel compatible. 
- EXAMPLES=
-ISERR(NA()) return FALSE.
-
 @SEEALSO=ISERROR
 
 @CATEGORY=Information
 @FUNCTION=ISERROR
- SYNTAX=ISERROR(value)
- DESCRIPTION=ISERROR returns a TRUE value if the expression has an error.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISERROR(NA()) equals TRUE.
-
- SEEALSO=ERROR
+ SEEALSO=ISERR,ISNA
 
 @CATEGORY=Information
 @FUNCTION=ISEVEN
- SYNTAX=ISEVEN(value)
- DESCRIPTION=ISEVEN returns TRUE if the number is even.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISEVEN(4) equals TRUE.
-
 @SEEALSO=ISODD
 
 @CATEGORY=Information
 @FUNCTION=ISLOGICAL
- SYNTAX=ISLOGICAL(value)
- DESCRIPTION=ISLOGICAL returns TRUE if the value is a logical value.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISLOGICAL(A1).
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=ISNA
- SYNTAX=ISNA(value)
- DESCRIPTION=ISNA returns TRUE if the value is the #N/A error value.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISNA(NA()) equals TRUE.
-
 @SEEALSO=NA
 
 @CATEGORY=Information
 @FUNCTION=ISNONTEXT
- SYNTAX=ISNONTEXT(value)
- DESCRIPTION=ISNONTEXT Returns TRUE if the value is not text.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISNONTEXT("text") equals FALSE.
-
 @SEEALSO=ISTEXT
 
 @CATEGORY=Information
 @FUNCTION=ISNUMBER
- SYNTAX=ISNUMBER(value)
- DESCRIPTION=ISNUMBER returns TRUE if the value is a number.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISNUMBER("text") equals FALSE.
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=ISODD
- SYNTAX=ISODD(value)
- DESCRIPTION=ISODD returns TRUE if the number is odd.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISODD(3) equals TRUE.
-
 @SEEALSO=ISEVEN
 
 @CATEGORY=Information
 @FUNCTION=ISREF
- SYNTAX=ISREF(value)
- DESCRIPTION=ISREF returns TRUE if the value is a reference.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISREF(A1) equals TRUE.
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=ISTEXT
- SYNTAX=ISTEXT(value)
- DESCRIPTION=ISTEXT returns TRUE if the value is text.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ISTEXT("text") equals TRUE.
-
 @SEEALSO=ISNONTEXT
 
 @CATEGORY=Information
 @FUNCTION=N
- SYNTAX=N(value)
- DESCRIPTION=N returns a value converted to a number.  Strings containing text are converted to the zero value.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-N("42") equals 42.
-
- SEEALSO=
 
 @CATEGORY=Information
 @FUNCTION=NA
- SYNTAX=NA()
- DESCRIPTION=NA returns the error value #N/A.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-NA() equals #N/A error.
-
 @SEEALSO=ISNA
 
 @CATEGORY=Information
 @FUNCTION=TYPE
 @SYNTAX=TYPE(value)
- DESCRIPTION=TYPE returns a number indicating the data type of a value.
-
-1  == number
-2  == text
-4  == boolean
-16 == error
-64 == array
-* This function is Excel compatible.
-
- EXAMPLES=
-TYPE(3) equals 1.
-TYPE("text") equals 2.
-
- SEEALSO=
+ DESCRIPTION=TYPE returns a number indicating the data type of @{ value}:
+1  	= number
+2  	= text
+4  	= boolean
+16 	= error
+64 	= array
+ {value}: a value
 
 @CATEGORY=Logic
 @FUNCTION=AND
- SYNTAX=AND(b1, b2, ...)
- DESCRIPTION=AND implements the logical AND function: the result is TRUE if all of the expressions evaluate to TRUE, otherwise it returns FALSE.
-
- b1 through @bN are expressions that should evaluate to TRUE or FALSE.  If an integer or floating point value is provided, zero is considered FALSE and anything else is TRUE.
-
-* If the values contain strings or empty cells those values are ignored.
-* If no logical values are provided, then the error #VALUE! is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-AND(TRUE,TRUE) equals TRUE.
-AND(TRUE,FALSE) equals FALSE.
-
-Let us assume that A1 holds number five and A2 number one.  Then
-AND(A1>3,A2<2) equals TRUE.
-
- SEEALSO=OR, NOT
+ SYNTAX=AND(b0,b1)
+ DESCRIPTION=AND calculates the logical conjunction of its arguments @{b0},@{b1},...
+ {b0}: logical value
+ {b1}: logical value
+ SEEALSO=OR,NOT,IF
 
 @CATEGORY=Logic
 @FUNCTION=FALSE
 @SYNTAX=FALSE()
- DESCRIPTION=FALSE returns boolean value false.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-FALSE() equals FALSE.
-
- SEEALSO=TRUE
+ DESCRIPTION=FALSE returns the value FALSE.
+ SEEALSO=TRUE,IF
 
 @CATEGORY=Logic
 @FUNCTION=IF
@@ -3760,1072 +2033,526 @@ FALSE() equals FALSE.
 
 @CATEGORY=Logic
 @FUNCTION=NOT
- SYNTAX=NOT(number)
- DESCRIPTION=NOT implements the logical NOT function: the result is TRUE if the @number is zero;  otherwise the result is FALSE.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-NOT(0) equals TRUE.
-NOT(TRUE) equals FALSE.
-
- SEEALSO=AND, OR
+ SYNTAX=NOT(b)
+ DESCRIPTION=NOT calculates the logical negation of its argument.
+ {b}: logical value
+ SEEALSO=AND,OR,IF
 
 @CATEGORY=Logic
 @FUNCTION=OR
- SYNTAX=OR(b1, b2, ...)
- DESCRIPTION=OR implements the logical OR function: the result is TRUE if any of the values evaluated to TRUE.
-
- b1 through @bN are expressions that should evaluate to TRUE or FALSE. If an integer or floating point value is provided, zero is considered FALSE and anything else is TRUE.
-
-* If the values contain strings or empty cells those values are ignored.
-* If no logical values are provided, then the error #VALUE! is returned.
-* This function is Excel compatible.
-
- EXAMPLES=
-OR(TRUE,FALSE) equals TRUE.
-OR(3>4,4<3) equals FALSE.
-
- SEEALSO=AND, NOT
+ SYNTAX=OR(b0,b1)
+ DESCRIPTION=OR calculates the logical disjunction of its arguments @{b0},@{b1},...
+ {b0}: logical value
+ {b1}: logical value
+ SEEALSO=AND,XOR,NOT,IF
 
 @CATEGORY=Logic
 @FUNCTION=TRUE
 @SYNTAX=TRUE()
- DESCRIPTION=TRUE returns boolean value true.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TRUE() equals TRUE.
-
- SEEALSO=FALSE
+ DESCRIPTION=TRUE returns the value TRUE.
+ SEEALSO=FALSE,IF
 
 @CATEGORY=Logic
 @FUNCTION=XOR
- SYNTAX=XOR(b1, b2, ...)
- DESCRIPTION=XOR implements the logical exclusive OR function: the result is TRUE if an odd number of the values evaluated to TRUE.
-
- b1 through @bN are expressions that should evaluate to TRUE or FALSE. If an integer or floating point value is provided, zero is considered FALSE and anything else is TRUE.
-
-* If the values contain strings or empty cells those values are ignored.
-* If no logical values are provided, then the error #VALUE! is returned.
- EXAMPLES=
-XOR(TRUE,FALSE) equals TRUE.
-XOR(3>4,4<3) equals FALSE.
-
- SEEALSO=OR, AND, NOT
+ SYNTAX=XOR(b0,b1)
+ DESCRIPTION=XOR calculates the logical exclusive disjunction of its arguments @{b0},@{b1},...
+ {b0}: logical value
+ {b1}: logical value
+ SEEALSO=OR,AND,NOT,IF
 
 @CATEGORY=Lookup
 @FUNCTION=ADDRESS
- SYNTAX=ADDRESS(row_num,col_num[,abs_num,a1,text])
- DESCRIPTION=ADDRESS returns a cell address as text for specified row and column numbers.
-
- a1 is a logical value that specifies the reference style.  If @a1 is TRUE or omitted, ADDRESS returns an A1-style reference, i.e. $D$4.  Otherwise ADDRESS returns an R1C1-style reference, i.e. R4C4.
-
- text specifies the name of the worksheet to be used as the external reference.
-
-* If @abs_num is 1 or omitted, ADDRESS returns absolute reference.
-* If @abs_num is 2 ADDRESS returns absolute row and relative column.
-* If @abs_num is 3 ADDRESS returns relative row and absolute column.
-* If @abs_num is 4 ADDRESS returns relative reference.
-* If @abs_num is greater than 4 ADDRESS returns #VALUE! error.
-* If @row_num or @col_num is less than one, ADDRESS returns #VALUE! error.
-
- EXAMPLES=
-ADDRESS(5,4) equals "$D$5".
-ADDRESS(5,4,4) equals "D5".
-ADDRESS(5,4,3,FALSE) equals "R[5]C4".
-
 @SEEALSO=COLUMNNUMBER
 
 @CATEGORY=Lookup
 @FUNCTION=AREAS
- SYNTAX=AREAS(reference)
- DESCRIPTION=AREAS returns the number of areas in @reference. 
-
- EXAMPLES=
-AREAS((A1,B2,C3)) equals 3.
-
 @SEEALSO=ADDRESS,INDEX,INDIRECT,OFFSET
 
 @CATEGORY=Lookup
 @FUNCTION=CHOOSE
- SYNTAX=CHOOSE(index[,value1][,value2]...)
- DESCRIPTION=CHOOSE returns the value of index @index. @index is rounded to an integer if it is not.
-
-* If @index < 1 or @index > number of values, CHOOSE returns #VALUE! error.
-
- EXAMPLES=
-CHOOSE(3,"Apple","Orange","Grape","Perry") equals "Grape".
-
+ SYNTAX=CHOOSE(index,value1,value2)
+ DESCRIPTION=CHOOSE returns its (@{index}+1)th argument.
+ {index}: positive number
+ {value1}: first value
+ {value2}: second value
 @SEEALSO=IF
 
 @CATEGORY=Lookup
 @FUNCTION=COLUMN
- SYNTAX=COLUMN([reference].)
- DESCRIPTION=COLUMN function returns a Nx1 array containing the series of integers from the first column to the last column of @reference.
-* @reference defaults to the position of the current expression.
-
-* If @reference is neither an array nor a reference nor a range, returns #VALUE! error.
-
+ SYNTAX=COLUMN(x)
+ DESCRIPTION=COLUMN function returns a Nx1 array containing the sequence of integers from the first column to the last column of @{reference}.
+ {x}: reference, defaults to the position of the current expression
 @SEEALSO=COLUMNS,ROW,ROWS
 
 @CATEGORY=Lookup
 @FUNCTION=COLUMNNUMBER
- SYNTAX=COLUMNNUMBER(name)
- DESCRIPTION=COLUMNNUMBER function returns an integer corresponding to the column name supplied as a string.
-
-* If @name is invalid, COLUMNNUMBER returns the #VALUE! error.
-
- EXAMPLES=
-COLUMNNUMBER("E") equals 5.
-
 @SEEALSO=ADDRESS
 
 @CATEGORY=Lookup
 @FUNCTION=COLUMNS
- SYNTAX=COLUMNS(reference)
- DESCRIPTION=COLUMNS function returns the number of columns in area or array reference.
-
-* If @reference is neither an array nor a reference nor a range, COLUMNS returns #VALUE! error.
-
- EXAMPLES=
-COLUMNS(H2:J3) equals 3.
-
 @SEEALSO=COLUMN,ROW,ROWS
 
 @CATEGORY=Lookup
 @FUNCTION=HLOOKUP
- SYNTAX=HLOOKUP(value,range,row[,approximate,as_index])
- DESCRIPTION=HLOOKUP function finds the col in range that has a first row cell similar to @value.  If @approximate is not true it finds the col with an exact equivalence.  If @approximate is true, then the values must be sorted in order of ascending value for correct function; in this case it finds the col with value less than @value it returns the value in the col found at a 1-based offset in @row rows into the @range.  @as_index returns the 0-based offset that matched rather than the value.
-
-* HLOOKUP returns #NUM! if @row < 0.
-* HLOOKUP returns #REF! if @row falls outside @range.
-
- EXAMPLES=
-
+ SYNTAX=HLOOKUP(value,range,row,approximate,as_index)
+ DESCRIPTION=HLOOKUP function finds the row in @{range} that has a first cell similar to @{value}.  If @{approximate} is not true it finds the row with an exact equality. If @{approximate} is true, it finds the last row with first value less than or equal to {value}  If @{as_index} is true the 0-based row offset is returned.
+ {value}: search value
+ {range}: range to search
+ {row}: 1-based column offset indicating the return values 
+ {approximate}: if false, an exact match of @{value} must be found; defaults to FALSE
+ {as_index}: if true, the 0-based row offset is returned; defaults to FALSE
 @SEEALSO=VLOOKUP
 
 @CATEGORY=Lookup
 @FUNCTION=HYPERLINK
- SYNTAX=HYPERLINK(link_location[,optional_label])
+ SYNTAX=HYPERLINK(link_location,label)
 @DESCRIPTION=HYPERLINK function currently returns its 2nd argument, or if that is omitted the 1st argument.
-
- EXAMPLES=
-HYPERLINK("www.gnome.org","GNOME").
-
- SEEALSO=
+ {link_location}: string
+ {label}: string, optional
 
 @CATEGORY=Lookup
 @FUNCTION=INDEX
- SYNTAX=INDEX(array[,row, col, area])
- DESCRIPTION=INDEX gives a reference to a cell in the given @array.The cell is pointed out by @row and @col, which count the rows and columns in the array.
-
-* If @row and @col are omitted the are assumed to be 1.
-* If the reference falls outside the range of the @array, INDEX returns a #REF! error.
-
- EXAMPLES=Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1. Then INDEX(A1:A5,4,1,1) equals 25.9
-
- SEEALSO=
+ SYNTAX=INDEX(array,row,col,area)
+ DESCRIPTION=INDEX gives a reference to a cell in the given @{array}. The cell is selected by @{row} and @{col}, which count the rows and columns in the array.
+ {array}: 
+ {row}: desired row, defaults to 1
+ {col}: desired column, defaults to 1
+ {area}: from which area to select a cell, defaults to 1
 
 @CATEGORY=Lookup
 @FUNCTION=INDIRECT
- SYNTAX=INDIRECT(ref_text[,format])
- DESCRIPTION=INDIRECT function returns the contents of the cell pointed to by the @ref_text string. The string specifies a single cell reference the format of which is either A1 or R1C1 style. The boolean @format controls how @ref_text is to be interpreted: TRUE (the default) for A1 style and FALSE for R1C1 style.
-
-* If @ref_text is not a valid reference in the style controlled by @format, returns #REF! 
- EXAMPLES=
-If A1 contains 3.14 and A2 contains "A1", then
-INDIRECT(A2) equals 3.14.
-
-If B1 contains 23 and A1 contains "R1C2", then
-INDIRECT(A1,FALSE) equals 23.
 @SEEALSO=AREAS,INDEX,CELL
 
 @CATEGORY=Lookup
 @FUNCTION=LOOKUP
- SYNTAX=LOOKUP(value,vector1[,vector2])
- DESCRIPTION=LOOKUP function finds the row index of @value in @vector1 and returns the contents of @vector2 at that row index. Alternatively a single array can be used for @vector1. If the area is longer than it is wide then the sense of the search is rotated. 
-
-* If LOOKUP can't find @value it uses the largest value less than @value.
-* The data must be sorted.
-* If @value is smaller than the first value it returns #N/A.
-
- EXAMPLES=
-
+ SYNTAX=LOOKUP(value,vector1,vector2)
+ DESCRIPTION=If  @{vector1} has more rows than columns, LOOKUP searches the first row of @{vector1}, otherwise the first column. If @{vector2} is omitted the return value is taken from the last row or column of @{vector1}.
+ {value}: value to look up
+ {vector1}: range to search:
+ {vector2}: range of return values
 @SEEALSO=VLOOKUP,HLOOKUP
 
 @CATEGORY=Lookup
 @FUNCTION=MATCH
- SYNTAX=MATCH(seek,vector[,type])
- DESCRIPTION=MATCH function finds the row index of @seek in @vector and returns it.
-
-If the area is longer than it is wide then the sense of the search is rotated. Alternatively a single array can be used.
-
-* The @type parameter, which defaults to +1, controls the search:
-* If @type = 1, MATCH finds largest value <= @seek.
-* If @type = 0, MATCH finds first value == @seek.
-* If @type = -1, MATCH finds smallest value >= @seek.
-* For @type = 0, the data can be in any order.  * For @type = -1 and @type = +1, the data must be sorted.  (And in these cases, MATCH uses a binary search to locate the index.)
-* If @seek could not be found, #N/A is returned.
-
- EXAMPLES=
-
+ SYNTAX=MATCH(seek,vector,type)
+ DESCRIPTION=MATCH searches @{vector} for @{seek} and returns the 1-based index.
+ {seek}: value to find
+ {vector}: n by 1 or 1 by n range to be searched
+ {type}: +1 to find the largest value â?¤ @{seek}, 0 to find the first value = @{seek}, or-1 to find the smallest value â?¥ @{seek}
 @SEEALSO=LOOKUP
 
 @CATEGORY=Lookup
 @FUNCTION=OFFSET
- SYNTAX=OFFSET(range,row,col[,height[,width]])
- DESCRIPTION=OFFSET function returns a cell range. The cell range starts at offset (@row,@col) from @range, and is of height @height and width @width.
-
-* If @range is neither a reference nor a range, OFFSET returns #VALUE!.
-* If either @height or @width is omitted, the height or width of the reference is used.
-
- EXAMPLES=
-
+ SYNTAX=OFFSET(range,row,col,height,width)
+ DESCRIPTION=OFFSET returns the cell range starting at offset (@{row},@{col}) from @{range} of height @{height} and width @{width}.
+ {range}: reference or range
+ {row}: number of rows to offset @{range}
+ {col}: number of columns to offset @{range}
+ {height}: height of the offset range, defaults to height of @{range}
+ {width}: width of the offset range, defaults to width of @{range}
 @SEEALSO=COLUMN,COLUMNS,ROWS,INDEX,INDIRECT,ADDRESS
 
 @CATEGORY=Lookup
 @FUNCTION=ROW
- SYNTAX=ROW([reference].)
- DESCRIPTION=ROW function returns a 1xN array containing the series of integers from the first row to the last row of @reference.
-* @reference defaults to the position of the current expression.
-
-* If @reference is neither an array nor a reference nor a range, returns #VALUE! error.
-
+ SYNTAX=ROW(x)
+ DESCRIPTION=ROW function returns a 1xN array containing the sequence of integers from the first row to the last row of @{reference}.
+ {x}: reference, defaults to the position of the current expression
 @SEEALSO=COLUMN,COLUMNS,ROWS
 
 @CATEGORY=Lookup
 @FUNCTION=ROWS
- SYNTAX=ROWS(reference)
- DESCRIPTION=ROWS function returns the number of rows in area or array reference.
-
-* If @reference is neither an array nor a reference nor a range, ROWS returns #VALUE! error.
-
- EXAMPLES=
-ROWS(H7:I13) equals 7.
-
 @SEEALSO=COLUMN,COLUMNS,ROW
 
 @CATEGORY=Lookup
 @FUNCTION=TRANSPOSE
- SYNTAX=TRANSPOSE(matrix)
- DESCRIPTION=TRANSPOSE function returns the transpose of the input @matrix.
-
- EXAMPLES=
-
 @SEEALSO=MMULT
 
 @CATEGORY=Lookup
 @FUNCTION=VLOOKUP
- SYNTAX=VLOOKUP(value,range,column[,approximate,as_index])
- DESCRIPTION=VLOOKUP function finds the row in range that has a first column similar to @value.  If @approximate is not true it finds the row with an exact equivalence.  If @approximate is true, then the values must be sorted in order of ascending value for correct function; in this case it finds the row with value less than @value.  It returns the value in the row found at a 1-based offset in @column columns into the @range.  @as_index returns the 0-based offset that matched rather than the value.
-
-* VLOOKUP returns #NUM! if @column < 0.
-* VLOOKUP returns #REF! if @column falls outside @range.
-
- EXAMPLES=
-
+ SYNTAX=VLOOKUP(value,range,column,approximate,as_index)
+ DESCRIPTION=VLOOKUP function finds the row in @{range} that has a first cell similar to @{value}.  If @{approximate} is not true it finds the row with an exact equality. If @{approximate} is true, it finds the last row with first value less than or equal to @{value}. If @{as_index} is true the 0-based row offset is returned.
+ {value}: search value
+ {range}: range to search
+ {column}: 1-based column offset indicating the return values
+ {approximate}: if false, an exact match of @{value} must be found; defaults to FALSE
+ {as_index}: if true, the 0-based row offset is returned; defaults to FALSE
 @SEEALSO=HLOOKUP
 
 @CATEGORY=Mathematics
 @FUNCTION=ABS
- SYNTAX=ABS(b1)
- DESCRIPTION=ABS implements the Absolute Value function:  the result is to drop the negative sign (if present).  This can be done for integers and floating point numbers.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ABS(7) equals 7.
-ABS(-3.14) equals 3.14.
-
+ SYNTAX=ABS(x)
+ DESCRIPTION=ABS gives the absolute value of @{x}, i.e. the non-negative number of the same magnitude as @{x}.
+ {x}: number
 @SEEALSO=CEIL, CEILING, FLOOR, INT, MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=ACOS
- SYNTAX=ACOS(x)
- DESCRIPTION=ACOS function calculates the arc cosine of @x; that is the value whose cosine is @x.
-
-* The value it returns is in radians.
-* If @x falls outside the range -1 to 1, ACOS returns the #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-ACOS(0.1) equals 1.470629.
-ACOS(-0.1) equals 1.670964.
-
 @SEEALSO=COS, SIN, DEGREES, RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=ACOSH
- SYNTAX=ACOSH(x)
- DESCRIPTION=ACOSH  function  calculates  the inverse hyperbolic cosine of @x; that is the value whose hyperbolic cosine is @x.
+ SEEALSO=ACOS,ASINH,DEGREES,RADIANS 
 
-* If @x is less than 1.0, ACOSH() returns the #NUM! error.
-* This function is Excel compatible.
- 
- EXAMPLES=
-ACOSH(2) equals 1.31696.
-ACOSH(5.3) equals 2.35183.
+ CATEGORY=Mathematics
+ FUNCTION=ACOT
+ SEEALSO=COT,TAN
 
- SEEALSO=ACOS, ASINH, DEGREES, RADIANS 
+ CATEGORY=Mathematics
+ FUNCTION=ACOTH
+ SEEALSO=COTH,TANH
 
 @CATEGORY=Mathematics
 @FUNCTION=ASIN
 @SYNTAX=ASIN(x)
- DESCRIPTION=ASIN function calculates the arc sine of @x; that is the value whose sine is @x.
-
-* If @x falls outside the range -1 to 1, ASIN returns the #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-ASIN(0.5) equals 0.523599.
-ASIN(1) equals 1.570797.
-
- SEEALSO=SIN, COS, ASINH, DEGREES, RADIANS
+ DESCRIPTION=ASIN calculates the arc sine of @{x}; that is the value whose sine is @{x}.
+ {x}: number
+ SEEALSO=SIN COS,ASINH,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=ASINH
 @SYNTAX=ASINH(x)
- DESCRIPTION=ASINH function calculates the inverse hyperbolic sine of @x; that is the value whose hyperbolic sine is @x.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-ASINH(0.5) equals 0.481212.
-ASINH(1.0) equals 0.881374.
-
- SEEALSO=ASIN, ACOSH, SIN, COS, DEGREES, RADIANS
+ DESCRIPTION=ASINH calculates the inverse hyperbolic sine of @{x}; that is the value whose hyperbolic sine is @{x}.
+ {x}: number
+ SEEALSO=ASIN,ACOSH,SIN,COS,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=ATAN
 @SYNTAX=ATAN(x)
- DESCRIPTION=ATAN function calculates the arc tangent of @x; that is the value whose tangent is @x.
-
-* Return value is in radians.
-* This function is Excel compatible.
-
- EXAMPLES=
-ATAN(0.5) equals 0,463648.
-ATAN(1) equals 0,785398.
-
- SEEALSO=TAN, COS, SIN, DEGREES, RADIANS
+ DESCRIPTION=ATAN calculates the arc tangent of @{x}; that is the value whose tangent is @{x}.
+ {x}: angle in radians
+ SEEALSO=TAN,COS,SIN,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=ATAN2
 @SYNTAX=ATAN2(b1,b2)
- DESCRIPTION=ATAN2 function calculates the arc tangent of the two variables @b1 and @b2.  It is similar to calculating the arc tangent of @b2 / @b1, except that the signs of both arguments are used to determine the quadrant of the result.
-
-* The result is in radians.
-* This function is Excel compatible.
-
- EXAMPLES=
-ATAN2(0.5,1.0) equals 1.107149.
-ATAN2(-0.5,2.0) equals 1.815775.
-
- SEEALSO=ATAN, ATANH, COS, SIN, DEGREES, RADIANS
+ DESCRIPTION=ATAN2 calculates the arc tangent of the ratio @{b1}/@{b2} with the sign according to the quadrant containing (@{b1},@{b2}).
+ {b1}: angle in radians
+ {b2}: angle in radians
+ SEEALSO=ATAN,ATANH,COS,SIN,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=ATANH
 @SYNTAX=ATANH(x)
- DESCRIPTION=ATANH function calculates the inverse hyperbolic tangent of @x; that is the value whose hyperbolic tangent is @x.
-
-* If the absolute value of @x is greater than 1.0, ATANH returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-ATANH(0.5) equals 0.549306.
-ATANH(0.8) equals 1.098612.
-
- SEEALSO=ATAN, TAN, SIN, COS, DEGREES, RADIANS
+ DESCRIPTION=ATANH calculates the inverse hyperbolic tangent of @{x}; that is the value whose hyperbolic tangent is @{x}.
+ {x}: angle in radians
+ SEEALSO=ATAN,COS,SIN,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=BETA
- SYNTAX=BETA(a,b)
- DESCRIPTION=BETA function returns the value of the mathematical beta function extended to all real numbers except 0 and negative integers.
-
-* If @a, @b, or (@a + @b) are non-positive integers, BETA returns #NUM! error.
-
- EXAMPLES=
-BETA(2,3) equals 0.083333.
-BETA(-0.5,0.5) equals #NUM!.
-
+ SYNTAX=BETA(x,y)
+ DESCRIPTION=BETA function returns the value of the Euler beta function extended to all real numbers except 0 and negative integers.
+ {x}: number
+ {y}: number
 @SEEALSO=BETALN,GAMMALN
 
 @CATEGORY=Mathematics
 @FUNCTION=BETALN
- SYNTAX=BETALN(a,b)
- DESCRIPTION=BETALN function returns the natural logarithm of the absolute value of the beta function.
-
-* If @a, @b, or (@a + @b) are non-positive integers, BETALN returns #NUM! 
- EXAMPLES=
-BETALN(2,3) equals -2.48.
-BETALN(-0.5,0.5) equals #NUM!.
-
+ SYNTAX=BETALN(x,y)
+ DESCRIPTION=BETALN function returns the natural logarithm of the absolute value of the Euler beta function extended to all real numbers except 0 and negative integers.
+ {x}: number
+ {y}: number
 @SEEALSO=BETA,GAMMALN
 
 @CATEGORY=Mathematics
 @FUNCTION=CEIL
 @SYNTAX=CEIL(x)
- DESCRIPTION=CEIL function rounds @x up to the next nearest integer.
-
-
- EXAMPLES=
-CEIL(0.4) equals 1.
-CEIL(-1.1) equals -1.
-CEIL(-2.9) equals -2.
-
- SEEALSO=CEILING, FLOOR, ABS, INT, MOD
+ DESCRIPTION=CEIL(@{x}) is the smallest integer that is at least as large as @{x}.
+ {x}: number
+ SEEALSO=CEILING,FLOOR,ABS,INT,MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=CEILING
- SYNTAX=CEILING(x[,significance])
- DESCRIPTION=CEILING function rounds @x up to the nearest multiple of @significance.
-
-* If @x or @significance is non-numeric CEILING returns #VALUE! error.
-* If @x and @significance have different signs CEILING returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-CEILING(2.43,1) equals 3.
-CEILING(123.123,3) equals 126.
-
- SEEALSO=CEIL, FLOOR, ABS, INT, MOD
+ SYNTAX=CEILING(x,significance)
+ DESCRIPTION=CEILING(@{x},@{significance}) is the nearest multiple of @{significance} whose absolute value is at least ABS(@{x}).
+ {x}: number
+ {significance}: base multiple (defaults to 1 for @{x} > 0 and -1 for @{x} <0)
+ SEEALSO=CEIL,FLOOR,ABS,INT,MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=COMBIN
 @SYNTAX=COMBIN(n,k)
- DESCRIPTION=COMBIN computes the number of combinations.
-
-* Performing this function on a non-integer or a negative number returns #NUM! error.
-* If @n is less than @k COMBIN returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-COMBIN(8,6) equals 28.
-COMBIN(6,2) equals 15.
-
- SEEALSO=
+ DESCRIPTION=COMBIN returns the binomial coefficient "@{n} choose @{k}"
+ {n}: non-negative integer
+ {k}: non-negative integer
 
 @CATEGORY=Mathematics
 @FUNCTION=COS
+ SEEALSO=SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES
 @SYNTAX=COS(x)
- DESCRIPTION=COS function returns the cosine of @x, where @x is given in radians.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-COS(0.5) equals 0.877583.
-COS(1) equals 0.540302.
-
- SEEALSO=COSH, SIN, SINH, TAN, TANH, RADIANS, DEGREES
+ DESCRIPTION=This function is Excel compatible.
+ {x}: angle in radians
 
 @CATEGORY=Mathematics
 @FUNCTION=COSH
- SYNTAX=COSH(x)
- DESCRIPTION=COSH function returns the hyperbolic cosine of @x, which is defined mathematically as
-
-	(exp(@x) + exp(- x)) / 2.
-
-* @x is in radians.
-* This function is Excel compatible.
+ SEEALSO=SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES
 
- EXAMPLES=
-COSH(0.5) equals 1.127626.
-COSH(1) equals 1.543081.
+ CATEGORY=Mathematics
+ FUNCTION=COT
+ SEEALSO=TAN,ACOT
 
- SEEALSO=COS, SIN, SINH, TAN, TANH, RADIANS, DEGREES, EXP
+ CATEGORY=Mathematics
+ FUNCTION=COTH
+ SEEALSO=TANH,ACOTH
 
 @CATEGORY=Mathematics
 @FUNCTION=COUNTIF
- SYNTAX=COUNTIF(range,criteria)
- DESCRIPTION=COUNTIF function counts the number of cells in the given @range that meet the given @criteria.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 23, 27, 28, 33, and 39.  Then
-COUNTIF(A1:A5,"<=28") equals 3.
-COUNTIF(A1:A5,"<28") equals 2.
-COUNTIF(A1:A5,"28") equals 1.
-COUNTIF(A1:A5,">28") equals 2.
-
 @SEEALSO=COUNT,SUMIF
 
 @CATEGORY=Mathematics
- FUNCTION=DEGREES
- SYNTAX=DEGREES(x)
- DESCRIPTION=DEGREES computes the number of degrees equivalent to @x radians.
+ FUNCTION=CSC
+ SEEALSO=SIN,COS,TAN,SEC,SINH,COSH,TANH,RADIANS,DEGREES
 
-* This function is Excel compatible.
-
- EXAMPLES=
-DEGREES(2.5) equals 143.2394.
+ CATEGORY=Mathematics
+ FUNCTION=CSCH
+ SEEALSO=SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES
 
- SEEALSO=RADIANS, PI
+ CATEGORY=Mathematics
+ FUNCTION=DEGREES
+ SEEALSO=RADIANS,PI
 
 @CATEGORY=Mathematics
 @FUNCTION=EVEN
- SYNTAX=EVEN(number)
- DESCRIPTION=EVEN function returns the number rounded up to the nearest even integer.  Negative numbers are rounded down.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-EVEN(5.4) equals 6.
-EVEN(-5.4) equals -6.
-
 @SEEALSO=ODD
 
 @CATEGORY=Mathematics
 @FUNCTION=EXP
- SYNTAX=EXP(x)
- DESCRIPTION=EXP computes the value of e (the base of natural logarithms) raised to the power of @x.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-EXP(2) equals 7.389056.
-
 @SEEALSO=LOG, LOG2, LOG10
 
 @CATEGORY=Mathematics
 @FUNCTION=EXPM1
- SYNTAX=EXPM1(x)
- DESCRIPTION=EXPM1 computes EXP(@x)-1 with higher resulting precision than the direct formula.
-
- EXAMPLES=
-EXPM1(0.01) equals 0.01005.
-
 @SEEALSO=EXP, LN1P
 
 @CATEGORY=Mathematics
 @FUNCTION=FACT
- SYNTAX=FACT(x)
- DESCRIPTION=FACT computes the factorial of @x. ie, @x!
-
-* This function is Excel compatible.
-
- EXAMPLES=
-FACT(3) equals 6.
-FACT(9) equals 362880.
-
- SEEALSO=
 
 @CATEGORY=Mathematics
 @FUNCTION=FACTDOUBLE
- SYNTAX=FACTDOUBLE(number)
- DESCRIPTION=FACTDOUBLE function returns the double factorial of a @number, i.e., x!!.
-
-* If @number is not an integer, it is truncated.
-* If @number is negative FACTDOUBLE returns #NUM! error.
-* This function is Excel compatible.
- 
- EXAMPLES=
-FACTDOUBLE(5) equals 15.
-
+ SYNTAX=FACTDOUBLE(area0)
+ DESCRIPTION=FACTDOUBLE function returns the double factorial @{x}!!
+ {area0}: first cell areax:non-negative integer
 @SEEALSO=FACT
 
 @CATEGORY=Mathematics
 @FUNCTION=FIB
- SYNTAX=FIB(number)
- DESCRIPTION=FIB function computes Fibonacci numbers.
-
-* If @number is not an integer, it is truncated.
-* If @number is negative or zero FIB returns #NUM! error.
-
- EXAMPLES=
-FIB(12) equals 144.
-
- SEEALSO=
+ SYNTAX=FIB(n)
+ DESCRIPTION=FIB(@{n}) is the @{n}th Fibonacci number.
+ {n}: positive integer
 
 @CATEGORY=Mathematics
 @FUNCTION=FLOOR
 @SYNTAX=FLOOR(x,significance)
- DESCRIPTION=FLOOR function rounds @x down to the next nearest multiple of @significance.
- {x}: value.
- {significance}: base multiple (defaults to 1 for @x > 0 and -1 for @x <0)
+ DESCRIPTION=FLOOR(@{x},@{significance}) is the nearest multiple of @{significance} whose absolute value is at most ABS(@{x})
+ {x}: number.
+ {significance}: base multiple (defaults to 1 for @{x} > 0 and -1 for @{x} <0)
 @SEEALSO=CEIL,CEILING,ABS,INT,MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=G_PRODUCT
- SYNTAX=G_PRODUCT(value1, value2, ...)
- DESCRIPTION=G_PRODUCT returns the product of all the values and cells referenced in the argument list.
-
-* Empty cells are ignored and the empty product is 1.
-
- EXAMPLES=
-G_PRODUCT(2,5,9) equals 90.
-
 @SEEALSO=SUM, COUNT
 
 @CATEGORY=Mathematics
 @FUNCTION=GCD
- SYNTAX=GCD(number1,number2,...)
- DESCRIPTION=GCD returns the greatest common divisor of given numbers.
-
-* If any of the arguments is less than one, GCD returns #NUM! error.
-* If any of the arguments is non-integer, it is truncated.
-* This function is Excel compatible.
-
- EXAMPLES=
-GCD(470,770) equals 10.
-GCD(470,770,1495) equals 5.
-
+ SYNTAX=GCD(n0,n1)
+ DESCRIPTION=GCD calculates the greates common divisor of the given numbers @{n0},@{n1},..., the greatest integer that is a divisor of each argument.
+ {n0}: positive integer
+ {n1}: positive integer
 @SEEALSO=LCM
 
 @CATEGORY=Mathematics
- FUNCTION=HYPOT
- SYNTAX=HYPOT(number1,number2,...)
- DESCRIPTION=HYPOT returns the square root of the sum of the squares of the arguments.
-
- EXAMPLES=
-HYPOT(3,4) equals 5.
+ FUNCTION=GD
+ SEEALSO=TAN,TANH
 
+ CATEGORY=Mathematics
+ FUNCTION=HYPOT
 @SEEALSO=MIN,MAX
 
 @CATEGORY=Mathematics
 @FUNCTION=INT
- SYNTAX=INT(a)
- DESCRIPTION=INT function returns the largest integer that is not bigger than its argument.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-INT(7.2) equals 7.
-INT(-5.5) equals -6.
-
- SEEALSO=CEIL, CEILING, FLOOR, ABS, MOD
+ SEEALSO=CEIL,CEILING,FLOOR,ABS,MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=LCM
- SYNTAX=LCM(number1,number2,...)
- DESCRIPTION=LCM returns the least common multiple of integers.  The least common multiple is the smallest positive number that is a multiple of all integer arguments given.
-
-* If any of the arguments is less than one, LCM returns #NUM!.
-* If any of the arguments is non-integer, it is truncated.
-* This function is Excel compatible.
-
- EXAMPLES=
-LCM(2,13) equals 26.
-LCM(4,7,5) equals 140.
-
+ SYNTAX=LCM(n0,n1)
+ DESCRIPTION=LCM calculates the least common multiple of the given numbers @{n0},@{n1},..., the smallest integer that is a multiple of each argment.
+ {n0}: positive integer
+ {n1}: positive integer
 @SEEALSO=GCD
 
 @CATEGORY=Mathematics
 @FUNCTION=LN
- SYNTAX=LN(x)
- DESCRIPTION=LN returns the natural logarithm of @x.
-
-* If @x <= 0, LN returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-LN(7) equals 1.94591.
-
- SEEALSO=EXP, LOG2, LOG10
+ SEEALSO=EXP,LOG2,LOG10
 
 @CATEGORY=Mathematics
 @FUNCTION=LN1P
 @SYNTAX=LN1P(x)
- DESCRIPTION=LN1P computes LN(1+ x) with higher resulting precision than the direct formula.
-
-* If @x <= -1, LN1P returns #NUM! error.
-
- EXAMPLES=
-LN1P(0.01) equals 0.00995.
-
- SEEALSO=LN, EXPM1
+ DESCRIPTION=LN1P calculates LN(1+ {x}) but yielding a higher precision than evaluating LN(1+ {x}).
+ {x}: positive number
+ SEEALSO=EXP,LN,EXPM1
 
 @CATEGORY=Mathematics
 @FUNCTION=LOG
- SYNTAX=LOG(x[,base])
- DESCRIPTION=LOG computes the logarithm of @x in the given base @base.  If no @base is given LOG returns the logarithm in base 10. @base must be > 0. and cannot equal 1.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-LOG(2) equals 0.30103.
-LOG(8192,2) equals 13.
-
- SEEALSO=LN, LOG2, LOG10
+ SEEALSO=LN,LOG2,LOG10
 
 @CATEGORY=Mathematics
 @FUNCTION=LOG10
- SYNTAX=LOG10(x)
- DESCRIPTION=LOG10 computes the base-10 logarithm of @x.
-
-* If @x <= 0, LOG10 returns #NUM! error.
-* This function is Excel compatible.
- 
- EXAMPLES=
-LOG10(7) equals 0.845098.
-
- SEEALSO=EXP, LOG2, LOG
+ SEEALSO=EXP,LOG2,LOG
 
 @CATEGORY=Mathematics
 @FUNCTION=LOG2
- SYNTAX=LOG2(x)
- DESCRIPTION=LOG2 computes the base-2 logarithm of @x.
-
-* If @x <= 0, LOG2 returns #NUM! error.
-
- EXAMPLES=
-LOG2(1024) equals 10.
-
- SEEALSO=EXP, LOG10, LOG
+ SEEALSO=EXP,LOG10,LOG
 
 @CATEGORY=Mathematics
 @FUNCTION=MDETERM
- SYNTAX=MDETERM(matrix)
- DESCRIPTION=MDETERM function returns the determinant of a given matrix.
-
-* If the @matrix does not contain equal number of columns and rows, MDETERM returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that A1, ..., A4 contain numbers 2, 3, 7, and 3, B1, ..., B4 4, 2, 4, and 1, C1, ..., C4 9, 4, 3, and 2, and D1, ..., D4 7, 3, 6, and 5. Then
-MDETERM(A1:D4) equals 148.
-
 @SEEALSO=MMULT, MINVERSE
 
 @CATEGORY=Mathematics
 @FUNCTION=MINVERSE
- SYNTAX=MINVERSE(matrix)
- DESCRIPTION=MINVERSE function returns the inverse matrix of @matrix.
-
-* If @matrix cannot be inverted, MINVERSE returns #NUM! error.
-* If @matrix does not contain equal number of columns and rows, MINVERSE returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-
 @SEEALSO=MMULT, MDETERM
 
 @CATEGORY=Mathematics
 @FUNCTION=MMULT
- SYNTAX=MMULT(array1,array2)
- DESCRIPTION=MMULT function returns the matrix product of two arrays. The result is an array with the same number of rows as @array1 and the same number of columns as @array2.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-
 @SEEALSO=TRANSPOSE,MINVERSE
 
 @CATEGORY=Mathematics
 @FUNCTION=MOD
- SYNTAX=MOD(number,divisor)
- DESCRIPTION=MOD function returns the remainder when @divisor is divided into @number.
-
-* MOD returns #DIV/0! if @divisor is zero.
-* This function is Excel compatible.
- 
- EXAMPLES=
-MOD(23,7) equals 2.
-
- SEEALSO=CEIL, CEILING, FLOOR, ABS, INT, ABS
+ SYNTAX=MOD(x,n)
+ DESCRIPTION=MOD function returns the remainder when @{x} is divided by @n.
+ {x}: integer
+ {n}: integer
+ SEEALSO=CEIL,CEILING,FLOOR,ABS,INT,ABS
 
 @CATEGORY=Mathematics
 @FUNCTION=MROUND
- SYNTAX=MROUND(number,multiple)
- DESCRIPTION=MROUND function rounds a given number to the desired multiple.
-
- number is the number you want rounded and @multiple is the the multiple to which you want to round the number.
-
-* If @number and @multiple have different sign, MROUND returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-MROUND(1.7,0.2) equals 1.8.
-MROUND(321.123,0.12) equals 321.12.
-
 @SEEALSO=ROUNDDOWN,ROUND,ROUNDUP
 
 @CATEGORY=Mathematics
 @FUNCTION=MULTINOMIAL
- SYNTAX=MULTINOMIAL(value1, value2, ...)
- DESCRIPTION=MULTINOMIAL returns the ratio of the factorial of a sum of values to the product of factorials.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-MULTINOMIAL(2,3,4) equals 1260.
-
- SEEALSO=SUM
+ SEEALSO=COMBIN,SUM
 
 @CATEGORY=Mathematics
 @FUNCTION=ODD
- SYNTAX=ODD(number)
- DESCRIPTION=ODD function returns the @number rounded up to the nearest odd integer.  Negative numbers are rounded down.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-ODD(4.4) equals 5.
-ODD(-4.4) equals -5.
-
 @SEEALSO=EVEN
 
 @CATEGORY=Mathematics
 @FUNCTION=PI
- SYNTAX=PI()
- DESCRIPTION=PI functions returns the value of pi.
-
-* This function is called with no arguments.
-* This function is Excel compatible, except that it returns pi with a better precision.
-
- EXAMPLES=
-PI() equals about 3.141593.
-
 @SEEALSO=SQRTPI
 
 @CATEGORY=Mathematics
 @FUNCTION=POWER
- SYNTAX=POWER(x,y)
- DESCRIPTION=POWER returns the value of @x raised to the power @y.
-
-
-* If both @x and @y equal 0, POWER returns #NUM! error.
-* If @x = 0 and @y < 0, POWER returns #DIV/0! error.
-* If @x < 0 and @y is non-integer, POWER returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-POWER(2,7) equals 128.
-POWER(3,3.141) equals 31.523749.
-
 @SEEALSO=EXP
 
 @CATEGORY=Mathematics
 @FUNCTION=PRODUCT
- SYNTAX=PRODUCT(value1, value2, ...)
- DESCRIPTION=PRODUCT returns the product of all the values and cells referenced in the argument list.
-
-* This function is Excel compatible.  In particular, this means that if all cells are empty, the result will be 0.
-
- EXAMPLES=
-PRODUCT(2,5,9) equals 90.
+ SYNTAX=PRODUCT(values)
+ DESCRIPTION=Product computes the product of all the values and cells referenced in the argument list.
+ {values}: a list of values to multiply
 @SEEALSO=SUM,COUNT,G_PRODUCT
 
 @CATEGORY=Mathematics
 @FUNCTION=QUOTIENT
 @SYNTAX=QUOTIENT(numerator,denominator)
- DESCRIPTION=QUOTIENT function returns the integer portion of a division.  @numerator is the divided number and @denominator is the divisor.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-QUOTIENT(23,5) equals 4.
-
+ DESCRIPTION=QUOTIENT yields the integer portion of the division @{numerator}/@{denominator}.
+QUOTIENT (@{numerator},@{denominator})� {denominator}+MOD(@{numerator},@{denominator})= {numerator}
+ {numerator}: integer
+ {denominator}: non-zero integer
 @SEEALSO=MOD
 
 @CATEGORY=Mathematics
 @FUNCTION=RADIANS
- SYNTAX=RADIANS(x)
- DESCRIPTION=RADIANS computes the number of radians equivalent to @x degrees.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-RADIANS(180) equals 3.14159.
-
 @SEEALSO=PI,DEGREES
 
 @CATEGORY=Mathematics
 @FUNCTION=ROMAN
- SYNTAX=ROMAN(number[,type])
- DESCRIPTION=ROMAN function returns an arabic number in the roman numeral style, as text. @number is the number you want to convert and @type is the type of roman numeral you want.
-
-* If @type is 0 or it is omitted, ROMAN returns classic roman numbers.
-* Type 1 is more concise than classic type, type 2 is more concise than type 1, and type 3 is more concise than type 2.  Type 4 is simplified type.
-* If @number is negative or greater than 3999, ROMAN returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-ROMAN(999) equals CMXCIX.
-ROMAN(999,1) equals LMVLIV.
-ROMAN(999,2) equals XMIX.
-ROMAN(999,3) equals VMIV.
-ROMAN(999,4) equals IM.
-
- SEEALSO=
+ SYNTAX=ROMAN(n,type)
+ DESCRIPTION=ROMAN returns the arabic number @{n} as a roman numeral text.
+If @{type} is 0 or it is omitted, ROMAN returns classic roman numbers.
+Type 1 is more concise than classic type, type 2 is more concise than type 1, and type 3 is more concise than type 2. Type 4 is a simplified type.
+ {n}: non-negative integer
+ {type}: 0,1,2,3,or 4, defaults to 0
 
 @CATEGORY=Mathematics
 @FUNCTION=ROUND
- SYNTAX=ROUND(number[,digits])
- DESCRIPTION=ROUND function rounds a given number.
-
- number is the number you want rounded and @digits is the number of digits to which you want to round that number.
-
-* If @digits is greater than zero, @number is rounded to the given number of digits.
-* If @digits is zero or omitted, @number is rounded to the nearest integer.
-* If @digits is less than zero, @number is rounded to the left of the decimal point.
-* This function is Excel compatible.
-
- EXAMPLES=
-ROUND(5.5) equals 6.
-ROUND(-3.3) equals -3.
-ROUND(1501.15,1) equals 1501.2.
-ROUND(1501.15,-2) equals 1500.0.
-
+ SYNTAX=ROUND(x,d)
+ DESCRIPTION=If @{d} is greater than zero, @{x} is rounded to the given number of digits.
+If @{d} is zero, @{x} is rounded to the next integer.
+If @{d} is less than zero, @{x} is rounded to the left of the decimal point
+ {x}: number
+ {d}: integer, defaults to 0
 @SEEALSO=ROUNDDOWN,ROUNDUP
 
 @CATEGORY=Mathematics
 @FUNCTION=ROUNDDOWN
- SYNTAX=ROUNDDOWN(number[,digits])
- DESCRIPTION=ROUNDDOWN function rounds a given @number towards 0.
-
- number is the number you want rounded toward 0 and @digits is the number of digits to which you want to round that number.
-
-* If @digits is greater than zero, @number is rounded toward 0 to the given number of digits.
-* If @digits is zero or omitted, @number is rounded toward 0 to the next integer.
-* If @digits is less than zero, @number is rounded toward 0 to the left of the decimal point.
-* This function is Excel compatible.
-
- EXAMPLES=
-ROUNDDOWN(5.5) equals 5.
-ROUNDDOWN(-3.3) equals -3.
-ROUNDDOWN(1501.15,1) equals 1501.1.
-ROUNDDOWN(1501.15,-2) equals 1500.0.
-
+ SYNTAX=ROUNDDOWN(x,d)
+ DESCRIPTION=If @{d} is greater than zero, @{x} is rounded toward 0 to the given number of digits.
+If @{d} is zero, @{x} is rounded toward 0 to the next integer.
+If @{d} is less than zero, @{x} is rounded toward 0 to the left of the decimal point
+ {x}: number
+ {d}: integer, defaults to 0
 @SEEALSO=ROUND,ROUNDUP
 
 @CATEGORY=Mathematics
 @FUNCTION=ROUNDUP
- SYNTAX=ROUNDUP(number[,digits])
- DESCRIPTION=ROUNDUP function rounds a given number away from 0.
-
- number is the number you want rounded away from 0 and @digits is the number of digits to which you want to round that number.
-
-* If @digits is greater than zero, @number is rounded away from 0 to the given number of digits.
-* If @digits is zero or omitted, @number is rounded away from 0 to the next integer.
-* If @digits is less than zero, @number is rounded away from 0 to the left of the decimal point.
-* This function is Excel compatible.
+ SYNTAX=ROUNDUP(x,d)
+ DESCRIPTION=If @{d} is greater than zero, @{x} is rounded away from 0 to the given number of digits.
+If @{d} is zero, @{x} is rounded away from 0 to the next integer.
+If @{d} is less than zero, @{x} is rounded away from 0 to the left of the decimal point
+ {x}: number
+ {d}: integer, defaults to 0
+ SEEALSO=ROUND,ROUNDDOWN,INT
 
- EXAMPLES=
-ROUNDUP(5.5) equals 6.
-ROUNDUP(-3.3) equals -4.
-ROUNDUP(1501.15,1) equals 1501.2.
-ROUNDUP(1501.15,-2) equals 1600.0.
+ CATEGORY=Mathematics
+ FUNCTION=SEC
+ SEEALSO=SIN,COS,TAN,CSC,SINH,COSH,TANH,RADIANS,DEGREES
 
- SEEALSO=ROUND,ROUNDDOWN
+ CATEGORY=Mathematics
+ FUNCTION=SECH
+ SEEALSO=SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES
 
 @CATEGORY=Mathematics
 @FUNCTION=SERIESSUM
- SYNTAX=SERIESSUM(x,n,m,coefficients)
- DESCRIPTION=SERIESSUM function returns the sum of a power series.  @x is the base of the power series, @n is the initial power to raise @x, @m is the increment to the power for each term in the series, and @coefficients are the coefficients by which each successive power of @x is multiplied.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 1.23, 2.32, 2.98, 3.42, and 4.33.  Then
-SERIESSUM(3,1,2.23,A1:A5) equals 251416.43018.
-
 @SEEALSO=COUNT,SUM
 
 @CATEGORY=Mathematics
 @FUNCTION=SIGN
- SYNTAX=SIGN(number)
- DESCRIPTION=SIGN function returns 1 if the @number is positive, zero if the @number is 0, and -1 if the @number is negative.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-SIGN(3) equals 1.
-SIGN(-3) equals -1.
-SIGN(0) equals 0.
-
- SEEALSO=
+ SYNTAX=SIGN(x)
+ DESCRIPTION=SIGN returns 1 if the @{x} is positive and it returns -1 if @{x} is negative.
+ {x}: number
+ SEEALSO=ABS
 
 @CATEGORY=Mathematics
 @FUNCTION=SIN
- SYNTAX=SIN(x)
- DESCRIPTION=SIN function returns the sine of @x, where @x is given in radians.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-SIN(0.5) equals 0.479426.
-
- SEEALSO=COS, COSH, SINH, TAN, TANH, RADIANS, DEGREES
+ SEEALSO=COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES
 
 @CATEGORY=Mathematics
 @FUNCTION=SINH
- SYNTAX=SINH(x)
- DESCRIPTION=SINH function returns the hyperbolic sine of @x, which is defined mathematically as
-
-	(exp(@x) - exp(- x)) / 2.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-SINH(0.5) equals 0.521095.
-
- SEEALSO=SIN, COS, COSH, TAN, TANH, DEGREES, RADIANS, EXP
+ SEEALSO=ACOS,ASINH,DEGREES,RADIANS 
 
 @CATEGORY=Mathematics
 @FUNCTION=SQRT
- SYNTAX=SQRT(x)
- DESCRIPTION=SQRT function returns the square root of @x.
-
-* If @x is negative, SQRT returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-SQRT(2) equals 1.4142136.
-
 @SEEALSO=POWER
 
 @CATEGORY=Mathematics
 @FUNCTION=SQRTPI
- SYNTAX=SQRTPI(number)
- DESCRIPTION=SQRTPI function returns the square root of a @number multiplied by pi.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-SQRTPI(2) equals 2.506628275.
-
 @SEEALSO=PI
 
 @CATEGORY=Mathematics
- FUNCTION=SUM
- SYNTAX=SUM(value1, value2, ...)
+ FUNCTION=Sum
+ SYNTAX=Sum(values)
 @DESCRIPTION=SUM computes the sum of all the values and cells referenced in the argument list.
-
-* This function is Excel compatible.
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43.  Then
-SUM(A1:A5) equals 107.
+ {values}: a list of values to add
 @SEEALSO=AVERAGE,COUNT
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMA
- SYNTAX=SUMA(value1, value2, ...)
- DESCRIPTION=SUMA computes the sum of all the values and cells referenced in the argument list.  Numbers, text and logical values are included in the calculation too.  If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1).
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43.  Then
-SUMA(A1:A5) equals 107.
-
- SEEALSO=AVERAGE, SUM, COUNT
+ SYNTAX=SUMA(area0,area1)
+ DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1).
+ {area0}: first cell area
+ {area1}: second cell area
+ SEEALSO=AVERAGE,SUM,COUNT
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMIF
- SYNTAX=SUMIF(range,criteria[,actual_range])
- DESCRIPTION=SUMIF function sums the values in the given @range that meet the given @criteria.  If @actual_range is given, SUMIF sums the values in the @actual_range whose corresponding components in @range meet the given @criteria.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 23, 27, 28, 33, and 39.  Then
-SUMIF(A1:A5,"<=28") equals 78.
-SUMIF(A1:A5,"<28") equals 50.
-In addition, if the cells B1, B2, ..., B5 hold numbers 5, 3, 2, 6, and 7 then:
-SUMIF(A1:A5,"<=27",B1:B5) equals 8.
-
- SEEALSO=COUNTIF, SUM
+ SEEALSO=SUM,COUNTIF
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMPRODUCT
@@ -4835,588 +2562,258 @@ SUMIF(A1:A5,"<=27",B1:B5) equals 8.
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMSQ
- SYNTAX=SUMSQ(value1, value2, ...)
- DESCRIPTION=SUMSQ returns the sum of the squares of all the values and cells referenced in the argument list.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43.  Then
-SUMSQ(A1:A5) equals 2925.
-
- SEEALSO=SUM, COUNT
+ SEEALSO=SUM,COUNT
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMX2MY2
- SYNTAX=SUMX2MY2(array1,array2)
- DESCRIPTION=SUMX2MY2 function returns the sum of the difference of squares of corresponding values in two arrays. @array1 is the first array or range of data points and @array2 is the second array or range of data points. The equation of SUMX2MY2 is SUM (x^2-y^2).
-
-* Strings and empty cells are simply ignored.
-* If @array1 and @array2 have different number of data points, SUMX2MY2 returns #N/A error.
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.  Then
-SUMX2MY2(A1:A5,B1:B5) equals -1299.
-
+ SYNTAX=SUMX2MY2(array0,array1)
+ DESCRIPTION=SUMX2MY2 function returns the sum of the difference of squares of corresponding values in two arrays. The equation of SUMX2MY2 is SUM(x^2-y^2).
+ {array0}: first cell area
+ {array1}: second cell area
 @SEEALSO=SUMSQ,SUMX2PY2
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMX2PY2
- SYNTAX=SUMX2PY2(array1,array2)
- DESCRIPTION=SUMX2PY2 function returns the sum of the sum of squares of corresponding values in two arrays. @array1 is the first array or range of data points and @array2 is the second array or range of data points. The equation of SUMX2PY2 is SUM (x^2+y^2).
-
-* Strings and empty cells are simply ignored.
-* If @array1 and @array2 have different number of data points, SUMX2PY2 returns #N/A error.
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.  Then
-SUMX2PY2(A1:A5,B1:B5) equals 7149.
-
+ SYNTAX=SUMX2PY2(array0,array1)
+ DESCRIPTION=SUMX2PY2 function returns the sum of the sum of squares of corresponding values in two arrays. The equation of SUMX2PY2 is SUM(x^2+y^2).
+ {array0}: first cell area
+ {array1}: second cell area
 @SEEALSO=SUMSQ,SUMX2MY2
 
 @CATEGORY=Mathematics
 @FUNCTION=SUMXMY2
- SYNTAX=SUMXMY2(array1,array2)
- DESCRIPTION=SUMXMY2 function returns the sum of squares of differences of corresponding values in two arrays. @array1 is the first array or range of data points and @array2 is the second array or range of data points. The equation of SUMXMY2 is SUM (x-y)^2.
-
-* Strings and empty cells are simply ignored.
-* If @array1 and @array2 have different number of data points, SUMXMY2 returns #N/A error.
-* This function is Excel compatible.
-
- EXAMPLES=
-Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.  Then
-SUMXMY2(A1:A5,B1:B5) equals 409.
-
+ SYNTAX=SUMXMY2(array0,array1)
+ DESCRIPTION=SUMXMY2 function returns the sum of the squares of the differences of corresponding values in two arrays. The equation of SUMXMY2 is SUM((x-y)^2).
+ {array0}: first cell area
+ {array1}: second cell area
 @SEEALSO=SUMSQ,SUMX2MY2,SUMX2PY2
 
 @CATEGORY=Mathematics
 @FUNCTION=TAN
- SYNTAX=TAN(x)
- DESCRIPTION=TAN function returns the tangent of @x, where @x is given in radians.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TAN(3) equals -0.1425465.
-
- SEEALSO=TANH, COS, COSH, SIN, SINH, DEGREES, RADIANS
+ SEEALSO=TANH,COS,COSH,SIN,SINH,DEGREES,RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=TANH
- SYNTAX=TANH(x)
- DESCRIPTION=TANH function returns the hyperbolic tangent of @x, which is defined mathematically as 
-
-	sinh(@x) / cosh(@x).
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TANH(2) equals 0.96402758.
-
 @SEEALSO=TAN, SIN, SINH, COS, COSH, DEGREES, RADIANS
 
 @CATEGORY=Mathematics
 @FUNCTION=TRUNC
- SYNTAX=TRUNC(number[,digits])
- DESCRIPTION=TRUNC function returns the value of @number truncated to the number of digits specified.
-
-* If @digits is omitted or negative then @digits defaults to zero.
-* If @digits is not an integer, it is truncated.
-* This function is Excel compatible.
- 
- EXAMPLES=
-TRUNC(3.12) equals 3.
-TRUNC(4.15,1) equals 4.1.
-
 @SEEALSO=INT
 
 @CATEGORY=Number Theory
 @FUNCTION=ISPRIME
- SYNTAX=ISPRIME(i)
- DESCRIPTION=ISPRIME function returns TRUE if @i is prime and FALSE otherwise.
-
- EXAMPLES=
- SEEALSO=ITHPRIME, NT_D, NT_SIGMA
+ SYNTAX=ISPRIME(n)
+ DESCRIPTION=ISPRIME returns TRUE if @{n} is prime and FALSE otherwise.
+ {n}: positive integer
+ SEEALSO=NT_D, NT_SIGMA
 
 @CATEGORY=Number Theory
 @FUNCTION=ITHPRIME
 @SYNTAX=ITHPRIME(i)
- DESCRIPTION=ITHPRIME function returns the @ith prime.
-
- EXAMPLES=
- SEEALSO=NT_D, NT_SIGMA
+ DESCRIPTION=ITHPRIME finds the @{i}th prime.
+ {i}: positive integer
+ SEEALSO=NT_D,NT_SIGMA
 
 @CATEGORY=Number Theory
 @FUNCTION=NT_D
 @SYNTAX=NT_D(n)
- DESCRIPTION=NT_D function calculates the number of divisors of @n.
-
- EXAMPLES=
- SEEALSO=ITHPRIME, NT_PHI, NT_SIGMA
+ DESCRIPTION=NT_D calculates the number of divisors of @{n}.
+ {n}: positive integer
+ SEEALSO=ITHPRIME,NT_PHI,NT_SIGMA
 
 @CATEGORY=Number Theory
 @FUNCTION=NT_MU
 @SYNTAX=NT_MU(n)
- DESCRIPTION=NT_MU function (Möbius mu function) returns 
-0  if @n is divisible by the square of a prime .
-Otherwise it returns: 
-
-  -1 if @n has an odd  number of different prime factors .
-   1  if @n has an even number of different prime factors .
-
-* If @n = 1 NT_MU returns 1.
-
- EXAMPLES=
- SEEALSO=NT_D, ITHPRIME, NT_PHI
+ DESCRIPTION=NT_MU function (Möbius mu function) returns 0  if @{n} is divisible by the square of a prime. Otherwise, if @{n} has an odd  number of different prime factors, NT_MU returns -1, and if @{n} has an even number of different prime factors, it returns 1. If @{n} = 1, NT_MU returns 1.
+ {n}: positive integer
+ SEEALSO=ITHPRIME,NT_PHI,NT_SIGMA,NT_D
 
 @CATEGORY=Number Theory
 @FUNCTION=NT_PHI
- SYNTAX=NT_PHI(n)
- DESCRIPTION=NT_PHI function calculates the number of integers less than or equal to @n that are relatively prime to @n.
-
- EXAMPLES=
- SEEALSO=NT_D, ITHPRIME, NT_SIGMA
+ SEEALSO=NT_D,ITHPRIME,NT_SIGMA
 
 @CATEGORY=Number Theory
 @FUNCTION=NT_PI
 @SYNTAX=NT_PI(n)
- DESCRIPTION=NT_PI function returns the number of primes less than or equal to @n.
-
- EXAMPLES=
- SEEALSO=ITHPRIME, NT_PHI, NT_D, NT_SIGMA
+ DESCRIPTION=NT_PI returns the number of primes less than or equal to @{n}.
+ {n}: positive integer
+ SEEALSO=ITHPRIME,NT_PHI,NT_D,NT_SIGMA
 
 @CATEGORY=Number Theory
 @FUNCTION=NT_SIGMA
 @SYNTAX=NT_SIGMA(n)
- DESCRIPTION=NT_SIGMA function calculates the sum of the divisors of @n.
-
- EXAMPLES=
- SEEALSO=NT_D, ITHPRIME, NT_PHI
+ DESCRIPTION=NT_SIGMA calculates the sum of the divisors of @{n}.
+ {n}: positive integer
+ SEEALSO=NT_D,ITHPRIME,NT_PHI
 
 @CATEGORY=Number Theory
 @FUNCTION=PFACTOR
 @SYNTAX=PFACTOR(n)
- DESCRIPTION=PFACTOR function returns the smallest prime factor of its argument.
-
-The argument must be at least 2, or else a #VALUE! error is returned.
-
- EXAMPLES=
+ DESCRIPTION=PFACTOR finds the smallest prime factor of its argument.
+ {n}: positive integer
 @SEEALSO=ITHPRIME
 
 @CATEGORY=Random Numbers
 @FUNCTION=RAND
- SYNTAX=RAND()
- DESCRIPTION=RAND returns a random number between zero and one.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-RAND() returns a random number greater than zero but less than one.
-
 @SEEALSO=RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDBERNOULLI
- SYNTAX=RANDBERNOULLI(p)
- DESCRIPTION=RANDBERNOULLI returns a Bernoulli-distributed random number.
-
-* If @p < 0 or @p > 1 RANDBERNOULLI returns #NUM! error.
-
- EXAMPLES=
-RANDBERNOULLI(0.5).
-
 @SEEALSO=RAND,RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDBETA
- SYNTAX=RANDBETA(a,b)
- DESCRIPTION=RANDBETA returns a Beta-distributed random number.
-
- EXAMPLES=
-RANDBETA(1,2).
-
 @SEEALSO=RAND,RANDGAMMA
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDBETWEEN
- SYNTAX=RANDBETWEEN(bottom,top)
- DESCRIPTION=RANDBETWEEN function returns a random integer number between and including @bottom and @top.
-
-* If @bottom is non-integer, it is rounded up.
-* If @top is non-integer, it is rounded down.
-* If @bottom > @top, RANDBETWEEN returns #NUM! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-RANDBETWEEN(3,7).
-
 @SEEALSO=RAND,RANDUNIFORM
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDBINOM
- SYNTAX=RANDBINOM(p,trials)
- DESCRIPTION=RANDBINOM returns a binomially-distributed random number.
-
-* If @p < 0 or @p > 1 RANDBINOM returns #NUM! error.
-* If @trials < 0 RANDBINOM returns #NUM! error. 
- EXAMPLES=
-RANDBINOM(0.5,2).
-
 @SEEALSO=RAND,RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDCAUCHY
- SYNTAX=RANDCAUCHY(a)
- DESCRIPTION=RANDCAUCHY returns a Cauchy-distributed random number with scale parameter a. The Cauchy distribution is also known as the Lorentz distribution.
-
-* If @a < 0 RANDCAUCHY returns #NUM! error.
-
- EXAMPLES=
-RANDCAUCHY(1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDCHISQ
- SYNTAX=RANDCHISQ(nu)
- DESCRIPTION=RANDCHISQ returns a Chi-Square-distributed random number.
-
- EXAMPLES=
-RANDCHISQ(0.5).
-
 @SEEALSO=RAND,RANDGAMMA
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDDISCRETE
- SYNTAX=RANDDISCRETE(val_range[,prob_range])
- DESCRIPTION=RANDDISCRETE returns one of the values in the @val_range. The probabilities for each value are given in the @prob_range.
-
-* If @prob_range is omitted, the uniform discrete distribution is assumed.
-* If the sum of all values in @prob_range is other than one, RANDDISCRETE returns #NUM! error.
-* If @val_range and @prob_range are not the same size, RANDDISCRETE returns #NUM! error.
-* If @val_range or @prob_range is not a range, RANDDISCRETE returns #VALUE! error.
-
- EXAMPLES=
-RANDDISCRETE(A1:A6) returns one of the values in the range A1:A6.
-
+ SYNTAX=RANDDISCRETE(val_range,prob_range)
+ DESCRIPTION=RANDDISCRETE returns one of the values in the @{val_range}. The probabilities for each value are given in the @{prob_range}.
+ {val_range}: possible values of the random variable
+ {prob_range}: probabilities of the corresponding values in @{val_range}, defaults to equal probabilities
 @SEEALSO=RANDBETWEEN,RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDEXP
- SYNTAX=RANDEXP(b)
- DESCRIPTION=RANDEXP returns a exponentially-distributed random number.
-
- EXAMPLES=
-RANDEXP(0.5).
-
 @SEEALSO=RAND,RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDEXPPOW
 @SYNTAX=RANDEXPPOW(a,b)
- DESCRIPTION=RANDEXPPOW returns a random variate from the exponential power distribution with scale parameter @a and exponent @b. The distribution is,
-
-	p(x) dx = {1 over 2 a Gamma(1+1/b)} exp(-|x/a|^b) dx, for x >= 0.
-
-* For @b = 1 this reduces to the Laplace distribution.
-* For @b = 2 it has the same form as a normal distribution with sigma = a/sqrt(2).
-
- EXAMPLES=
-RANDEXPPOW(0.5,0.1).
-
+ DESCRIPTION=For @{b} = 1 the exponential power distribution reduces to the Laplace distribution.
+ {a}: scale parameter of the exponential power distribution
+ {b}: exponent of the exponential power distribution
+ SYNTAX=RANDEXPPOW(a,b))
+ DESCRIPTION=For @{b} = 2 the exponential power distribution reduces to the normal distribution with Ï? = a/sqrt(2)
+ {a}: scale parameter of the exponential power distribution
+ {b}: exponent of the exponential power distribution
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDFDIST
- SYNTAX=RANDFDIST(nu1,nu2)
- DESCRIPTION=RANDFDIST returns a F-distributed random number.
-
- EXAMPLES=
-RANDFDIST(1,2).
-
 @SEEALSO=RAND,RANDGAMMA
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDGAMMA
- SYNTAX=RANDGAMMA(a,b)
- DESCRIPTION=RANDGAMMA returns a Gamma-distributed random number.
-
-* If @a <= 0 RANDGAMMA returns #NUM! error.
-
- EXAMPLES=
-RANDGAMMA(1,2).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDGEOM
- SYNTAX=RANDGEOM(p)
- DESCRIPTION=RANDGEOM returns a geometric-distributed random number. The number of independent trials with probability @p until the first success. The probability distribution for geometric variates is, 
-
-	p(k) =  p (1-p)^(k-1), for k >= 1.
-
-* If @p < 0 or @p > 1 RANDGEOM returns #NUM! error. 
- EXAMPLES=
-RANDGEOM(0.4).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDGUMBEL
- SYNTAX=RANDGUMBEL(a,b[,type])
- DESCRIPTION=RANDGUMBEL returns a Type I or Type II Gumbel-distributed random number. @type is either 1 or 2 and specifies the type of the distribution (Type I or Type II).
-
-* If @type is neither 1 nor 2, RANDGUMBEL returns #NUM! error.
-* If @type is omitted, Type I is assumed.
-
- EXAMPLES=
-RANDGUMBEL(0.5,1,2).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDHYPERG
- SYNTAX=RANDHYPERG(n1,n2,t)
- DESCRIPTION=RANDHYPERG returns a hypergeometric-distributed random number. The probability distribution for hypergeometric random variates is,
-
-	p(k) =  C(n_1,k) C(n_2, t-k) / C(n_1 + n_2,k), 
-
-where C(a,b) = a!/(b!(a-b)!). 
-
-The domain of k is max(0,t-n_2), ..., max(t,n_1).
- EXAMPLES=
-RANDHYPERG(21,1,9).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLANDAU
- SYNTAX=RANDLANDAU()
- DESCRIPTION=RANDLANDAU returns a random variate from the Landau distribution. The probability distribution for Landau random variates is defined analytically by the complex integral,
-
-	p(x) = (1/(2 pi i)) int_{c-i infty}^{c+i infty} ds exp(s log(s) + x s).
-
-For numerical purposes it is more convenient to use the following equivalent form of the integral,
-
-	p(x) = (1/pi) int_0^ infty dt exp(-t log(t) - x t) sin(pi t).
-
- EXAMPLES=
-RANDLANDAU().
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLAPLACE
- SYNTAX=RANDLAPLACE(a)
- DESCRIPTION=RANDLAPLACE returns a Laplace-distributed random number. Laplace distribution is also known as two-sided exponential probability distribution.
-
- EXAMPLES=
-RANDLAPLACE(1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLEVY
- SYNTAX=RANDLEVY(c,alpha[,beta])
- DESCRIPTION=RANDLEVY returns a Levy-distributed random number. If @beta is omitted, it is assumed to be 0.
-
-* For @alpha = 1, @beta=0, we get the Lorentz distribution.
-* For @alpha = 2, @beta=0, we get the normal distribution.
-
-* If @alpha <= 0 or @alpha > 2, RANDLEVY returns #NUM! error.
-* If @beta < -1 or @beta > 1, RANDLEVY returns #NUM! error.
-
- EXAMPLES=
-RANDLEVY(0.5,0.1,1).
-
+ SYNTAX=RANDLEVY(c,α,β)
+ DESCRIPTION=For @{α} = 1, @{β}=0, the Lévy distribution reduces to the Cauchy (or Lorentzian) distribution.
+ {c}: parameter of the Lévy distribution
+ {α}: parameter of the Lévy distribution
+ {β}: parameter of the Lévy distribution, defaults to 0
+ SYNTAX=RANDLEVY(c,α,β))
+ DESCRIPTION=For @{α} = 2, @{β}=0, the Lévy distribution reduces to the normal distribution.
+ {c}: parameter of the Lévy distribution
+ {α}: parameter of the Lévy distribution
+ {β}: parameter of the Lévy distribution, defaults to 0
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLOG
- SYNTAX=RANDLOG(p)
- DESCRIPTION=RANDLOG returns a logarithmic-distributed random number.
-
-* If @p < 0 or @p > 1 RANDLOG returns #NUM! error.
-
- EXAMPLES=
-RANDLOG(0.72).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLOGISTIC
- SYNTAX=RANDLOGISTIC(a)
- DESCRIPTION=RANDLOGISTIC returns a logistic-distributed random number.  The distribution function is,
-
-	p(x) dx = { exp(-x/a) over a (1 + exp(-x/a))^2 } dx for -infty < x < +infty.
-
- EXAMPLES=
-RANDLOGISTIC(1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDLOGNORM
- SYNTAX=RANDLOGNORM(zeta,sigma)
- DESCRIPTION=RANDLOGNORM returns a lognormal-distributed random number.
-
- EXAMPLES=
-RANDLOGNORM(1,2).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDNEGBINOM
- SYNTAX=RANDNEGBINOM(p,failures)
- DESCRIPTION=RANDNEGBINOM returns a negative binomially-distributed random number.
-
-* If @p < 0 or @p > 1, RANDNEGBINOM returns #NUM! error.
-* If @failures < 1, RANDNEGBINOM returns #NUM! error.
-
- EXAMPLES=
-RANDNEGBINOM(0.5,2).
-
 @SEEALSO=RAND,RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDNORM
- SYNTAX=RANDNORM(mean,stdev)
- DESCRIPTION=RANDNORM returns a normal-distributed random number.
-
-* If @stdev < 0 RANDNORM returns #NUM! error.
-
- EXAMPLES=
-RANDNORM(0,1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDNORMTAIL
- SYNTAX=RANDNORMTAIL(a,sigma)
- DESCRIPTION=RANDNORMTAIL returns a random variates from the upper tail of a normal distribution with standard deviation @sigma. The values returned are larger than the lower limit @a, which must be positive. The method is based on Marsaglia's famous rectangle-wedge-tail algorithm (Ann Math Stat 32, 894-899 (1961)), with this aspect explained in Knuth, v2, 3rd ed, p139, 586 (exercise 11).
-
-The probability distribution for normal tail random variates is,
-
-	p(x) dx = {1 over N(a;sigma)} exp (- x^2/(2 sigma^2)) dx,
-
-for x > a where N(a;sigma) is the normalization constant, N(a;sigma) = (1/2) erfc(a / sqrt(2 sigma^2)).
-
- EXAMPLES=
-RANDNORMTAIL(0.5,0.1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDPARETO
- SYNTAX=RANDPARETO(a,b)
- DESCRIPTION=RANDPARETO returns a Pareto-distributed random number.
-
- EXAMPLES=
-RANDPARETO(1,2).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDPOISSON
- SYNTAX=RANDPOISSON(lambda)
- DESCRIPTION=RANDPOISSON returns a Poisson-distributed random number.
-
-* If @lambda < 0 RANDPOISSON returns #NUM! error.
-
- EXAMPLES=
-RANDPOISSON(3).
-
 @SEEALSO=RAND,RANDBETWEEN
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDRAYLEIGH
- SYNTAX=RANDRAYLEIGH(sigma)
- DESCRIPTION=RANDRAYLEIGH returns a Rayleigh-distributed random number.
-
- EXAMPLES=
-RANDRAYLEIGH(1).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDRAYLEIGHTAIL
- SYNTAX=RANDRAYLEIGHTAIL(a,sigma)
- DESCRIPTION=RANDRAYLEIGHTAIL returns  a random variate from the tail of the Rayleigh distribution with scale parameter sigma and a lower limit of a. The distribution is,
-
-	p(x) dx = {x over sigma^2} exp ((a^2 - x^2) /(2 sigma^2)) dx,
-
-for x > a.
-
- EXAMPLES=
-RANDRAYLEIGHTAIL(0.3,1).
-
 @SEEALSO=RAND,RANDRAYLEIGH
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDTDIST
- SYNTAX=RANDTDIST(nu)
- DESCRIPTION=RANDTDIST returns a T-distributed random number.
-
- EXAMPLES=
-RANDTDIST(0.5).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDUNIFORM
- SYNTAX=RANDUNIFORM(a,b)
- DESCRIPTION=RANDUNIFORM returns a random variate from the uniform (flat) distribution from a to b. The distribution is,
-
-	p(x) dx = {1 over (b-a)} dx : for a <= x < b.
-p(x) dx = 0 : for x < a or b <= x.
-* If @a > @b RANDUNIFORM returns #NUM! error.
-
- EXAMPLES=
-RANDUNIFORM(1.4,4.2) returns a random number greater than or equal to 1.4 but less than 4.2.
-
 @SEEALSO=RANDBETWEEN,RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=RANDWEIBULL
- SYNTAX=RANDWEIBULL(a,b)
- DESCRIPTION=RANDWEIBULL returns a Weibull-distributed random number.
-
- EXAMPLES=
-RANDWEIBULL(1,2).
-
 @SEEALSO=RAND
 
 @CATEGORY=Random Numbers
 @FUNCTION=SIMTABLE
- SYNTAX=SIMTABLE(d1, d2, ..., dN)
- DESCRIPTION=SIMTABLE returns one of the values in the given argument list depending on the round number of the simulation tool. When the simulation tool is not activated, SIMTABLE returns @d1.
-
-With the simulation tool and the SIMTABLE function you can test given decision variables. Each SIMTABLE function contains the possible values of a simulation variable. In most valid simulation models you should have the same number of values @dN for all decision variables.  If the simulation is run more rounds than there are values defined, SIMTABLE returns #N/A! error (e.g. if A1 contains `=SIMTABLE(1)' and A2 `=SIMTABLE(1,2)', A1 yields #N/A! error on the second round).
-
+ SYNTAX=SIMTABLE(d1,d2)
+ DESCRIPTION=SIMTABLE returns one of the values in the given argument list depending on the round number of the simulation tool. When the simulation tool is not activated, SIMTABLE returns @{d1}.
+With the simulation tool and the SIMTABLE function you can test given decision variables. Each SIMTABLE function contains the possible values of a simulation variable. In most valid simulation models you should have the same number of values @{dN} for all decision variables.  If the simulation is run more rounds than there are values defined, SIMTABLE returns #N/A! error (e.g. if A1 contains `=SIMTABLE(1)' and A2 `=SIMTABLE(1,2)', A1 yields #N/A! error on the second round).
 The successive use of the simulation tool also requires that you give to the tool at least one input variable having RAND() or any other RAND<distribution name>() function in it. On each round, the simulation tool iterates for the given number of rounds over all the input variables to reevaluate them. On each iteration, the values of the output variables are stored, and when the round is completed, descriptive statistical information is created according to the values.
-
- EXAMPLES=
-SIMTABLE(TRUE,FALSE) returns TRUE on the first simulation round and FALSE on the second round.
-SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
-
- SEEALSO=
+ {d1}: first value
+ {d2}: second value
 
 @CATEGORY=Statistics
 @FUNCTION=AVEDEV
- SYNTAX=AVEDEV(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=STDEV
 
 @CATEGORY=Statistics
 @FUNCTION=AVERAGE
- SYNTAX=AVERAGE(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=SUM, COUNT
 
 @CATEGORY=Statistics
@@ -5425,10 +2822,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=AVERAGEA(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE
 
 @CATEGORY=Statistics
@@ -5437,34 +2830,14 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=BETADIST
- SYNTAX=BETADIST(x,alpha,beta,a,b)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {alpha}: scale parameter
- {beta}: scale parameter
- {a}: optional lower bound, defaults to 0
- {b}: optional upper bound, defaults to 1
 @SEEALSO=BETAINV
 
 @CATEGORY=Statistics
 @FUNCTION=BETAINV
- SYNTAX=BETAINV(p,alpha,beta,a,b)
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {alpha}: scale parameter
- {beta}: scale parameter
- {a}: optional lower bound, defaults to 0
- {b}: optional upper bound, defaults to 1
 @SEEALSO=BETADIST
 
 @CATEGORY=Statistics
 @FUNCTION=BINOMDIST
- SYNTAX=BINOMDIST(n,trials,p,cumulative)
- DESCRIPTION=This function is Excel compatible.
- {n}: number of successes
- {trials}: number of trials
- {p}: probability of success in each trial
- {cumulative}: whether to evaluate the mass function or the cumulative distribution function
 @SEEALSO=POISSON
 
 @CATEGORY=Statistics
@@ -5477,10 +2850,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=The survival function is 1 minus the cumulative distribution function.
 @{x}: 
 @{dof}: number of degrees of freedom
- SYNTAX=CHIDIST(x,dof))
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {dof}: number of degrees of freedom
 @SEEALSO=CHIINV,CHITEST
 
 @CATEGORY=Statistics
@@ -5489,27 +2858,14 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=The survival function is 1 minus the cumulative distribution function.
 @{p}: probability
 @{dof}: number of degrees of freedom
- SYNTAX=CHIINV(p,dof))
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {dof}: number of degrees of freedom
 @SEEALSO=CHIDIST,CHITEST
 
 @CATEGORY=Statistics
 @FUNCTION=CHITEST
- SYNTAX=CHITEST(actual_range,theoretical_range)
- DESCRIPTION=This function is Excel compatible.
- {actual_range}: observed data
- {theoretical_range}: expected values
 @SEEALSO=CHIDIST,CHIINV
 
 @CATEGORY=Statistics
 @FUNCTION=CONFIDENCE
- SYNTAX=CONFIDENCE(alpha,stddev,size)
- DESCRIPTION=This function is Excel compatible.
- {alpha}: significance level
- {stddev}: population standard deviation
- {size}: sample size
 @SEEALSO=AVERAGE
 
 @CATEGORY=Statistics
@@ -5518,26 +2874,14 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{array1}: first data set
 @{array2}: second data set
- SYNTAX=CORREL(array1,array2))
- DESCRIPTION=This function is Excel compatible.
- {array1}: first data set
- {array2}: second data set
 @SEEALSO=COVAR,FISHER,FISHERINV
 
 @CATEGORY=Statistics
 @FUNCTION=COUNT
- SYNTAX=COUNT(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE
 
 @CATEGORY=Statistics
 @FUNCTION=COUNTA
- SYNTAX=COUNTA(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,COUNT,DCOUNT,DCOUNTA,PRODUCT,SUM
 
 @CATEGORY=Statistics
@@ -5546,19 +2890,10 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{array1}: first data set
 @{array2}: set data set
- SYNTAX=COVAR(array1,array2))
- DESCRIPTION=This function is Excel compatible.
- {array1}: first data set
- {array2}: set data set
 @SEEALSO=CORREL,FISHER,FISHERINV
 
 @CATEGORY=Statistics
 @FUNCTION=CRITBINOM
- SYNTAX=CRITBINOM(trials,p,alpha)
- DESCRIPTION=This function is Excel compatible.
- {trials}: number of trials
- {p}: probability of success in each trial
- {alpha}: significance level (area of the tail)
 @SEEALSO=BINOMDIST
 
 @CATEGORY=Statistics
@@ -5570,10 +2905,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=DEVSQ(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=STDEV
 
 @CATEGORY=Statistics
@@ -5583,11 +2914,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @{x}: 
 @{y}: scale parameter
 @{cumulative}: whether to evaluate the density function or the cumulative distribution function
- SYNTAX=EXPONDIST(x,y,cumulative))
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {y}: scale parameter
- {cumulative}: whether to evaluate the density function or the cumulative distribution function
 @SEEALSO=POISSON
 
 @CATEGORY=Statistics
@@ -5606,11 +2932,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @{x}: 
 @{dof_of_num}: numerator degrees of freedom
 @{dof_of_denom}: denominator degrees of freedom
- SYNTAX=FDIST(x,dof_of_num,dof_of_denom))
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {dof_of_num}: numerator degrees of freedom
- {dof_of_denom}: denominator degrees of freedom
 @SEEALSO=FINV
 
 @CATEGORY=Statistics
@@ -5620,26 +2941,15 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @{p}: probability
 @{dof_of_num}: numerator degrees of freedom
 @{dof_of_denom}: denomiantor degrees of freedom
- SYNTAX=FINV(p,dof_of_num,dof_of_denom))
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {dof_of_num}: numerator degrees of freedom
- {dof_of_denom}: denomiantor degrees of freedom
 @SEEALSO=FDIST
 
 @CATEGORY=Statistics
 @FUNCTION=FISHER
- SYNTAX=FISHER(x)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- SEEALSO=SKEW
+ SEEALSO=FISHERINV,ATANH
 
 @CATEGORY=Statistics
 @FUNCTION=FISHERINV
- SYNTAX=FISHERINV(x)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- SEEALSO=FISHER
+ SEEALSO=FISHER,TANH
 
 @CATEGORY=Statistics
 @FUNCTION=FORECAST
@@ -5648,11 +2958,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @{x}: x-value whose matching y-value should be forecast
 @{known_y's}: known y-values
 @{known_x's}: known x-values
- SYNTAX=FORECAST(x,known_y's,known_x's))
- DESCRIPTION=This function is Excel compatible.
- {x}: x-value whose matching y-value should be forecast
- {known_y's}: known y-values
- {known_x's}: known x-values
 @SEEALSO=INTERCEPT,TREND
 
 @CATEGORY=Statistics
@@ -5665,43 +2970,21 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=If the @{bin_array} is empty, this function returns the number of data points in @{data_array}.
 @{data_array}: data values
 @{bins_array}: array of cutoff values
- SYNTAX=FREQUENCY(data_array,bins_array)))
- DESCRIPTION=This function is Excel compatible.
- {data_array}: data values
- {bins_array}: array of cutoff values
 
 @CATEGORY=Statistics
 @FUNCTION=FTEST
- SYNTAX=FTEST(array1,array2)
- DESCRIPTION=This function is Excel compatible.
- {array1}: sample from the first population
- {array2}: sample from the second population
 @SEEALSO=FDIST,FINV
 
 @CATEGORY=Statistics
 @FUNCTION=GAMMADIST
- SYNTAX=GAMMADIST(x,alpha,beta,cumulative)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {alpha}: scale parameter
- {beta}: scale parameter
- {cumulative}: whether to evaluate the density function or the cumulative distribution function
 @SEEALSO=GAMMAINV
 
 @CATEGORY=Statistics
 @FUNCTION=GAMMAINV
- SYNTAX=GAMMAINV(p,alpha,beta)
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {alpha}: scale parameter
- {beta}: scale parameter
 @SEEALSO=GAMMADIST
 
 @CATEGORY=Statistics
 @FUNCTION=GAMMALN
- SYNTAX=GAMMALN(x)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
 @SEEALSO=POISSON
 
 @CATEGORY=Statistics
@@ -5714,10 +2997,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=The geometric mean is equal to the Nth root of the product of the N values.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=GEOMEAN(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,HARMEAN,MEDIAN,MODE,TRIMMEAN
 
 @CATEGORY=Statistics
@@ -5742,29 +3021,14 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=The harmonic mean of N data points is  N divided by the sum of the reciprocals of the data points).
 @{number1}: first value
 @{number2}: second value
- SYNTAX=HARMEAN(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,GEOMEAN,MEDIAN,MODE,TRIMMEAN
 
 @CATEGORY=Statistics
 @FUNCTION=HYPGEOMDIST
- SYNTAX=HYPGEOMDIST(x,n,M,N,cumulative)
- DESCRIPTION=This function is Excel compatible.
- {x}: number of successes
- {n}: sample size
- {M}: number of possible successes in the population
- {N}: population size
- {cumulative}: whether to evaluate the mass function or the cumulative distribution function
 @SEEALSO=BINOMDIST,POISSON
 
 @CATEGORY=Statistics
 @FUNCTION=INTERCEPT
- SYNTAX=INTERCEPT(known_y's,known_x's)
- DESCRIPTION=This function is Excel compatible.
- {known_y's}: known y-values
- {known_x's}: known x-values
 @SEEALSO=FORECAST,TREND
 
 @CATEGORY=Statistics
@@ -5773,10 +3037,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=KURT(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,VAR,SKEW,KURTP
 
 @CATEGORY=Statistics
@@ -5797,10 +3057,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=LARGE
- SYNTAX=LARGE(data,k)
- DESCRIPTION=This function is Excel compatible.
- {data}: data set
- {k}: which value to find
 @SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,SMALL
 
 @CATEGORY=Statistics
@@ -5855,11 +3111,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=LOGINV
- SYNTAX=LOGINV(p,mean,stddev)
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {mean}: mean
- {stddev}: standard deviation
 @SEEALSO=EXP,LN,LOG,LOG10,LOGNORMDIST
 
 @CATEGORY=Statistics
@@ -5868,11 +3119,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=LOGNORMDIST
- SYNTAX=LOGNORMDIST(x,mean,stddev)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {mean}: mean
- {stddev}: standard deviation
 @SEEALSO=NORMDIST
 
 @CATEGORY=Statistics
@@ -5893,10 +3139,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=MAX
- SYNTAX=MAX(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=MIN,ABS
 
 @CATEGORY=Statistics
@@ -5905,10 +3147,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=MAXA(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=MAX,MINA
 
 @CATEGORY=Statistics
@@ -5917,18 +3155,10 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=MEDIAN(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,COUNT,COUNTA,DAVERAGE,MODE,SSMEDIAN,SUM
 
 @CATEGORY=Statistics
 @FUNCTION=MIN
- SYNTAX=MIN(number1,number2)
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=MAX,ABS
 
 @CATEGORY=Statistics
@@ -5937,10 +3167,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=MINA(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=MIN,MAXA
 
 @CATEGORY=Statistics
@@ -5953,52 +3179,26 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=If the data set does not contain any duplicates this function returns a #N/A error.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=MODE(number1,number2)))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,MEDIAN
 
 @CATEGORY=Statistics
 @FUNCTION=NEGBINOMDIST
- SYNTAX=NEGBINOMDIST(f,t,p)
- DESCRIPTION=This function is Excel compatible.
- {f}: number of failures
- {t}: threshold number of successes
- {p}: probability of a success
 @SEEALSO=BINOMDIST,COMBIN,FACT,HYPGEOMDIST,PERMUT
 
 @CATEGORY=Statistics
 @FUNCTION=NORMDIST
- SYNTAX=NORMDIST(x,mean,stddev,cumulative)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {mean}: mean of the distribution
- {stddev}: standard deviation of the distribution
- {cumulative}: whether to evaluate the density function or the cumulative distribution function
 @SEEALSO=POISSON
 
 @CATEGORY=Statistics
 @FUNCTION=NORMINV
- SYNTAX=NORMINV(p,mean,stddev)
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {mean}: mean of the distribution
- {stddev}: standard deviation of the distribution
 @SEEALSO=NORMDIST,NORMSDIST,NORMSINV,STANDARDIZE,ZTEST
 
 @CATEGORY=Statistics
 @FUNCTION=NORMSDIST
- SYNTAX=NORMSDIST(x)
- DESCRIPTION=This function is Excel compatible.
- {x}: 
 @SEEALSO=NORMDIST
 
 @CATEGORY=Statistics
 @FUNCTION=NORMSINV
- SYNTAX=NORMSINV(p)
- DESCRIPTION=This function is Excel compatible.
- {p}: given probability
 @SEEALSO=NORMDIST,NORMINV,NORMSDIST,STANDARDIZE,ZTEST
 
 @CATEGORY=Statistics
@@ -6011,18 +3211,10 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{array1}: first component values
 @{array2}: second component values
- SYNTAX=PEARSON(array1,array2))
- DESCRIPTION=This function is Excel compatible.
- {array1}: first component values
- {array2}: second component values
 @SEEALSO=INTERCEPT,LINEST,RSQ,SLOPE,STEYX
 
 @CATEGORY=Statistics
 @FUNCTION=PERCENTILE
- SYNTAX=PERCENTILE(array,k)
- DESCRIPTION=This function is Excel compatible.
- {array}: data points
- {k}: which percentile to calculate
 @SEEALSO=QUARTILE
 
 @CATEGORY=Statistics
@@ -6031,514 +3223,490 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=PERMUT
- SYNTAX=PERMUT(n,k)
- DESCRIPTION=This function is Excel compatible.
- {n}: size of the base set
- {k}: number of elements in each permutation
 @SEEALSO=COMBIN
 
 @CATEGORY=Statistics
 @FUNCTION=POISSON
- SYNTAX=POISSON(x,mean,cumulative)
- DESCRIPTION=This function is Excel compatible.
- {x}: number of events
- {mean}: mean of the distribution
- {cumulative}: whether to evaluate the mass function or the cumulative distribution function
 @SEEALSO=NORMDIST,WEIBULL
 
 @CATEGORY=Statistics
 @FUNCTION=PROB
- SYNTAX=PROB(x_range,prob_range,lower_limit,upper_limit)
- DESCRIPTION=This function is Excel compatible.
- {x_range}: possible values
- {prob_range}: probabilities of the corresponding values
- {lower_limit}: lower interval limit
- {upper_limit}: upper interval limit, defaults to @{lower_limit}
 @SEEALSO=BINOMDIST,CRITBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=QUARTILE
- SYNTAX=QUARTILE(array,quart)
- DESCRIPTION=This function is Excel compatible.
- {array}: data points
- {quart}: A number from 0 to 4, indicating which quartile to calculate. A value of 0 causes the smallest value of @{array} to be returned.
 @SEEALSO=LARGE,MAX,MEDIAN,MIN,PERCENTILE,SMALL
 
 @CATEGORY=Statistics
 @FUNCTION=R.DBETA
 @SYNTAX=R.DBETA(x,a,b,give_log)
 @DESCRIPTION=This function returns the probability density function of the beta distribution.
- {x}: observation.
+ {x}: observation
 @{a}: the first shape parameter of the distribution
 @{b}: the second scale parameter of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PBETA,R.QBETA
 
 @CATEGORY=Statistics
 @FUNCTION=R.DBINOM
 @SYNTAX=R.DBINOM(x,n,psuc,give_log)
 @DESCRIPTION=This function returns the probability density function of the binomial distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PBINOM,R.QBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.DCAUCHY
 @SYNTAX=R.DCAUCHY(x,location,scale,give_log)
 @DESCRIPTION=This function returns the probability density function of the Cauchy distribution.
- {x}: observation.
+ {x}: observation
 @{location}: the center of the distribution
 @{scale}: the scale parameter of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PCAUCHY,R.QCAUCHY
 
 @CATEGORY=Statistics
 @FUNCTION=R.DCHISQ
 @SYNTAX=R.DCHISQ(x,df,give_log)
 @DESCRIPTION=This function returns the probability density function of the chi-square distribution.
- {x}: observation.
+ {x}: observation
 @{df}: the number of degrees of freedom of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PCHISQ,R.QCHISQ
 
 @CATEGORY=Statistics
 @FUNCTION=R.DEXP
 @SYNTAX=R.DEXP(x,scale,give_log)
 @DESCRIPTION=This function returns the probability density function of the exponential distribution.
- {x}: observation.
+ {x}: observation
 @{scale}: the scale parameter of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PEXP,R.QEXP
 
 @CATEGORY=Statistics
 @FUNCTION=R.DF
 @SYNTAX=R.DF(x,n1,n2,give_log)
 @DESCRIPTION=This function returns the probability density function of the F distribution.
- {x}: observation.
+ {x}: observation
 @{n1}: the first number of degrees of freedom of the distribution
 @{n2}: the second number of degrees of freedom of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PF,R.QF
 
 @CATEGORY=Statistics
 @FUNCTION=R.DGAMMA
 @SYNTAX=R.DGAMMA(x,shape,scale,give_log)
 @DESCRIPTION=This function returns the probability density function of the gamma distribution.
- {x}: observation.
+ {x}: observation
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PGAMMA,R.QGAMMA
 
 @CATEGORY=Statistics
 @FUNCTION=R.DGEOM
 @SYNTAX=R.DGEOM(x,psuc,give_log)
 @DESCRIPTION=This function returns the probability density function of the geometric distribution.
- {x}: observation.
+ {x}: observation
 @{psuc}: the probability of success in each trial
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PGEOM,R.QGEOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.DHYPER
 @SYNTAX=R.DHYPER(x,r,b,n,give_log)
 @DESCRIPTION=This function returns the probability density function of the hypergeometric distribution.
- {x}: observation.
+ {x}: observation
 @{r}: the number of red balls
 @{b}: the number of black balls
 @{n}: the number of balls drawn
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PHYPER,R.QHYPER
 
 @CATEGORY=Statistics
 @FUNCTION=R.DLNORM
 @SYNTAX=R.DLNORM(x,logmean,logsd,give_log)
 @DESCRIPTION=This function returns the probability density function of the log-normal distribution.
- {x}: observation.
- {logmean}: mean of the underlying normal distribution.
- {logsd}: standard deviation of the underlying normal distribution.
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {x}: observation
+ {logmean}: mean of the underlying normal distribution
+ {logsd}: standard deviation of the underlying normal distribution
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PLNORM,R.QLNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.DNBINOM
 @SYNTAX=R.DNBINOM(x,n,psuc,give_log)
 @DESCRIPTION=This function returns the probability density function of the negative binomial distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PNBINOM,R.QNBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.DNORM
 @SYNTAX=R.DNORM(x,mu,sigma,give_log)
 @DESCRIPTION=This function returns the probability density function of the normal distribution.
- {x}: observation.
- {mu}: mean of the distribution.
- {sigma}: standard deviation of the distribution.
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {x}: observation
+ {mu}: mean of the distribution
+ {sigma}: standard deviation of the distribution
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PNORM,R.QNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.DPOIS
 @SYNTAX=R.DPOIS(x,lambda,give_log)
 @DESCRIPTION=This function returns the probability density function of the Poisson distribution.
- {x}: observation.
+ {x}: observation
 @{lambda}: the mean of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PPOIS,R.QPOIS
 
 @CATEGORY=Statistics
 @FUNCTION=R.DT
 @SYNTAX=R.DT(x,n,give_log)
 @DESCRIPTION=This function returns the probability density function of the Student t distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of degrees of freedom of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PT,R.QT
 
 @CATEGORY=Statistics
 @FUNCTION=R.DWEIBULL
 @SYNTAX=R.DWEIBULL(x,shape,scale,give_log)
 @DESCRIPTION=This function returns the probability density function of the Weibull distribution.
- {x}: observation.
+ {x}: observation
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {give_log}: if true, log of the result will be returned instead.  This is useful if the result would otherwise underflow to 0.  Defaults to false.
+ {give_log}: if true, log of the result will be returned instead
 @SEEALSO=R.PWEIBULL,R.QWEIBULL
 
 @CATEGORY=Statistics
 @FUNCTION=R.PBETA
 @SYNTAX=R.PBETA(x,a,b,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the beta distribution.
- {x}: observation.
+ {x}: observation
 @{a}: the first shape parameter of the distribution
 @{b}: the second scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DBETA,R.QBETA
 
 @CATEGORY=Statistics
 @FUNCTION=R.PBINOM
 @SYNTAX=R.PBINOM(x,n,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the binomial distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DBINOM,R.QBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.PCAUCHY
 @SYNTAX=R.PCAUCHY(x,location,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the Cauchy distribution.
- {x}: observation.
+ {x}: observation
 @{location}: the center of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DCAUCHY,R.QCAUCHY
 
 @CATEGORY=Statistics
 @FUNCTION=R.PCHISQ
 @SYNTAX=R.PCHISQ(x,df,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the chi-square distribution.
- {x}: observation.
+ {x}: observation
 @{df}: the number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DCHISQ,R.QCHISQ
 
 @CATEGORY=Statistics
 @FUNCTION=R.PEXP
 @SYNTAX=R.PEXP(x,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the exponential distribution.
- {x}: observation.
+ {x}: observation
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DEXP,R.QEXP
 
 @CATEGORY=Statistics
 @FUNCTION=R.PF
 @SYNTAX=R.PF(x,n1,n2,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the F distribution.
- {x}: observation.
+ {x}: observation
 @{n1}: the first number of degrees of freedom of the distribution
 @{n2}: the second number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DF,R.QF
 
 @CATEGORY=Statistics
 @FUNCTION=R.PGAMMA
 @SYNTAX=R.PGAMMA(x,shape,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the gamma distribution.
- {x}: observation.
+ {x}: observation
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DGAMMA,R.QGAMMA
 
 @CATEGORY=Statistics
 @FUNCTION=R.PGEOM
 @SYNTAX=R.PGEOM(x,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the geometric distribution.
- {x}: observation.
+ {x}: observation
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DGEOM,R.QGEOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.PHYPER
 @SYNTAX=R.PHYPER(x,r,b,n,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the hypergeometric distribution.
- {x}: observation.
+ {x}: observation
 @{r}: the number of red balls
 @{b}: the number of black balls
 @{n}: the number of balls drawn
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DHYPER,R.QHYPER
 
 @CATEGORY=Statistics
 @FUNCTION=R.PLNORM
 @SYNTAX=R.PLNORM(x,logmean,logsd,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the log-normal distribution.
- {x}: observation.
- {logmean}: mean of the underlying normal distribution.
- {logsd}: standard deviation of the underlying normal distribution.
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {x}: observation
+ {logmean}: mean of the underlying normal distribution
+ {logsd}: standard deviation of the underlying normal distribution
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DLNORM,R.QLNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.PNBINOM
 @SYNTAX=R.PNBINOM(x,n,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the negative binomial distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DNBINOM,R.QNBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.PNORM
 @SYNTAX=R.PNORM(x,mu,sigma,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the normal distribution.
- {x}: observation.
- {mu}: mean of the distribution.
- {sigma}: standard deviation of the distribution.
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {x}: observation
+ {mu}: mean of the distribution
+ {sigma}: standard deviation of the distribution
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DNORM,R.QNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.PPOIS
 @SYNTAX=R.PPOIS(x,lambda,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the Poisson distribution.
- {x}: observation.
+ {x}: observation
 @{lambda}: the mean of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DPOIS,R.QPOIS
 
 @CATEGORY=Statistics
 @FUNCTION=R.PT
 @SYNTAX=R.PT(x,n,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the Student t distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DT,R.QT
 
 @CATEGORY=Statistics
 @FUNCTION=R.PWEIBULL
 @SYNTAX=R.PWEIBULL(x,shape,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the cumulative distribution function of the Weibull distribution.
- {x}: observation.
+ {x}: observation
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DWEIBULL,R.QWEIBULL
 
 @CATEGORY=Statistics
 @FUNCTION=R.QBETA
 @SYNTAX=R.QBETA(p,a,b,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the beta distribution.
- {p}: probability.
+ {p}: probability
 @{a}: the first shape parameter of the distribution
 @{b}: the second scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DBETA,R.PBETA
 
 @CATEGORY=Statistics
 @FUNCTION=R.QBINOM
 @SYNTAX=R.QBINOM(x,n,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the binomial distribution.
- {x}: observation.
+ {x}: observation
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DBINOM,R.PBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.QCAUCHY
 @SYNTAX=R.QCAUCHY(p,location,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Cauchy distribution.
- {p}: probability.
+ {p}: probability
 @{location}: the center of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DCAUCHY,R.PCAUCHY
 
 @CATEGORY=Statistics
 @FUNCTION=R.QCHISQ
 @SYNTAX=R.QCHISQ(p,df,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the chi-square distribution.
- {p}: probability.
+ {p}: probability
 @{df}: the number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DCHISQ,R.PCHISQ
 
 @CATEGORY=Statistics
 @FUNCTION=R.QEXP
 @SYNTAX=R.QEXP(p,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the exponential distribution.
- {p}: probability.
+ {p}: probability
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DEXP,R.PEXP
 
 @CATEGORY=Statistics
 @FUNCTION=R.QF
 @SYNTAX=R.QF(x,n1,n2,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the F distribution.
- {x}: observation.
+ {x}: observation
 @{n1}: the first number of degrees of freedom of the distribution
 @{n2}: the second number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DF,R.PF
 
 @CATEGORY=Statistics
 @FUNCTION=R.QGAMMA
 @SYNTAX=R.QGAMMA(p,shape,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the gamma distribution.
- {p}: probability.
+ {p}: probability
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DGAMMA,R.PGAMMA
 
 @CATEGORY=Statistics
 @FUNCTION=R.QGEOM
 @SYNTAX=R.QGEOM(p,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the geometric distribution.
- {p}: probability.
+ {p}: probability
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DGEOM,R.PGEOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.QHYPER
 @SYNTAX=R.QHYPER(p,r,b,n,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the hypergeometric distribution.
- {p}: probability.
+ {p}: probability
 @{r}: the number of red balls
 @{b}: the number of black balls
 @{n}: the number of balls drawn
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DHYPER,R.PHYPER
 
 @CATEGORY=Statistics
 @FUNCTION=R.QLNORM
 @SYNTAX=R.QLNORM(x,logmean,logsd,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the log-normal distribution.
- {x}: observation.
- {logmean}: mean of the underlying normal distribution.
- {logsd}: standard deviation of the underlying normal distribution.
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {x}: observation
+ {logmean}: mean of the underlying normal distribution
+ {logsd}: standard deviation of the underlying normal distribution
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DLNORM,R.PLNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.QNBINOM
 @SYNTAX=R.QNBINOM(p,n,psuc,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the negative binomial distribution.
- {p}: probability.
+ {p}: probability
 @{n}: the number of trials
 @{psuc}: the probability of success in each trial
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DNBINOM,R.PNBINOM
 
 @CATEGORY=Statistics
 @FUNCTION=R.QNORM
 @SYNTAX=R.QNORM(p,mu,sigma,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the normal distribution.
- {p}: probability.
- {mu}: mean of the distribution.
- {sigma}: standard deviation of the distribution.
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {p}: probability
+ {mu}: mean of the distribution
+ {sigma}: standard deviation of the distribution
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DNORM,R.PNORM
 
 @CATEGORY=Statistics
 @FUNCTION=R.QPOIS
 @SYNTAX=R.QPOIS(p,lambda,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Poisson distribution.
- {p}: probability.
+ {p}: probability
 @{lambda}: the mean of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DPOIS,R.PPOIS
 
 @CATEGORY=Statistics
 @FUNCTION=R.QT
 @SYNTAX=R.QT(p,n,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Student t distribution.
- {p}: probability.
+ {p}: probability
 @{n}: the number of degrees of freedom of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DT,R.PT
 
 @CATEGORY=Statistics
 @FUNCTION=R.QWEIBULL
 @SYNTAX=R.QWEIBULL(p,shape,scale,lower_tail,log_p)
 @DESCRIPTION=This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Weibull distribution.
- {p}: probability.
+ {p}: probability
 @{shape}: the shape parameter of the distribution
 @{scale}: the scale parameter of the distribution
- {lower_tail}: if true (the default), the lower tail of the distribution is considered.
- {log_p}: if true, log of the probability is used.  This is useful if the probability would otherwise underflow to 0.  Defaults to false.
+ {lower_tail}: if true (the default), the lower tail of the distribution is considered
+ {log_p}: if true, log of the probability is used
 @SEEALSO=R.DWEIBULL,R.PWEIBULL
 
 @CATEGORY=Statistics
 @FUNCTION=RANK
- SYNTAX=RANK(x,ref,order)
- DESCRIPTION=This function is Excel compatible.
- {x}: number whose rank you want to find
- {ref}: list of numbers
- {order}: If this is 0, numbers are ranked in descending order, otherwise numbers are ranked in ascending order.
 @SEEALSO=PERCENTRANK
 
 @CATEGORY=Statistics
@@ -6555,10 +3723,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{array1}: first component values
 @{array2}: second component values
- SYNTAX=RSQ(array1,array2))
- DESCRIPTION=This function is Excel compatible.
- {array1}: first component values
- {array2}: second component values
 @SEEALSO=CORREL,COVAR,INTERCEPT,LINEST,LOGEST,PEARSON,SLOPE,STEYX,TREND
 
 @CATEGORY=Statistics
@@ -6567,10 +3731,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Strings and empty cells are simply ignored.
 @{number1}: first value
 @{number2}: second value
- SYNTAX=SKEW(number1,number2))
- DESCRIPTION=This function is Excel compatible.
- {number1}: first value
- {number2}: second value
 @SEEALSO=AVERAGE,VAR,SKEWP,KURT
 
 @CATEGORY=Statistics
@@ -6583,18 +3743,10 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=SLOPE
- SYNTAX=SLOPE(known_y's,known_x's)
- DESCRIPTION=This function is Excel compatible.
- {known_y's}: known y-values
- {known_x's}: known x-values
 @SEEALSO=STDEV,STDEVPA
 
 @CATEGORY=Statistics
 @FUNCTION=SMALL
- SYNTAX=SMALL(data,k)
- DESCRIPTION=This function is Excel compatible.
- {data}: data set
- {k}: which value to find
 @SEEALSO=PERCENTILE,PERCENTRANK,QUARTILE,LARGE
 
 @CATEGORY=Statistics
@@ -6607,11 +3759,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 
 @CATEGORY=Statistics
 @FUNCTION=STANDARDIZE
- SYNTAX=STANDARDIZE(x,mean,stddev)
- DESCRIPTION=This function is Excel compatible.
- {x}: value
- {mean}: mean of the original distribution
- {stddev}: standard deviation of the original distribution
 @SEEALSO=AVERAGE
 
 @CATEGORY=Statistics
@@ -6624,10 +3771,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=To obtain the population standard deviation of a whole population use STDEVP.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=STDEV(area1,area2)))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=AVERAGE,DSTDEV,DSTDEVP,STDEVA,STDEVPA,VAR
 
 @CATEGORY=Statistics
@@ -6644,10 +3787,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=STDEVA(area1,area2))))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=STDEV,STDEVPA
 
 @CATEGORY=Statistics
@@ -6656,10 +3795,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=This is also known as the N-standard deviation
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=STDEVP(area1,area2))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=STDEV,STDEVA,STDEVPA
 
 @CATEGORY=Statistics
@@ -6672,38 +3807,14 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=STDEVPA(area1,area2)))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=STDEVA,STDEVP
 
 @CATEGORY=Statistics
 @FUNCTION=STEYX
- SYNTAX=STEYX(known_y's,known_x's)
- DESCRIPTION=This function is Excel compatible.
- {known_y's}: known y-values
- {known_x's}: known x-values
 @SEEALSO=PEARSON,RSQ,SLOPE
 
 @CATEGORY=Statistics
 @FUNCTION=SUBTOTAL
- SYNTAX=SUBTOTAL(function_nbr,ref1,ref2)
- DESCRIPTION=This function is Excel compatible.
- {function_nbr}: determines which function to use according to the following table:
-	1   AVERAGE
-	2   COUNT
-	3   COUNTA
-	4   MAX
-	5   MIN
-	6   PRODUCT
-	7   STDEV
-	8   STDEVP
-	9   SUM
-	10   VAR
-	11   VARP
- {ref1}: first value
- {ref2}: second value
 @SEEALSO=COUNT,SUM
 
 @CATEGORY=Statistics
@@ -6726,10 +3837,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=The survival function is 1 minus the cumulative distribution function.
 @{p}: probability
 @{dof}: number of degrees of freedom
- SYNTAX=TINV(p,dof))
- DESCRIPTION=This function is Excel compatible.
- {p}: probability
- {dof}: number of degrees of freedom
 @SEEALSO=TDIST,TTEST
 
 @CATEGORY=Statistics
@@ -6742,20 +3849,10 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=If @{fraction}=0.2 and the data set contains 40 numbers, 8 numbers are trimmed from the data set (40 x 0.2): the 4 largest and the 4 smallest. To avoid a bias, the number of points to be excluded is always rounded down to the nearest even number.
 @{ref}: list of numbers whose mean you want to calculate
 @{fraction}: fraction of the data set excluded from the mean
- SYNTAX=TRIMMEAN(ref,fraction))
- DESCRIPTION=This function is Excel compatible.
- {ref}: list of numbers whose mean you want to calculate
- {fraction}: fraction of the data set excluded from the mean
 @SEEALSO=AVERAGE,GEOMEAN,HARMEAN,MEDIAN,MODE
 
 @CATEGORY=Statistics
 @FUNCTION=TTEST
- SYNTAX=TTEST(array1,array2,tails,type)
- DESCRIPTION=This function is Excel compatible.
- {array1}: sample from the first population
- {array2}: sample from the second population
- {tails}: number of tails to consider
- {type}: Type of test to perform. 1 indicates a test for paired variables, 2 a test of unpaired variables with equal variances, and 3 a test of unpaired variables with unequal variances
 @SEEALSO=FDIST,FINV
 
 @CATEGORY=Statistics
@@ -6764,10 +3861,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=VAR is also known as the N-1-variance. Under reasonable conditions, it is the maximum-likelihood estimator for the true variance.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=VAR(area1,area2))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=VARP,STDEV
 
 @CATEGORY=Statistics
@@ -6784,10 +3877,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=VARA(area1,area2))))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=VAR,VARPA
 
 @CATEGORY=Statistics
@@ -6808,10 +3897,6 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @DESCRIPTION=Numbers, text and logical values are included in the calculation too. If the cell contains text or the argument evaluates to FALSE, it is counted as value zero (0). If the argument evaluates to TRUE, it is counted as one (1). Note that empty cells are not counted.
 @{area1}: first cell area
 @{area2}: second cell area
- SYNTAX=VARPA(area1,area2)))
- DESCRIPTION=This function is Excel compatible.
- {area1}: first cell area
- {area2}: second cell area
 @SEEALSO=VARA,VARP
 
 @CATEGORY=Statistics
@@ -6822,363 +3907,257 @@ SIMTABLE(223,225,227,229) returns 227 on the simulation round #3.
 @{alpha}: scale parameter
 @{beta}: scale parameter
 @{cumulative}: whether to evaluate the density function or the cumulative distribution function
- SYNTAX=WEIBULL(x,alpha,beta,cumulative))
- DESCRIPTION=This function is Excel compatible.
- {x}: 
- {alpha}: scale parameter
- {beta}: scale parameter
- {cumulative}: whether to evaluate the density function or the cumulative distribution function
 @SEEALSO=POISSON
 
 @CATEGORY=Statistics
 @FUNCTION=ZTEST
- SYNTAX=ZTEST(ref,x,stddev)
- DESCRIPTION=This function is Excel compatible.
- {ref}: data set
- {x}: mean as given in the null hypothesis
- {stddev}: population stadard deviation, defaults to the sample standard deviation
 @SEEALSO=CONFIDENCE,NORMDIST,NORMINV,NORMSDIST,NORMSINV,STANDARDIZE
 
 @CATEGORY=String
 @FUNCTION=ASC
- SYNTAX=ASC(string)
- DESCRIPTION=ASC a compatibility function that is meaningless in Gnumeric.  In MS Excel (tm) it converts 2 byte @string into single byte text.
-
- EXAMPLES=
-CHAR("Foo") equals "Foo".
-
- SEEALSO=
+ SYNTAX=ASC(text)
+ DESCRIPTION=ASC converts full-width katakana and ASCII characters to half-width equivalent characters, copying all others. 
+ {text}: string
+ SYNTAX=ASC(text))
+ DESCRIPTION=The distinction between half-width and full-width characters is described in http://www.unicode.org/reports/tr11/.
+ {text}: string
+ SEEALSO=JIS
 
 @CATEGORY=String
 @FUNCTION=CHAR
 @SYNTAX=CHAR(x)
 @DESCRIPTION=CHAR(@{x}) returns the CP1252 (Windows-1252) character with code @{x}.
- {x}: which character to return
+ {x}: code point
 @SYNTAX=CHAR(x))
- DESCRIPTION=@{x} should be in the range 1 to 255.
- {x}: which character to return
+ DESCRIPTION=@{x} must be in the range 1 to 255.
+ {x}: code point
 @SYNTAX=CHAR(x)))
 @DESCRIPTION=CP1252 (Windows-1252) is also known as the "ANSI code page", but it is not an ANSI standard.
- {x}: which character to return
+ {x}: code point
 @SYNTAX=CHAR(x))))
 @DESCRIPTION=CP1252 (Windows-1252) is based on an early draft of ISO-8859-1, and contains all of its printable characters (but partially at different positions.)
- {x}: which character to return
+ {x}: code point
 @SYNTAX=CHAR(x)))))
 @DESCRIPTION=This function is Excel compatible.
- {x}: which character to return
+ {x}: code point
 @SEEALSO=CODE
 
 @CATEGORY=String
 @FUNCTION=CLEAN
- SYNTAX=CLEAN(string)
- DESCRIPTION=CLEAN removes any non-printable characters from @string.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-CLEAN("one"\&char(7)) equals "one".
-
- SEEALSO=
 
 @CATEGORY=String
- FUNCTION=CHAR
- SYNTAX=CHAR(c)
- DESCRIPTION=CODE(@{c}) returns the CP1252 (Windows-1252) code point for character @{c}.
- {c}: which character to return
- SYNTAX=CHAR(c))
- DESCRIPTION=@{c} should be a valid CP1252 (Windows-1252) character.
- {c}: which character to return
- SYNTAX=CHAR(c)))
+ FUNCTION=CODE
+ SYNTAX=CODE(c)
+ DESCRIPTION=@{c} must be a valid CP1252 (Windows-1252) character.
+ {c}: character
+ SYNTAX=CODE(c))
 @DESCRIPTION=CP1252 (Windows-1252) is also known as the "ANSI code page", but it is not an ANSI standard.
- {c}: which character to return
- SYNTAX=CHAR(c))))
+ {c}: character
+ SYNTAX=CODE(c)))
 @DESCRIPTION=CP1252 (Windows-1252) is based on an early draft of ISO-8859-1, and contains all of its printable characters (but partially at different positions.)
- {c}: which character to return
- SYNTAX=CHAR(c)))))
+ {c}: character
+ SYNTAX=CODE(c))))
 @DESCRIPTION=This function is Excel compatible.
- {c}: which character to return
+ {c}: character
 @SEEALSO=CHAR
 
 @CATEGORY=String
 @FUNCTION=CONCATENATE
- SYNTAX=CONCATENATE(string1[,string2...])
- DESCRIPTION=CONCATENATE returns the string obtained by concatenation of the given strings.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-CONCATENATE("aa","bb") equals "aabb".
-
- SEEALSO=LEFT, MID, RIGHT
+ SEEALSO=LEFT,MID,RIGHT
 
 @CATEGORY=String
 @FUNCTION=DOLLAR
- SYNTAX=DOLLAR(num[,decimals])
- DESCRIPTION=DOLLAR returns @num formatted as currency.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-DOLLAR(12345) equals "$12,345.00".
-
- SEEALSO=FIXED, TEXT, VALUE
+ SEEALSO=FIXED,TEXT,VALUE
 
 @CATEGORY=String
 @FUNCTION=EXACT
- SYNTAX=EXACT(string1, string2)
- DESCRIPTION=EXACT returns true if @string1 is exactly equal to @string2 (this routine is case sensitive).
-
-* This function is Excel compatible.
-
- EXAMPLES=
-EXACT("key","key") equals TRUE.
-EXACT("key","Key") equals FALSE.
-
- SEEALSO=LEN, SEARCH, DELTA
+ SEEALSO=LEN,SEARCH,DELTA
 
 @CATEGORY=String
 @FUNCTION=FIND
- SYNTAX=FIND(string1,string2[,start])
- DESCRIPTION=FIND returns position of @string1 in @string2 (case-sensitive), searching only from character @start onwards (assuming 1 if omitted).
-
-* This function is Excel compatible.
-
- EXAMPLES=
-FIND("ac","Jack") equals 2.
-
- SEEALSO=EXACT, LEN, MID, SEARCH
+ SEEALSO=EXACT,LEN,MID,SEARCH
 
 @CATEGORY=String
 @FUNCTION=FIXED
- SYNTAX=FIXED(num,[decimals, no_commas])
- DESCRIPTION=FIXED returns @num as a formatted string with @decimals numbers after the decimal point, omitting commas if requested by @no_commas.
-
-* This function is Excel compatible.
+ SEEALSO=TEXT,VALUE,DOLLAR
 
- EXAMPLES=
-FIXED(1234.567,2) equals "1,234.57".
-
- SEEALSO=TEXT, VALUE, DOLLAR
+ CATEGORY=String
+ FUNCTION=JIS
+ SYNTAX=JIS(text)
+ DESCRIPTION=JIS converts half-width katakana and ASCII characters to full-width equivalent characters, copying all others. 
+ {text}: original text
+ SYNTAX=JIS(text))
+ DESCRIPTION=The distinction between half-width and full-width characters is described in http://www.unicode.org/reports/tr11/.
+ {text}: original text
+ SEEALSO=ASC
 
 @CATEGORY=String
 @FUNCTION=LEFT
- SYNTAX=LEFT(text[,num_chars])
- DESCRIPTION=LEFT returns the leftmost @num_chars characters or the left character if @num_chars is not specified.
-
-* This function is Excel compatible.
+ SEEALSO=MID,RIGHT,LEN,MIDB,RIGHTB,LENB
 
- EXAMPLES=
-LEFT("Directory",3) equals "Dir".
-
- SEEALSO=MID, RIGHT
+ CATEGORY=String
+ FUNCTION=LEFTB
+ SEEALSO=MIDB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN
 
 @CATEGORY=String
 @FUNCTION=LEN
- SYNTAX=LEN(string)
- DESCRIPTION=LEN returns the length in characters of the string @string.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-LEN("Helsinki") equals 8.
-
- SEEALSO=CHAR, CODE, LENB
+ SEEALSO=CHAR,CODE,LENB
 
 @CATEGORY=String
 @FUNCTION=LENB
- SYNTAX=LENB(string)
- DESCRIPTION=LENB returns the length in bytes of the string @string.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-LENB("Helsinki") equals 8.
-
 @SEEALSO=CHAR, CODE, LEN
 
 @CATEGORY=String
 @FUNCTION=LOWER
- SYNTAX=LOWER(text)
- DESCRIPTION=LOWER returns a lower-case version of the string in @text.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-LOWER("J. F. Kennedy") equals "j. f. kennedy".
-
 @SEEALSO=UPPER
 
 @CATEGORY=String
 @FUNCTION=MID
- SYNTAX=MID(string, position, length)
- DESCRIPTION=MID returns a substring from @string starting at @position for @length characters.
+ SEEALSO=LEFT,RIGHT,LEN,LEFTB,MIDB,RIGHTB,LENB
 
-* This function is Excel compatible.
-
- EXAMPLES=
-MID("testing",2,3) equals "est".
-
- SEEALSO=LEFT, RIGHT
+ CATEGORY=String
+ FUNCTION=MIDB
+ SEEALSO=LEFTB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN
 
 @CATEGORY=String
 @FUNCTION=PROPER
- SYNTAX=PROPER(string)
- DESCRIPTION=PROPER returns @string with initial of each word capitalised.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-PROPER("j. f. kennedy") equals "J. F. Kennedy".
-
- SEEALSO=LOWER, UPPER
+ SEEALSO=LOWER,UPPER
 
 @CATEGORY=String
 @FUNCTION=REPLACE
- SYNTAX=REPLACE(old,start,num,new)
- DESCRIPTION=REPLACE returns @old with @new replacing @num characters from @start.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-REPLACE("testing",2,3,"*****") equals "t*****ing".
-
- SEEALSO=MID, SEARCH, SUBSTITUTE, TRIM
+ SEEALSO=MID,SEARCH,SUBSTITUTE,TRIM
 
 @CATEGORY=String
 @FUNCTION=REPT
- SYNTAX=REPT(string,num)
- DESCRIPTION=REPT returns @num repetitions of @string.
-
-* This function is Excel compatible.
- 
- EXAMPLES=
-REPT(".",3) equals "...".
-
 @SEEALSO=CONCATENATE
 
 @CATEGORY=String
 @FUNCTION=RIGHT
- SYNTAX=RIGHT(text[,num_chars])
- DESCRIPTION=RIGHT returns the rightmost @num_chars characters or the right character if @num_chars is not specified.
+ SEEALSO=LEFT,MID,LEN,LEFTB,MIDB,RIGHTB,LENB
 
-* This function is Excel compatible.
-
- EXAMPLES=
-RIGHT("end") equals "d".
-RIGHT("end",2) equals "nd".
-
- SEEALSO=MID, LEFT
+ CATEGORY=String
+ FUNCTION=RIGHTB
+ SEEALSO=LEFTB,MIDB,LENB,LEFT,MID,RIGHT,LEN
 
 @CATEGORY=String
 @FUNCTION=SEARCH
- SYNTAX=SEARCH(search_string,text[,start_num])
- DESCRIPTION=SEARCH returns the location of the @search_ string within @text. The search starts  with the @start_num character of text @text.  If @start_num is omitted, it is assumed to be one.  The search is not case sensitive.
-
- search_string can contain wildcard characters (*) and question marks (?). A question mark matches any character and a wildcard matches any string including the empty string.  If you want the actual wildcard or question mark to be found, use tilde (~) before the character.
-
-* If @search_string is not found, SEARCH returns #VALUE! error.
-* If @start_num is less than one or it is greater than the length of @text, SEARCH returns #VALUE! error.
-* This function is Excel compatible.
-
- EXAMPLES=
-SEARCH("c","Cancel") equals 1.
-SEARCH("c","Cancel",2) equals 4.
-
+ SYNTAX=SEARCH(search,text,start)
+ DESCRIPTION=@{search} may contain wildcard characters (*) and question marks (?). A question mark matches any single character, and a wildcard matches any string including the empty string. To search for * or ?, precede the symbol with ~.
+ {search}: search string
+ {text}: search field
+ {start}: starting position, defaults to 1
 @SEEALSO=FIND
 
 @CATEGORY=String
 @FUNCTION=SUBSTITUTE
- SYNTAX=SUBSTITUTE(text, old, new [,num])
- DESCRIPTION=SUBSTITUTE replaces @old with @new in @text.  Substitutions are only applied to instance @num of @old in @text, otherwise every one is changed.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-SUBSTITUTE("testing","test","wait") equals "waiting".
-
- SEEALSO=REPLACE, TRIM
+ SEEALSO=REPLACE,TRIM
 
 @CATEGORY=String
 @FUNCTION=T
- SYNTAX=T(value)
- DESCRIPTION=T returns @value if and only if it is text, otherwise a blank string.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-T("text") equals "text".
-T(64) returns an empty cell.
-
- SEEALSO=CELL, N, VALUE
+ SEEALSO=CELL,N,VALUE
 
 @CATEGORY=String
 @FUNCTION=TEXT
- SYNTAX=TEXT(value,format_text)
- DESCRIPTION=TEXT returns @value as a string with the specified format.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TEXT(3.223,"$0.00") equals "$3.22".
-TEXT(date(1999,4,15),"mmmm, dd, yy") equals "April, 15, 99".
-
- SEEALSO=DOLLAR, FIXED, VALUE
+ SEEALSO=DOLLAR,FIXED,VALUE
 
 @CATEGORY=String
 @FUNCTION=TRIM
- SYNTAX=TRIM(text)
- DESCRIPTION=TRIM returns @text with only single spaces between words.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-TRIM("  a bbb  cc") equals "a bbb cc".
-
- SEEALSO=CLEAN, MID, REPLACE, SUBSTITUTE
+ SEEALSO=CLEAN,MID,REPLACE,SUBSTITUTE
 
 @CATEGORY=String
 @FUNCTION=UNICHAR
- SYNTAX=UNICHAR(x)
- DESCRIPTION=UNICHAR returns the Unicode character represented by the number @x.
-
- EXAMPLES=
-UNICHAR(65) equals A.
-UNICHAR(960) equals a small Greek pi.
-
 @SEEALSO=CHAR,UNICODE,CODE
 
 @CATEGORY=String
 @FUNCTION=UNICODE
- SYNTAX=UNICODE(char)
- DESCRIPTION=UNICODE returns the Unicode number for the character @char.
-
-
- EXAMPLES=
-UNICODE("A") equals 65.
-
 @SEEALSO=UNICHAR,CODE,CHAR
 
 @CATEGORY=String
 @FUNCTION=UPPER
- SYNTAX=UPPER(text)
- DESCRIPTION=UPPER returns a upper-case version of the string in @text.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-UPPER("cancelled") equals "CANCELLED".
-
 @SEEALSO=LOWER
 
 @CATEGORY=String
 @FUNCTION=VALUE
- SYNTAX=VALUE(text)
- DESCRIPTION=VALUE returns numeric value of @text.
-
-* This function is Excel compatible.
-
- EXAMPLES=
-VALUE("$1,000") equals 1000.
-
- SEEALSO=DOLLAR, FIXED, TEXT
+ SEEALSO=DOLLAR,FIXED,TEXT
+
+ CATEGORY=Time Series Analysis
+ FUNCTION=FOURIER
+ SYNTAX=FOURIER(Sequence,Inverse)
+ DESCRIPTION=This array function returns the Fourier or inverse Fourier transform of the given data sequence.
+ {Sequence}:  the data sequence to be transformed
+ {Inverse}: if false, the inverse Fourier transform is calculated. Defaults to false
+ SYNTAX=FOURIER(Sequence,Inverse))
+ DESCRIPTION=The output consists always of one column of complex numbers.
+ {Sequence}:  the data sequence to be transformed
+ {Inverse}: if false, the inverse Fourier transform is calculated. Defaults to false
+
+ CATEGORY=Time Series Analysis
+ FUNCTION=Interpolation
+ SYNTAX=Interpolation(abscissas,ordinates,targets,interpolation)
+ DESCRIPTION=If an interpolation method is used, the number of returned values is one less than the number of targets and the targets values must be given in increasing order.
+ {abscissas}: The abscissas of the data to interpolate.
+ {ordinates}: The ordinates of the data to interpolate.
+ {targets}: The abscissas of the interpolated data.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ SYNTAX=Interpolation(abscissas,ordinates,targets,interpolation))
+ DESCRIPTION=The output consists always of one column of numbers.
+ {abscissas}: The abscissas of the data to interpolate.
+ {ordinates}: The ordinates of the data to interpolate.
+ {targets}: The abscissas of the interpolated data.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ SYNTAX=Interpolation(abscissas,ordinates,targets,interpolation)))
+ DESCRIPTION=Possible interpolation methods are:
+0: linear;
+1: linear with averaging;
+2: staircase;
+3: staircase with averaging;
+4: natural cubic spline;
+5: natural cubic spline with averaging.
+ {abscissas}: The abscissas of the data to interpolate.
+ {ordinates}: The ordinates of the data to interpolate.
+ {targets}: The abscissas of the interpolated data.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ SEEALSO=PERIODOGRAM
+
+ CATEGORY=Time Series Analysis
+ FUNCTION=PERIODOGRAM
+ SYNTAX=PERIODOGRAM(ordinates,filter,abscissas,interpolation,number)
+ DESCRIPTION=If an interpolation method is used, the number of returned values is one less than the number of targets and the targets values must be given in increasing order.
+ {ordinates}: The ordinates of the data to interpolate.
+ {filter}: Window function to  be used, defaults to no window function.
+ {abscissas}: The abscissas of the data to interpolate, defaults to regularly spaced abscissa.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ {number}:  Number of interpolated data points to be used.
+ SYNTAX=PERIODOGRAM(ordinates,filter,abscissas,interpolation,number))
+ DESCRIPTION=The output consists always of one column of numbers.
+ {ordinates}: The ordinates of the data to interpolate.
+ {filter}: Window function to  be used, defaults to no window function.
+ {abscissas}: The abscissas of the data to interpolate, defaults to regularly spaced abscissa.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ {number}:  Number of interpolated data points to be used.
+ SYNTAX=PERIODOGRAM(ordinates,filter,abscissas,interpolation,number)))
+ DESCRIPTION=Possible interpolation methods are:
+0: linear;
+1: linear with averaging;
+2: staircase;
+3: staircase with averaging;
+4: natural cubic spline;
+5: natural cubic spline with averaging.
+ {ordinates}: The ordinates of the data to interpolate.
+ {filter}: Window function to  be used, defaults to no window function.
+ {abscissas}: The abscissas of the data to interpolate, defaults to regularly spaced abscissa.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ {number}:  Number of interpolated data points to be used.
+ SYNTAX=PERIODOGRAM(ordinates,filter,abscissas,interpolation,number))))
+ DESCRIPTION=Possible window functions are:
+0: no filter (rectangular window)
+1: Bartlett (triangular window)
+2: Hahn (cosine window)
+3: Welch (parabolic window)
+ {ordinates}: The ordinates of the data to interpolate.
+ {filter}: Window function to  be used, defaults to no window function.
+ {abscissas}: The abscissas of the data to interpolate, defaults to regularly spaced abscissa.
+ {interpolation}: The method of interpolation to be used, defaults to no interpolation
+ {number}:  Number of interpolated data points to be used.
+ SEEALSO=INTERPOLATION
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]