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

Math Products


GoFast® for SH Series


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 SH1, SH2 and SH3 was carefully designed for high performance operation and ease of use including "link and go" compatibility with SH7000 specific C compilers. GoFast provides full IEEE and ANSI compatible floating point support for the Hitachi SH Series architectures.

Floating Point Technology

GoFast for SH Series 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 SH Series C 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 SH Series includes drop-in libraries for "link and go", seamless operation with the SH Series C compilers. GNU compiler support is available for SH1, SH2, and SH3 while Hitachi compiler support is available for SH3 only.

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.

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.

Performance

GoFast delivers the optimized performance you expect with an SH2 library and processor. The following timings were measured using an E7000 emulator at 6.144 MHz, with data and instruction cache enabled.

Microsecond Timings

Function
double
single
add
57.3
36.0
subtract
61.5
38.3
multiply
62.0
33.9
divide
84.5
44.6
sqrt
225.1
76.2
exp
314.7
75.7
log
380.2
91.1
log10
390.8
94.3
sin
273.5
66.6
cos
272.0
65.3
tan
373.0
77.5
asin
520.6
195.4
acos
586.0
216.0
atan
341.9
109.4
atan2
400.2
139.7
pow
577.6
179.7

The following table gives the timing of some floating-point operations in microseconds. The times were measured using the 7708 processor, 15 MHz board and 60MHz CPU.

Microsecond Timings

 
GNU C
with
GoFast
GNU C
with Original
Library
Hitachi C
with
GoFast
Hitachi C
with Original
Library
Function
double
single
double
single
double single double single
add
18.2
12.7
54.8
36.4
17.5
10.8
19.6
10.6
subtract
20.8
13.9
60.8
39.6
19.8
12.4
23.1
10.9
multiply
18.6
11.2
170.2
60.2
17.9
9.7
26.1
9.9
divide
29.8
16.6
158.2
63.4
29.7
15.4
79.9
13.8
sqrt
45.7
27.3
240.9
120.6
44.7
25.9
167.5
57.5
exp
73.2
19.3
2126.8
984.6
65.4
18.1
642.5
310.4
log
97.7
27.6
3159.9
1358.8
88.0
26.4
563.9
270.5
log10
101.0
28.6
3508.0
1535.7
94.7
27.4
588.1
286.0
sin
70.8
19.4
1723.7
714.1
62.0
18.1
359.2
169.3
cos
65.3
19.6
2152.9
950.0
58.0
18.4
335.3
157.1
tan
91.0
25.9
3654.6
1538.3
83.8
24.7
476.6
212.5
asin
113.3
58.1
3931.7
1765.6
106.1
57.1
912.5
385.6
acos
107.3
66.4
3623.0
1569.7
98.6
65.6
934.5
401.5
atan
95.7
29.7
3593.8
1589.7
88.1
28.8
560.6
234.4
atan 2
118.9
39.7
3871.3
1731.0
113.5
38.1
685.2
265.5
pow
153.0
50.2
10172.7
4498.1
146.1
48.8
1268.4
605.1




     back to top
 
  Register for More Info
 
 

 
Home       Sitemap       Contact