The mathematical functions in OOo Basic take a numeric argument. All of the standard types are converted to a Double before they are used. Strings may include hexadecimal and octal numbers . The functions are the same as those available in Visual Basic (see Table 3 ).
OOo Basic | VB | VB .NET | Return Value |
---|---|---|---|
ABS | ABS | Math.Abs | The absolute value of a specified number. |
Exp | Exp | Math.Exp | The base of natural logarithms raised to a power. |
Log | Log | Math.Log | The logarithm of a number. In VB .NET you can overload this method to return either the natural (base e) logarithm or that of a specified base. |
Sgn | Sgn | Math.Sign | Integer value indicating the sign of a number. |
Sqr | Sqr | Math.Sqrt | The square root of a number. |
Use the ABS function to determine the absolute value of a number, which you can think of as simply throwing away the leading + or - sign from the front of the number. The geometrical definition of ABS(x) is the distance from x to 0 along a straight line.
ABS(23.33) = 23.33 ABS(-3) = 3 ABS("-1") = 1 'Notice that the string value "-1" is converted to a Double
Use the Sgn function to determine the sign of a number. An integer with the value -1, 0, or 1 is returned if the number is negative, zero, or positive.
Sgn(-37.4) = -1 Sgn(0) = 0 Sgn("4") = 1
The square root of 9 is 3, because 3 multiplied by 3 is 9. Use the Sqr function to get the square root of a number. The Sqr function can't calculate the square root of a negative number-attempting to do so causes a run-time error.
Sqr(100) = 10 Sqr(16) = 4 Sqr(2) = 1.414213562371
Logarithms were devised by John Napier, who lived from 1550 through 1617. Napier devised logarithms to simplify arithmetic calculations, by substituting addition and subtraction for multiplication and division. Logarithms have the following properties:
Log(x*y) = Log(x) + Log(y) Log(x/y) = Log(x) - Log(y) Log(x^y) = y * Log(x)
The Exp function is the inverse of the Log function. For example, Exp(Log(4)) = 4 and Log(Exp(2)) = 2. By design, logarithms turn multiplication problems into addition problems. This allows the use of logarithms as they were originally designed.
Print Exp(Log(12) + Log(3)) '36 = 12 * 3 Print Exp(Log(12) - Log(3)) ' 4 = 12 / 3
Logarithms are defined by the equation y=b^x. It is then said that the logarithm, base b, of y is x. For example, the logarithm base 10, 10^2 = 100 so the logarithm, base 10, of 100 is 2. The natural logarithm, with a base approximated by e=2.71828182845904523536, is frequently used because it has some nice mathematical properties. This is called the "natural logarithm" and is used in OOo Basic. Visual Basic .NET allows you to calculate logarithms of other bases. This is easily done using the formula that the logarithm base b is given by Log(x)/Log(b), regardless of the base of the logarithm that is used.
Logarithms are not as useful as a general shortcut for calculations today, when lots of computing power is available. However, the logarithmic relationship describes the behavior of many natural phenomena. For example, the growth of populations is often described using logarithms, because geometric growth expressed on a logarithmic graph displays as a straight line. Exponentials and logarithms are also used extensively in engineering computations that describe the dynamic behavior of electrical, mechanical, and chemical systems.
The macro in Listing 9 calculates the logarithm of the number x (first argument) to the specified base b (second argument). For example, use LogBase(8, 2) to calculate the log, base 2, of 8 (the answer is 3).
Function LogBase(x, b) As Double LogBase = Log(x) / Log(b) End Function