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

Math Products


GoFast® for ColdFire and CodeWarrior C/C++


Fast Floating Point Library


Features

  • Fast
  • Reentrant
  • ROMable
  • Conforms to IEEE 754 Format
  • "Link and Go" compiler support for CodeWarrior
  • Includes complete source, test programs, project files, and startup code


Description

GoFast® for ColdFire was carefully designed for high performance operation in embedded applications and ease of use including “link and go” compatibility with the CodeWarrior C/C++ compiler. GoFast provides ROMable, reentrant IEEE and ANSI compatible ColdFire floating point support. It boosts the performance of an application’s math calculations or eliminates the need for a hardware floating-point coprocessor, in order to reduce product manufacturing cost. It is delivered with full assembly source code.

Note:  This version of GoFast uses the ColdFire DIV instruction, which first appeared on the 5206e. Please contact us if you are using an older ColdFire.

Functionality

GoFast ColdFire offers the following reentrant floating point routines, for both single and double precision:

  • 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


Floating Point Technology

GoFast is based on “Architecture Independent Technology” (AIT) and proven floating point algorithms that were developed for over a decade. The algorithms have been thoroughly tested using automated methods.

Conformance and Testing

The accuracy of each GoFast Floating Point Library is within one (least significant) bit for arithmetic functions and two bits for transcendental functions, in most cases. The IEEE 754 Floating Point Format defines special representations for underflow, overflow, and invalid operation. The GoFast routines use these formats and adhere to the IEEE 754 error handling procedures in all applicable cases. Quality assurance and testing procedures have assured proper product operation. In addition, each delivery includes target specific test programs assuring confidence of product operation.

Timings

The following table gives the times for all floating point operations, for GoFast and the CodeWarrior floating point library. The times, in microseconds, were measured using the indicated processor and evaluation board. The basic operations (add, subtract, multiply, divide, conversions, and comparisons) in the CodeWarrior C library are hand-coded and have comparable speed to GoFast. Some are faster, so the CodeWarrior versions are used instead. (If you only need these basic operations, you don’t need GoFast.) Thus, the routines linked are a mixture of both libraries, as indicated in bold below. GoFast provides the greatest benefit for the more complex operations, typically offering a 4 times performance boost, and much higher for some.
 

Microsecond Timings
 

M5275EVB, 150MHz, External SDRAM

 
Double Precision
Single Precision
Function
GoFast
CW
GoFast
CW
add
14.54
12.50
8.81
8.91
subtract
15.42
12.35
9.27
9.41
multiply
18.16
19.29
9.29
10.74
divide
28.3
20.61
13.75
10.36
sqrt
49.30
148.52
26.95
158.78
exp
92.48
357.79
21.93
376.37
log
110.17
383.32
36.56
406.54
log10
116.96
469.26
38.21
477.85
pow
206.19
1257.25
61.17
1321.70
sin
68.98
366.36
22.38
375.83
cos
69.02
374.61
22.16
383.00
tan
116.54
662.16
29.97
656.48
asin
143.08
494.11
55.67
501.04
acos
160.84
439.00
61.81
448.61
atan
91.73
423.69
31.03
423.63
atan2
112.69
486.46
39.69
506.11
sinh
112.08
565.64
31.73
592.64
cosh
110.15
406.27
29.29
431.53
tanh
110.33
546.20
36.16
575.13
modf
16.50
17.26
10.20
28.78
fmod
34.95
109.36
29.43
121.83
fabs
4.58
3.18
3.44
11.90 
floor
7.08
22.36
5.44
29.71
ceil
7.18
22.21
5.46
29.62
ldexp
7.19
18.08
5.76
24.13
frexp
6.14
6.84
5.06
15.89
cmp
7.78
7.12
5.67
4.66
feq/gt/lt...
7.57
6.91
5.63
4.64
fp to long
5.59
5.24
4.75
3.82
fp to ulong
5.61
4.46
4.59
3.05
long to fp
6.73
4.95
5.86
5.47
ulong to fp
9.00
6.77
7.78
6.88
fp to llong
7.13
941.82
6.36
883.37
fp to ullong
7.11
578.60
6.08
549.23
llong to fp
12.88
697.78
13.73
753.11
ullong to fp
13.69
722.47
12.15
676.72
sgl to dbl
6.00
4.00
dbl to sgl
6.72
6.00



GoFast is a registered trademark of Lantronix Inc. ColdFire is a registered trademark of Freescale.

     back to top
 
  Register for More Info
 
 

 
Home       Sitemap       Contact