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

Math Products


GoFast® for Microsoft C

Fast Floating Point Library


Features

  • Fast
  • 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 Microsoft C was carefully designed for high performance operation and ease of use including "link and go" compatibility with Microsoft C compilers -- versions 5.1, 6, 7, and 8. GoFast provides ROMable, reentrant IEEE and ANSI compatible 80x86 floating point support.


 Functionality

GoFast supports reentrant floating point calculations for the Microsoft 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
Microsoft 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.


Enviornment

GoFast for Microsoft 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. This library does not include an initialization routine. GoFast provides two embedded initialization routines -- one that uses software interrupts (EMUINIT.ASM) and one that 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

MSC

GoFast

Add

165

128

Subtract

172

128

Multiply

220

174

Divide

247

194

Sqrt

608

271

Exp

2527

990

Log

2067

987

Sin

2840

697

Cos

2800

713

Tan

2197

1137

Atan

2217

787



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