Robert Lopez / CMSIS5
Embed: (wiki syntax)

« Back to documentation index

Neural Network Data Conversion Functions

Neural Network Data Conversion Functions
[Support Functions]

Perform data type conversion in-between neural network operations. More...

Functions

void arm_q7_to_q15_no_shift (const q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to Q15 vector without left-shift.
void arm_q7_to_q15_reordered_no_shift (const q7_t *pSrc, q15_t *pDst, uint32_t blockSize)
 Converts the elements of the Q7 vector to reordered Q15 vector without left-shift.

Detailed Description

Perform data type conversion in-between neural network operations.


Function Documentation

void arm_q7_to_q15_no_shift ( const q7_t *  pSrc,
q15_t *  pDst,
uint32_t  blockSize 
)

Converts the elements of the Q7 vector to Q15 vector without left-shift.

Parameters:
[in]*pSrcpoints to the Q7 input vector
[out]*pDstpoints to the Q15 output vector
[in]blockSizelength of the input vector
Returns:
none.
Description:

The equation used for the conversion process is:

    
 	pDst[n] = (q15_t) pSrc[n];   0 <= n < blockSize.    
 

Definition at line 59 of file arm_q7_to_q15_no_shift.c.

void arm_q7_to_q15_reordered_no_shift ( const q7_t *  pSrc,
q15_t *  pDst,
uint32_t  blockSize 
)

Converts the elements of the Q7 vector to reordered Q15 vector without left-shift.

Parameters:
[in]*pSrcpoints to the Q7 input vector
[out]*pDstpoints to the Q15 output vector
[in]blockSizelength of the input vector
Returns:
none.

This function does the q7 to q15 expansion with re-ordering

                          |   A1   |   A2   |   A3   |   A4   |
                           0      7 8     15 16    23 24    31
 

is converted into:

  |       A1       |       A3       |   and  |       A2       |       A4       |
   0             15 16            31          0             15 16            31
 

This looks strange but is natural considering how sign-extension is done at assembly level.

The expansion of other other oprand will follow the same rule so that the end results are the same.

The tail (i.e., last (N % 4) elements) will still be in original order.

Definition at line 78 of file arm_q7_to_q15_reordered_no_shift.c.