Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "arm_math.h"
00025
00053 void arm_negate_f32(
00054 float32_t * pSrc,
00055 float32_t * pDst,
00056 uint32_t blockSize)
00057 {
00058 uint32_t blkCnt;
00059 float32_t in1, in2, in3, in4;
00060
00061
00062 blkCnt = blockSize >> 3u;
00063
00064
00065
00066 while(blkCnt > 0u)
00067 {
00068
00069 in1 = *pSrc;
00070 in2 = *(pSrc + 1);
00071 in3 = *(pSrc + 2);
00072 in4 = *(pSrc + 3);
00073
00074
00075 in1 = -in1;
00076 in2 = -in2;
00077 in3 = -in3;
00078 in4 = -in4;
00079
00080
00081 *pDst = in1;
00082 *(pDst + 1) = in2;
00083 *(pDst + 2) = in3;
00084 *(pDst + 3) = in4;
00085
00086
00087 in1 = *(pSrc + 4);
00088 in2 = *(pSrc + 5);
00089 in3 = *(pSrc + 6);
00090 in4 = *(pSrc + 7);
00091
00092
00093 in1 = -in1;
00094 in2 = -in2;
00095 in3 = -in3;
00096 in4 = -in4;
00097
00098
00099 *(pDst + 4) = in1;
00100 *(pDst + 5) = in2;
00101 *(pDst + 6) = in3;
00102 *(pDst + 7) = in4;
00103
00104
00105 pSrc += 8u;
00106
00107 pDst += 8u;
00108
00109
00110 blkCnt--;
00111 }
00112
00113
00114
00115 blkCnt = blockSize % 0x8u;
00116
00117 while(blkCnt > 0u)
00118 {
00119
00120
00121 *pDst++ = -*pSrc++;
00122
00123
00124 blkCnt--;
00125 }
00126 }
00127