Dspf_Sp_Mat_Trans - Texas Instruments TMS320C67 DSP Series Programmer's Reference Manual

Library
Hide thumbs Also See for TMS320C67 DSP Series:
Table of Contents

Advertisement

Special Requirements
Implementation Notes
Benchmarks

DSPF_sp_mat_trans

Function
Arguments
-
The arrays 'x', 'y', and 'r' are stored in distinct arrays. That is, in-place proc-
essing is not allowed.
-
All r1, c1, c2 are assumed to be > 1
-
5 Floats are always loaded extra from the locations:
y[c1' * c2'], y[c1' * c2' + 1],
x[r1 * c1'], x[r1' * c1'] and x[2 * c1]
where
r1' = r1 + (r1&1)
c2' = c2 + (c2&1)
c1' = c1 + 1 + 2*(c1&1)
-
If (r1&1) means r1 is odd, one extra row of x[] matrix is loaded
-
If (c2&1) means c2 is odd, one extra col of y[] matrix is loaded
-
All three loops are unrolled two times
-
All the prolog stages of the innermost loop (kLoop) are collapsed
-
Endianess: This code is endian neutral.
-
Interruptibility: This code is interrupt-tolerant but not interruptible.
Cycles
(0.5 * r1' * c1 * c2') + (6 * c2' * r1') + (4 * r1') + 22
where
r1' = r1 + (r1&1)
c2' = c2 + (c2&1)
For r1 = 12, c1 = 14 and c2 = 18, cycles = 2890
Code size
992
(in bytes)
Single-precision matrix transpose
void DSPF_sp_mat_trans (const float *restrict x, int rows, int cols, float
*restrict r)
x[r1*c1]
Input matrix containing r1*c1 floating-point numbers having
r1 rows and c1 columns.
rows
Number of rows in matrix x. Also number of columns in ma-
trix r.
DSPF_sp_mat_trans
DSPLIB Reference
4-65

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C67 DSP Series and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Table of Contents