Products       Learn       Buy       Support       Company
 
  Home > Products > Other Products > GoFast
   
 

Math Products


GoFast® for Microsoft/Protected Mode


Fast Floating Point Library
 

Features

  • Fast
  • Reentrant
  • ROMable
  • Conforms to IEEE 754
  • "Link and Go" compiler support
  • Includes test programs and make file
  • Source code provided


Description

GoFast® for 80x86 Protected Mode is a floating point emulator and library for 80x86 32-bit protected mode and the Microsoft Visual C++ compiler. The GF-MPROT floating point emulator supports any 80x86 protected mode processor, which does not contain floating point support in the processor. The GF-MPROT library may be used with any processor. GoFast provides ROMable, reentrant IEEE and ANSI compatible 80x86
floating point support.


Emulator Functionality

The GF-MPROT emulator matches the functionality of the 80387 coprocessor. GFMPROT gets control through interrupt 7 (coprocessor not present). The GoFast code will then run and process the floating point instruction in software just as the instruction would have been handled in hardware had a floating-point coprocessor been present.

Library Functionality

The GF-MPROT library replaces the library provided with the Microsoft 32-bit compiler. The library provided with the Microsoft 32-bit compiler assumes you are running in an environment with a Microsoft operating system and the application will obtain the code for the floating point routines from a dynamic link library. A dynamic link library is typically not available in an embedded application so the GF-MPROT library is an ideal solution. The GF-MPROT library will use the processor floating point unit if available.

Microsecond timings

 

Function

Double Precision

 

Function

Double Precision

GoFast*3

GoFast*4

GoFast*1

Microsoft*2

%

add

 

29.16

add

 

 

 

subtract

 

30.69

subtract

 

 

 

multiply

 

35.27

multiply

 

 

 

divide

 

37.30

divide

 

 

 

floor

 

69.76

floor

 

 

 

cell

 

69.72

cell

 

 

 

tabs

 

38.37

tabs

 

 

 

sqrt

13.20

84.01

sqrt

0.39

0.61

156%

exp

43.90

169.70

exp

1.10

2.26

205%

log

19.80

86.10

log

1.10

0.99

90%

log10

19.20

85.94

log10

0.93

1.00

108%

sin

15.90

121.96

sin

0.37

0.55

149%

cos

16.00

122.34

cos

0.53

0.61

115%

tan

20.30

49.69

tan

0.73

0.89

122%

asin

33.50

141.13

asin

1.67

1.26

75%

acos

34.10

145.33

acos

1.43

1.27

89%

atan

18.10

82.25

atan

1.10

1.05

95%

atan2

18.10

84.01

atan2

1.10

1.98

180%

Processor:
190Mhz AMD K6 with hardware coprocessor

Note: No single precision timings are shown because the Microsoft library does not support single precision

           *1: GoFast library routines and floating point operations in processor
           *2: Microsoft library and floating point operations in processor
           *3: GoFast emulation and library routines
           *4: GoFast emulation and library routines (40Mhz AMD 386)



     back to top
 
  Register for More Info
 
 

 
Home       Sitemap       Contact