Math Products
GoFast® for 68HC16
Fast Floating Point Library
Three to Six Times Better Performance of Floating Point Calculations
In Your Embedded and Real-Time Systems(1)
Features
- Fast
- Reentrant
- ROMable
- Conforms to IEEE 754
- Includes single and double precision
- "Link and Go" compiler support
- Includes C startup code
- Includes sscanf and sprintf
- Includes test programs and make files
Description
GoFast® for 68HC16 was carefully designed for high performance operation
and ease of use including "link and go" compatibility with 68HC16 specific C compilers.
GoFast provides full IEEE and ANSI compatible floating point support for the
Motorola 68HC16 processor.
Speed
The HC16 is a fast processor, and GoFast truly shows this. We have measured
the following microsecond timings on a 16.78 MHz 68HC16 evaluation board:
Function |
GoFast |
Whitesmith C |
Introl C |
divide |
226 |
688 |
844 |
sqrt |
171 |
3284 |
4386 |
exp |
1348 |
2343 |
4354 |
log |
1177 |
3015 |
5437 |
sin |
963 |
1437 |
3708 |
Functionality
GoFast contains the following floating point routines in both single and double
precision:
+ - * /
conversion operations
sqrt
sin, cos, tan
asin, acos, atan, atan2
log, log10
exp, pow
floor, ceil, fabs
modf, fmod, frexp, ldexp
Additional support includes a reentrant sscanf and sprintf as well as startup code,
test programs and make files.
Compiler Support
GoFast for 68HC16 includes dropin libraries for "link and go", seamless
operation with the Whitesmith C compiler, Introl C compiler or Archimedes/HI-Cross C
compiler. There is also assembly-level support for Introl, Motorola and Whitesmith.
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.
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.
Technology
GoFast 68HC16 is based on U S Software's "Architecture Independent
Technology" (AIT) and floating point algorithms that the company has been developing
for over decade. The algorithms have been thoroughly tested using automated methods.
The actual machine code is generated by a special floating point translator.
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.
|