DSPLIB 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_DSPLIB_C7X_INLINES_H_
39 #define COMMON_DSPLIB_C7X_INLINES_H_ 1
40 
41 /*******************************************************************************
42  *
43  * INCLUDES
44  *
45  ******************************************************************************/
46 
47 /******************************************************************************/
48 
49 /******************************************************************************/
58 /******************************************************************************/
59 
60 #ifdef __cplusplus
61 __INLINE_FUNC(c7x_permute_even_even_xxx)
62 template <typename dataType> static inline uchar64 c7x_permute_even_even_xxx(uchar64 permCtrl, uchar64 in1, uchar64 in0)
63 {
64  uchar64 retVal;
65 
66  if (sizeof(dataType) == sizeof(int32_t)) {
67  retVal = __permute_even_even_int(permCtrl, in1, in0);
68  }
69  else if (sizeof(dataType) == sizeof(int16_t)) {
70  retVal = __permute_even_even_short(permCtrl, in1, in0);
71  }
72  else {
73  retVal = (uchar64) (0);
74  }
75  return retVal;
76 }
77 
78 __INLINE_FUNC(c7x_permute_odd_odd_xxx)
79 template <typename dataType> static inline uchar64 c7x_permute_odd_odd_xxx(uchar64 permCtrl, uchar64 in1, uchar64 in0)
80 {
81  uchar64 retVal;
82 
83  if (sizeof(dataType) == sizeof(int32_t)) {
84  retVal = __permute_odd_odd_int(permCtrl, in1, in0);
85  }
86  else if (sizeof(dataType) == sizeof(int16_t)) {
87  retVal = __permute_odd_odd_short(permCtrl, in1, in0);
88  }
89  else {
90  retVal = (uchar64) (0);
91  }
92  return retVal;
93 }
94 #endif
95 #endif /* COMMON_DSPLIB_C7X_INLINES_H_ */
#define __INLINE_FUNC(x)
Definition: DSPLIB_types.h:46