Subversion Repositories DashDisplay

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 5
Line 1... Line 1...
1
/* ----------------------------------------------------------------------    
1
/* ----------------------------------------------------------------------    
2
* Copyright (C) 2010-2014 ARM Limited. All rights reserved.    
2
* Copyright (C) 2010-2014 ARM Limited. All rights reserved.    
3
*    
3
*    
4
* $Date:        19. March 2015
4
* $Date:        19. October 2015
5
* $Revision:    V.1.4.5
5
* $Revision:    V.1.4.5 a
6
*    
6
*    
7
* Project:          CMSIS DSP Library    
7
* Project:          CMSIS DSP Library    
8
* Title:            arm_cmplx_mult_real_q15.c    
8
* Title:            arm_cmplx_mult_real_q15.c    
9
*    
9
*    
10
* Description:  Q15 complex by real multiplication    
10
* Description:  Q15 complex by real multiplication    
Line 110... Line 110...
110
    mul2 = (q31_t) ((q15_t) (inA1 >> 16) * (q15_t) (inB1 >> 16));
110
    mul2 = (q31_t) ((q15_t) (inA1 >> 16) * (q15_t) (inB1 >> 16));
111
    mul1 = (q31_t) ((q15_t) inA1 * (q15_t) (inB1 >> 16));
111
    mul1 = (q31_t) ((q15_t) inA1 * (q15_t) (inB1 >> 16));
112
    mul4 = (q31_t) ((q15_t) (inA2 >> 16) * (q15_t) inB1);
112
    mul4 = (q31_t) ((q15_t) (inA2 >> 16) * (q15_t) inB1);
113
    mul3 = (q31_t) ((q15_t) inA2 * (q15_t) inB1);
113
    mul3 = (q31_t) ((q15_t) inA2 * (q15_t) inB1);
114
 
114
 
115
#endif //      #ifndef ARM_MATH_BIG_ENDIAN
115
#endif /* #ifndef ARM_MATH_BIG_ENDIAN */
116
 
116
 
117
    /* saturate the result */
117
    /* saturate the result */
118
    out1 = (q15_t) __SSAT(mul1 >> 15u, 16);
118
    out1 = (q15_t) __SSAT(mul1 >> 15u, 16);
119
    out2 = (q15_t) __SSAT(mul2 >> 15u, 16);
119
    out2 = (q15_t) __SSAT(mul2 >> 15u, 16);
120
    out3 = (q15_t) __SSAT(mul3 >> 15u, 16);
120
    out3 = (q15_t) __SSAT(mul3 >> 15u, 16);
Line 140... Line 140...
140
    mul2 = (q31_t) ((q15_t) (inA1 >> 16) * (q15_t) (inB1 >> 16));
140
    mul2 = (q31_t) ((q15_t) (inA1 >> 16) * (q15_t) (inB1 >> 16));
141
    mul1 = (q31_t) ((q15_t) inA1 * (q15_t) (inB1 >> 16));
141
    mul1 = (q31_t) ((q15_t) inA1 * (q15_t) (inB1 >> 16));
142
    mul4 = (q31_t) ((q15_t) (inA2 >> 16) * (q15_t) inB1);
142
    mul4 = (q31_t) ((q15_t) (inA2 >> 16) * (q15_t) inB1);
143
    mul3 = (q31_t) ((q15_t) inA2 * (q15_t) inB1);
143
    mul3 = (q31_t) ((q15_t) inA2 * (q15_t) inB1);
144
 
144
 
145
#endif //      #ifndef ARM_MATH_BIG_ENDIAN
145
#endif /* #ifndef ARM_MATH_BIG_ENDIAN */
146
 
146
 
147
    out1 = (q15_t) __SSAT(mul1 >> 15u, 16);
147
    out1 = (q15_t) __SSAT(mul1 >> 15u, 16);
148
    out2 = (q15_t) __SSAT(mul2 >> 15u, 16);
148
    out2 = (q15_t) __SSAT(mul2 >> 15u, 16);
149
    out3 = (q15_t) __SSAT(mul3 >> 15u, 16);
149
    out3 = (q15_t) __SSAT(mul3 >> 15u, 16);
150
    out4 = (q15_t) __SSAT(mul4 >> 15u, 16);
150
    out4 = (q15_t) __SSAT(mul4 >> 15u, 16);