FFTLIB User Guide
c7x_inlines.h
Go to the documentation of this file.
1 
2 /******************************************************************************/
6 /* Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the
18  * distribution.
19  *
20  * Neither the name of Texas Instruments Incorporated nor the names of
21  * its contributors may be used to endorse or promote products derived
22  * from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35  *
36  ******************************************************************************/
37 
38 #ifndef COMMON_FFTLIB_C7X_INLINES_H_
39 #define COMMON_FFTLIB_C7X_INLINES_H_ 1
40 
41 /*******************************************************************************
42  *
43  * INCLUDES
44  *
45  ******************************************************************************/
46 
47 
48 
49 
50 /******************************************************************************/
51 
52 /******************************************************************************/
61 /******************************************************************************/
62 
63 #ifdef __cplusplus
64 __INLINE_FUNC(c7x_permute_even_even_xxx)
65 template <typename dataType>
66 static inline uchar64 c7x_permute_even_even_xxx(
67  uchar64 permCtrl,
68  uchar64 in1,
69  uchar64 in0)
70 {
71  uchar64 retVal;
72 
73  if (sizeof(dataType) == sizeof(int32_t)) {
74  retVal = __permute_even_even_int(permCtrl, in1, in0);
75  } else if (sizeof(dataType) == sizeof(int16_t)) {
76  retVal = __permute_even_even_short(permCtrl, in1, in0);
77  } else {
78  retVal = (uchar64)(0);
79  }
80  return retVal;
81 }
82 
83 __INLINE_FUNC(c7x_permute_odd_odd_xxx)
84 template <typename dataType>
85 static inline uchar64 c7x_permute_odd_odd_xxx(
86  uchar64 permCtrl,
87  uchar64 in1,
88  uchar64 in0)
89 {
90  uchar64 retVal;
91 
92  if (sizeof(dataType) == sizeof(int32_t)) {
93  retVal = __permute_odd_odd_int(permCtrl, in1, in0);
94  } else if (sizeof(dataType) == sizeof(int16_t)) {
95  retVal = __permute_odd_odd_short(permCtrl, in1, in0);
96  } else {
97  retVal = (uchar64)(0);
98  }
99  return retVal;
100 }
101 #endif
102 #endif /* COMMON_FFTLIB_C7X_INLINES_H_ */
#define __INLINE_FUNC(x)
Definition: FFTLIB_types.h:67