STD/Mathlib - Super Optimized Math Library

Prev Top Eyelib DSP/Veclib STD/Mathlib C BLAS 123 C EisPack Compatibility Ordering Next

Notes:

  • The following benchmarks figures between Sinectonalysis, the fastest third party software competitor, and TI’s rts.src library version 4.4 are in processor cycles, assuming 0-wait state SRAM for coefficients and a small memory compilation model. Parameters are passed on stack. Register model functions will run a few cycles faster, while large memory versions will have a 1-2 cycle penalty.
  • Two functions are provided with limited domain in order to enhance performance for [-¹/2,¹/2] subdomain, all other functions operate on full domains.
  • asin and acos are implemented differently on the C40 from Competitor’s or TI’s so that the faster path is used on a larger domain.STD/Mathlib asin and acos run in 26,27 cycles on the interval [-1/sqrt(2),+1/sqrt(2)] instead of interval [-1/2,+1/2]. Therefore the average time for Sinectonalysis functions is smaller than Competitor’s time although the minimum and maximum times for these functions are essentially the same.
  • Results with 7-9+ decimal digits of accuracy are maintained in STD/Mathlib as long as the results are kept in extended-precision registers. The competitor’s and TI’s libraries maintain 6-7 digits of accuracy.
  • The STD/Mathlib achieves maximum performance when “.const” section data is placed in 0WS RAM. If “.const” is placed in slow RAM the libraries incur only a minor performance penalty. For example, exp function will run 5 cycles slower if 1WS RAM is used.
  • No more than 15 words are needed by any one function for coefficient data.

Ordering Guide

STD/Mathlib™ is available in C30 and C40 versions for single user and multiple user PC and workstation hosts.

"X" specifies host and media.

  • STD/Mathlib-ASM-C30-X - TMS320C30 library compatible with TI C tools.
  • STD/Mathlib -ASM-C40-X - TMS320C40 library compatible with TI C tools.
  • STD/Mathlib-ASM-C40-HL-X - TMS320C40 library for Helios™ environment.
  • STD/Mathlib-UM - User manual, ~30 pp.

PROCESSOR CYCLE COUNT

FUNCTION SINECTO C30 BEST
COMPETITOR C30
TI
C30
SINECTO C40 BEST
COMPETITOR C40
TI
C40
ldexp 11-11 N/A >20 9-9 N/A >20
frexp 12-12 N/A >20 9-9 N/A >20
floor 6-6 N/A >20 6-6 N/A >20
ceiling 8-8 N/A >20 7-7 N/A >20
loge 26-26 39-41 109-109 27-27 39-41 77-79
log2 25-25 N/A N/A 27-27 N/A N/A
log10 26-26 40-42 114-114 27-27 39-41 82-84
exp 21-21 37-37 123-132 21-21 35-35 95-96
exp2 20-20 N/A N/A 20-20 N/A N/A
exp10 21-21 39-39 N/A 21-21 35-35 N/A
pow 43-43 124-129 197-262 44-44 96-100 169-234
sin 22-23 32-37 66-82 21-22 31-31 65-82
fsin 16-16 26-26 N/A 15-15 26-26 N/A
cos 22-23 31-36 64-79 21-22 30-30 64-79
fcos 15-15 25-25 N/A 14-14 26-26 N/A
tan 40-40 55-60 110-128 28-28 37-37 82-99
cot 40-40 57-62 N/A 28-28 43-43 N/A
asin 26-56 26-73 93-151 26-43 26-41 62-84
acos 27-56 27-74 92-153 27-42 27-42 61-83
atan 27-37 37-67 84-175 27-29 37-44 55-92
atan2 56-59 81-111 151-259 39-45 57-66 97-151
acot 28-37 43-69 N/A 27-29 43-47 N/A
acot2 56-59 83-113 N/A 39-45 57-66 N/A
sqrt 28-28 40-41 48-48 16-16 18-18 24-24
invsqrt 27-27 38-39 N/A 14-14 15-15 N/A
sinh 14-41 52-87 75-176 14-35 30-61 48-122
cosh 29-45 42-83 162-163 30-36 57-58 108-109
tanh 13-49 57-86 77-210 13-38 33-61 50-147
coth 42-49 91-120 N/A 29-37 53-81 N/A
asinh 17-56 23-97 N/A 16-46 57-61 N/A
acosh 38-56 57-93 N/A 44-44 57-61 N/A
atanh 16-49 29-89 N/A 15-43 30-67 N/A
acoth 35-51 62-92 N/A 22-44 41-63 N/A

Prev Top Eyelib DSP/Veclib STD/Mathlib C BLAS 123 C EisPack Compatibility Ordering Next


Sinectonalysis, Inc. 3702 South Virginia St. Suite G-12#164 Reno, Nevada 89502-6034

Tel: 775-345-0148 Fax: 775-345-0149 Email: sinecto@clark.net