Скачать Improved Floating Point Subroutines for Turbo Pascal

Скачать файл (9,80 Кб)

Improved Floating Point Subroutines for Turbo Pascal

This software package is meant to be a superior alternative for Turbo Pascal's built in floating point library for the "real" format. Programs using the "real" format for intensive numeric computation can benefit from this package when run on a computer without a numeric co-processor. To use this package, you should have Turbo Pascal version 4.0 or later. The library is in the form of a TPU file. To use this library, you need to add the statement "uses rlib;" at the beginning of your program. The library consists of subroutines for floating point multiplication, division, sqrt, sin, cos, arctan, exp and ln. To get the equivalent of x*y in your program, just substitute _mul(x,y). Similarly, to get x/y, use _div(x,y).(x and y can themselves be expressions instead of variables.) To get the other functions, just add an underscore before the equivalent TP definition. For example, _sin(x) for sin(x).

Creating RLIB.TPU

Since TPU files created using different versions of Turbo Pascal are, in general, incompatible with one another, the TPU file has to be compiled using your current version of Turbo Pascal. To create RLIB.TPU, compile RLIB.PAS to disk, making sure that the correct path to the OBJ files which come in this package is specified in the compiler. This package also comes with a program 'TEST.PAS' which can be used to compare this package with Turbo Pascal's. The average speed improvement ranges from 20% for multiplication to about 1200% for sqrt. The "Savage" option is a benchmark to test the accuracy of the routines. The lower the residual error, the better is the accuracy of the routines. This package can be seen to be superior than Turbo Pascal's by running the "Savage" option.

Error Handling

When a floating point error occurs, the type of error and the address where the error occured in the main program are displayed and the program is hal