Math Products
GoFast® for NEC V85x
Fast Floating Point Library
Features
- Fast
- Reentrant
- ROMable
- Conforms to IEEE 754 Format
- "Link and Go" compiler support for Diab Data C/C++
- Includes startup code
- Includes test programs and make file
Compiler Support
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.
GoFast for NEC V85x includes drop-in libraries for “link and go” seamless operation
with Green Hills C compiler. The GoFast routines directly replace the compiler’s
floating point runtime library routines.
Capabilities and Accuracy
GoFast is reentrant. There is no need to perform any special state save/restore.
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
invalid operations. No unmasked exceptions are supported. Underflow and
precision are not reported. Division by zero is treated as an invalid operation.
GoFast Support
US Software maintains a test lab where comprehensive confidence tests are
performed on GoFast in each target environment. A demonstration test program
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 can be provided
with the product. Extended support is also available.
Functionality
GoFast contains the following floating point routines in both single and double
precision:
add, subtract, multiply, divide
compare operations
conversion operations
sin, cos, tan
asin, acos, atan, atan2
sinh, cosh, tanh
exp, pow
log, log10
fabs, ceil, floor
modf, fmod, frexp, ldexp
Performance
GoFast delivers the optimized performance you can expect with the NEC V85x
processor. The following timings were measured using GoFast library calls with an
NEC V851 processor (at 6.6 MHz external xtal with 33 MHz PLL) on an RTE-V851-PC
board. The test used the Green Hills v1.8.8 compiler.
Microsecond Timings
|
GHS |
GoFast |
GHS |
GoFast |
add |
58 |
24 |
99 |
36 |
subtract |
82 |
28 |
137 |
45 |
multiply |
692 |
126 |
632 |
104 |
divide |
564 |
157 |
2076 |
322 |
sqrt |
1432 |
344 |
8255 |
683 |
exp |
1121 |
210 |
8260 |
923 |
log |
2145 |
285 |
10392 |
1015 |
log10 |
2324 |
306 |
11075 |
1081 |
sin |
942 |
169 |
7409 |
669 |
cos |
1015 |
151 |
7489 |
669 |
tan |
2385 |
317 |
10850 |
1312 |
asin |
4993 |
762 |
24382 |
1846 |
acos |
4912 |
911 |
18789 |
2179 |
atan |
1984 |
283 |
13130 |
847 |
atan2 |
2680 |
424 |
15428 |
1196 |
pow |
3732 |
542 |
19839 |
2003 |
|