diff options
Diffstat (limited to 'apps/codecs/demac/libdemac/vector_math32.h')
-rw-r--r-- | apps/codecs/demac/libdemac/vector_math32.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/codecs/demac/libdemac/vector_math32.h b/apps/codecs/demac/libdemac/vector_math32.h new file mode 100644 index 0000000000..b32867ca5d --- /dev/null +++ b/apps/codecs/demac/libdemac/vector_math32.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | |||
3 | libdemac - A Monkey's Audio decoder | ||
4 | |||
5 | $Id:$ | ||
6 | |||
7 | Copyright (C) Dave Chapman 2007 | ||
8 | |||
9 | This program is free software; you can redistribute it and/or modify | ||
10 | it under the terms of the GNU General Public License as published by | ||
11 | the Free Software Foundation; either version 2 of the License, or | ||
12 | (at your option) any later version. | ||
13 | |||
14 | This program is distributed in the hope that it will be useful, | ||
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | GNU General Public License for more details. | ||
18 | |||
19 | You should have received a copy of the GNU General Public License | ||
20 | along with this program; if not, write to the Free Software | ||
21 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA | ||
22 | |||
23 | */ | ||
24 | |||
25 | /* 32-bit vector math functions */ | ||
26 | |||
27 | #define scalarproduct4_rev32(x,y) ((x[0] * y[0]) + (x[1] * y[-1]) + \ | ||
28 | (x[2] * y[-2]) + (x[3] * y[-3])) | ||
29 | |||
30 | #define scalarproduct5_rev32(x,y) ((x[0] * y[0]) + (x[1] * y[-1]) + \ | ||
31 | (x[2] * y[-2]) + (x[3] * y[-3]) + \ | ||
32 | (x[4] * y[-4])) | ||
33 | |||
34 | #define vector_sub4_rev32(x, y) { x[0] -= y[0]; \ | ||
35 | x[1] -= y[-1]; \ | ||
36 | x[2] -= y[-2]; \ | ||
37 | x[3] -= y[-3]; } | ||
38 | |||
39 | #define vector_sub5_rev32(x, y) { x[0] -= y[0]; \ | ||
40 | x[1] -= y[-1]; \ | ||
41 | x[2] -= y[-2]; \ | ||
42 | x[3] -= y[-3]; \ | ||
43 | x[4] -= y[-4]; } | ||
44 | |||
45 | #define vector_add4_rev32(x, y) { x[0] += y[0]; \ | ||
46 | x[1] += y[-1]; \ | ||
47 | x[2] += y[-2]; \ | ||
48 | x[3] += y[-3]; } | ||
49 | |||
50 | #define vector_add5_rev32(x, y) { x[0] += y[0]; \ | ||
51 | x[1] += y[-1]; \ | ||
52 | x[2] += y[-2]; \ | ||
53 | x[3] += y[-3]; \ | ||
54 | x[4] += y[-4]; } | ||