ABOUT US  |  PRODUCTS  |  LIBRARY  |  PARTNERS  |  SUPPORT  |  NEWS  |  DOWNLOADS  |  ORDER  |  CONTACT
 
  You are here: Home > Products > Other Products > GoFast
   
 

Math Products


GoFast® for R3000/R4000 C Compilers


Fast Floating Point Library


Features

  • Fast
  • Reentrant
  • ROMable
  • Conforms to IEEE 754 Format
  • Includes single and double precision
  • "Link and Go" compiler support
  • Includes startup code
  • Includes complete source, test programs, and make file


Description

GoFastŪ for R3000/R4000 was carefully designed for high performance operation and ease of use including "link and go" compatibility with R3000/R4000 specific C compilers. GoFast provides full IEEE and ANSI compatible floating point support for the MIPS R3000/R4000 architecture.

Floating Point Technology

GoFast for R3000/R4000 is based on U S Software's "Architecture Independent Technology" (AIT) and proven floating point algorithms the company has been developing for over decade. The algorithms have been thoroughly tested using automated methods. GoFast was specifically optimized and integrated for enhanced performance on R3000/R4000 processors.

GoFast libraries are designed for "link and go" operation with each compiler. These libraries provide the user with a significant speed advantage when no floating point coprocessor hardware is available. This is of particular significance in real-time embedded systems.

Compiler Support

GoFast for R3000/R4000 includes libraries for "link and go", seamless operation with R3000/R4000 C compilers from GNU, IDT, and Green Hills.

The GoFast routines directly replace the compiler's floating point runtime library routines. In addition, routines normally not supported by the compiler are available with GoFast. An example might be the single precision version of the functions.

Functionality

GoFast contains the following floating point routines in both single and double precision:

  • conversion operations
  • sqrt
  • sin, cos, tan
  • asin, acos, atan, atan2
  • sinh, cosh, tanh
  • log, log10
  • exp, pow
  • floor, ceil, fabs
  • modf, fmod, frexp, ldexp

Additional support includes test programs and make files.

Capabilities and Accuracy

GoFast is reentrant. These is no need to perform any special state saving or restoring. GoFast is ROMable. GoFast is IEEE 754 and ANSI C compatible.

The basic functions + - * / and the conversions perform the IEEE 754 "nearest or even" rounding exactly. The other functions are accurate within one mantissa unit.

GoFast routines make no distinction between quiet and signaling Not-a-Numbers (NaNs). In the case of an invalid operation, the answer is always a standard quiet NaN.

GoFast routines support IEEE 754 masked exception handling for overflows and invalid operations. No unmasked exceptions are supported. Underflow and loss of precision are not reported. Division by zero is treated as an invalid operation.

Timings

The following table gives the timing, in microseconds, of some floating-point operations in both the R3000 and R4000 evaluation boards.

 
R3000
25 MHz IDT R3000 eval board

R4000
50 MHz IDT R4000 Orion board

Function
double
single
double
single
add
3.6
2.3
0.7
0.7
subtract
6.8
2.8
0.8
0.9
multiply
9.0
3.8
0.7
0.7
divide
18.2
6.6
2.5
1.4
sqrt
24.0
10.1
4.5
2.9
exp
43.4
10.2
3.5
2.4
log
80.2
13.4
5.0
2.9
log10
73.7
14.2
5.2
3.1
sin
39.8
9.2
3.1
2.3
cos
34.2
13.6
3.2
2.1
tan
63.6
13.8
5.5
3.2
asin
94.6
32.4
11.0
6.7
acos
122.5
33.5
13.2
7.7
atan
44.5
13.6
4.7
3.0
atan 2
67.8
18.9
6.8
4.1
pow
118.1
25.7
8.6
5.5




12/28/99     back to top

...............................................................

................................................................

  Register now for more info.
 
 

 
HOME  |  SITEMAP  |  CONTACT