1 /* ======================================================================= */
2 /* DSP_neg32.h -- Intrinsic C source interface header file */
3 /* */
4 /* Rev 0.0.1 */
5 /* */
6 /* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ */
7 /* */
8 /* */
9 /* Redistribution and use in source and binary forms, with or without */
10 /* modification, are permitted provided that the following conditions */
11 /* are met: */
12 /* */
13 /* Redistributions of source code must retain the above copyright */
14 /* notice, this list of conditions and the following disclaimer. */
15 /* */
16 /* Redistributions in binary form must reproduce the above copyright */
17 /* notice, this list of conditions and the following disclaimer in the */
18 /* documentation and/or other materials provided with the */
19 /* distribution. */
20 /* */
21 /* Neither the name of Texas Instruments Incorporated nor the names of */
22 /* its contributors may be used to endorse or promote products derived */
23 /* from this software without specific prior written permission. */
24 /* */
25 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
26 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
27 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
28 /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
29 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
30 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
31 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
32 /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
33 /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
34 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
35 /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
36 /* */
37 /* ======================================================================= */
39 #ifndef DSP_NEG32_H_
40 #define DSP_NEG32_H_ 1
42 #ifndef __TI_COMPILER_VERSION__ // for non TI compiler
43 #include "assert.h" // intrinsics prototypes
44 #include "C6xSimulator.h" // intrinsics prototypes
45 #include "C6xSimulator_type_modifiers.h" // define/undefine typing keywords
46 #endif
48 /** @ingroup MATH */
49 /* @{ */
51 /** @defgroup DSP_neg32 */
52 /** @ingroup DSP_neg32 */
53 /* @{ */
55 /**
56 * This function negates the elements of a vector (32-bit elements).
57 * The input and output arrays must not be overlapped except for where
58 * the input and output pointers are exactly equal
59 *
60 * @param x = Pointer to input data vector of size nx with 32-bit elements
61 * @param r = Pointer to output data vector of size nx with 32-bit elements
62 * @param nx = Number of elements of input and output vectors
63 *
64 * @par Algorithm:
65 * DSP_neg32_cn.c is the natural C equivalent of the optimized intrinsic
66 * C code without restrictions note that the intrinsic C code is optimized
67 * and restrictions may apply.
68 *
69 * @par Assumptions:
70 * nx must be a multiple of 4 and greater than or equal to 4. <BR>
71 * The arrays x[ ] and r[ ] must be double-word aligned. <BR>
72 *
73 * @par Implementation notes:
74 * @b Endian Support: The code supports both big and little endian modes. <BR>
75 * @b Interruptibility: The code is interruptible. <BR>
76 *
77 */
79 void DSP_neg32 (
80 const int * restrict x, /* Input data array */
81 int * restrict r, /* Output data array */
82 int nx /* Number of elements */
83 );
85 #endif /* DSP_NEG32_H_ */
87 /* ======================================================================== */
88 /* End of file: dsp_neg32.h */
89 /* ------------------------------------------------------------------------ */
90 /* Copyright (c) 2011 Texas Instruments, Incorporated. */
91 /* All Rights Reserved. */
92 /* ======================================================================== */