Dec 282017

Math functions to accompany xlisp. | |||
---|---|---|---|

File Name | File Size | Zip Size | Zip Type |

XMATH.DOC | 4146 | 1157 | deflated |

XMATH.LSP | 5466 | 1705 | deflated |

# Download File XMATH.ZIP Here

## Contents of the XMATH.DOC file

XLISP Math Library

by

George V. Wilson

This library provides some Common LISP math support for XLISP. It was

written and tested using XLISP ver. 1.6. To load the library from XLISP,

type (load 'math) .

Loading the library will have the following effects.

1. pi will be a global variable with value 3.1415926536

2. A number of XLISP math functions work only for floating point

arguements. The library redefines these to work for with

integer arguements as well (by floating the arguements).

The functions redefined for this reason are:

NAME PURPOSE

------------------------------

sqrt square root

sin sine

cos cosine

tan tangent

exp e to the x

expt x to the y

3. A number of Common LISP math functions are missing from XLISP.

The library adds the following functions:

NAME ARGUEMENTS(type) RETURNS

-----------------------------------------------------------

signum x (number) 1 if x>0

-1 if x<0

0 if x=0

round x (number) x rounded to

an integer

atan x (number) arctan(x)

asin x (number) arcsin(x)

acos x (number) arccos(x)

log x (number)

y (number)(optional) if y is supplied

return is log

base y of x. If

y is not supplied,

return is ln(x)

integerp x (any object) returns T if x is

an integer, NIL

otherwise.

gcd any number of returns the greatest

integer arguements common divisor of

the arguements.

lcm any number of returns the least

integer arguements common multiple

of the arguements.

incf x (number) returns x+y and has

y (number)(optional) also binds x to x+y

4. A non-Common LISP function euclid_gcd is created which was used

in writing gcd. This function finds the gcd of two positive

integers.

5. A global variable named *math_lib_loaded* is created and set to T.

The math library will load only if this variable is unbound. This

prevents loading the library twice, which would destroy the

functions described in 2. above. If the library could be loaded

twice, calling these functions would produce infinite loops.

The new floating point functions should produce full single precision

accuracy. The functions have been carefully tested, but oversights are

always possible. If you have trouble with one of the functions, please

give me a full description of the circumstances at:

George V. Wilson

3932 Lincolnshire St.

Annandale, VA 22003

by

George V. Wilson

This library provides some Common LISP math support for XLISP. It was

written and tested using XLISP ver. 1.6. To load the library from XLISP,

type (load 'math) .

Loading the library will have the following effects.

1. pi will be a global variable with value 3.1415926536

2. A number of XLISP math functions work only for floating point

arguements. The library redefines these to work for with

integer arguements as well (by floating the arguements).

The functions redefined for this reason are:

NAME PURPOSE

------------------------------

sqrt square root

sin sine

cos cosine

tan tangent

exp e to the x

expt x to the y

3. A number of Common LISP math functions are missing from XLISP.

The library adds the following functions:

NAME ARGUEMENTS(type) RETURNS

-----------------------------------------------------------

signum x (number) 1 if x>0

-1 if x<0

0 if x=0

round x (number) x rounded to

an integer

atan x (number) arctan(x)

asin x (number) arcsin(x)

acos x (number) arccos(x)

log x (number)

y (number)(optional) if y is supplied

return is log

base y of x. If

y is not supplied,

return is ln(x)

integerp x (any object) returns T if x is

an integer, NIL

otherwise.

gcd any number of returns the greatest

integer arguements common divisor of

the arguements.

lcm any number of returns the least

integer arguements common multiple

of the arguements.

incf x (number) returns x+y and has

y (number)(optional) also binds x to x+y

4. A non-Common LISP function euclid_gcd is created which was used

in writing gcd. This function finds the gcd of two positive

integers.

5. A global variable named *math_lib_loaded* is created and set to T.

The math library will load only if this variable is unbound. This

prevents loading the library twice, which would destroy the

functions described in 2. above. If the library could be loaded

twice, calling these functions would produce infinite loops.

The new floating point functions should produce full single precision

accuracy. The functions have been carefully tested, but oversights are

always possible. If you have trouble with one of the functions, please

give me a full description of the circumstances at:

George V. Wilson

3932 Lincolnshire St.

Annandale, VA 22003

December 28, 2017
Add comments