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

Math Products


GoFast® for M68K Microtec C


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


Description

GoFast® for Microtec C was carefully designed for high performance operation and ease of use including "link and go" compatibility with the Microtec C compiler. GoFast provides ROMable, reentrant IEEE and ANSI compatible 68K floating point support.

Functionality

GoFast supports reentrant floating point calculations for the Microtec C compiler. GoFast includes the following routines for both single and double precision in library format:

  • intrinsic basic operations + - * /
  • intrinsic conversions
  • sqrt
  • sin, cos, tan
  • asin, acos, atan, atan2
  • sinh, cosh, atanh
  • log, log10, exp, pow
  • floor, ceil, fabs
  • modf, fmod, frexp, ldexp

The following files are included in source format to support GoFast testing:

  • makefile Sample makefile
  • putchr.c To read and display characters
  • start.s Skeleton startup
  • suppa.s Assembly support for putchr.c
  • test1.c Simple test program

Target Processors

GoFast for Microtec C includes two libraries. GoFast16.LIB is a floating point library designed for operation with 68K processors that do not support the 32 bit multiply and divide instructions (e.g. 68000). GoFast.LIB is a floating point library designed for operation with processors that support the 32 bit multiply and divide instructions (e.g. 68020 etc.)

Considerations

GoFast is primarily designed to facilitate embedded operation. However, it is also tuned for performance. The following table gives the timing of some floating point operations, both with the Diab Data floating point library and the GoFast floating point library. The times, given in microseconds, were measured using a 25 MHz 5204 ColdFire processor with three wait states. The version of Diab Data C/C++ compiler used was 4.1a.

Microsecond Timings

Library Function
Single Precision
Double Precision
 
MRI C
w/GF
MRI C
w/GF
add
25
28
51
48
multiply
32
30
73
51
divide
32
28
152
51
sqrt
250
50
712
62
exp
487
62
1550
225
pow
1025
137
3112
437
log
450
62
1587
200
log10
487
62
1650
225
sin
287
62
1187
175
cos
487
75
1675
162
tan
275
62
1212
250
asin
612
100
2337
262
acos
575
100
2237
287
atan
425
75
1737
175




     back to top
 
  Register for More Info
 
 

 
Home       Sitemap       Contact