ABOUT US  |  PRODUCTS  |  LIBRARY  |  CUSTOMERS  |  SUPPORT  |  NEWS  |  DOWNLOADS  |  ORDER  |  CONTACT
 
  Home > Products > Other Products > GoFast
   
 

Math Products


GoFast® for Borland C

Fast Floating Point Library


Features

  • Fast
  • Reentrant
  • ROMable
  • IEEE 754 Format
  • "Link and Go" compiler support
  • Includes C startup code
  • Includes sscanf and sprintf
  • Includes test programs and make file


Description

GoFast® for Borland C was carefully designed for high performance operation and ease of use including "link and go" compatibility with Borland C compilers. GoFast provides ROMable, reentrant IEEE and ANSI compatible 80x86 floating point
support.


Functionality

GoFast supports reentrant floating point calculations for the Borland C++ compiler. GoFast includes the following routines in library format:

  • complete floating point emulator
  • _status87, _clear87, _control87
  • conversion operations
  • sqrt
  • sin, cos, tan
  • asin, acos, atan, atan2
  • sinh, cosh, atanh
  • log, log10
  • exp, pow
  • initialization (DOS version)

GoFast includes the following routines in source form to support linking without the Borland library:
  • sscanf, sprintf
  • floor, ceil, fabs
  • modf, fmod, frexp, ldexp
  • hypot, cabs
  • internal long integer math
  • skeleton startup routine
  • initialization (embedded versions)

The GoFast library routines work for all memory models. The source routines must be compiled with the proper options. The provided GoFast makefile will do this.


Environment

GoFast for Borland C will operate in either a DOS environment or an embedded environment.

In a DOS environment, the GoFast library USEMU.LIB is used. This library includes an automatic initialization routine.

In an embedded environment, the GoFast library USEMUND.LIB is used. library does not include an initialization routine. GoFast provides two embedded initialization routines -- one that uses software interrupts (EMUINIT.ASM) and one uses the "coprocessor not present" interrupt (EMUIR7.ASM). The choice is yours. These initialization routines are ROMable, and provide maximum flexibility for embedded operation.


Considerations

GoFast is primarily designed to facilitate embedded operation. However, it is also tuned for performance. The following table gives the timing of some floating point operations, both with and without GoFast. The times, given in microseconds, were measured using a 16 MHz 386SX.

Function

BCC

GoFast

Add

163

132

Subtract

170

125

Multiply

198

174

Divide

205

198

Sqrt

370

348

Exp

1337

1009

Log

1154

1081

Sin

806

824

Cos

788

806

Tan

1374

1264

Atan

1264

916



GoFast Support

U S Software maintains a test lab where comprehensive confidence tests are performed on GoFast in each target environment. A demonstration test program is included with your product delivery, and you are encouraged to run it on your own target hardware to verify system operation. Phone and fax support are provided with the product. Extended support is also available.

 

     back to top
 
  Register for More Info
 
 

 
HOME  |  SITEMAP  |  CONTACT