|
|
| DSP_q15tofl | |
| Q15 to Float Conversion | |||
DSP_q15tofl | ||||
Function |
| void DSP_q15tofl (short *x, float *r, int nx) |
| |
Arguments |
| x[nx] | Pointer to Q.15 input vector of size nx. | |
|
| r[nx] | Pointer to | |
|
|
| the | |
|
| nx | Length of input and output data vectors. Must be multiple of 2. | |
Description |
| Converts the values stored in vector x[ ] in Q.15 format to IEEE floating point | ||
|
| numbers in output vector r[ ]. | ||
Algorithm |
| This is the C equivalent of the assembly code without restrictions. Note that | ||
|
| the assembly code is hand optimized and restrictions may apply. |
void DSP_q15tofl(short *x, float *r, int nx)
{
int i;
for (i=0;i<nx;i++)
r[i] = (float) x[i] / 0x8000;
}
Special Requirements nx must be a multiple of 2.
Implementation Notes
| - Bank Conflicts: No bank conflicts occur. | |
| - Interruptibility: The code is | |
| - Loop is unrolled twice | |
Benchmarks | Cycles | 2 * nx + 14 |
| Codesize | 184 bytes |
C64x+ DSPLIB Reference |