tomwalters@0
|
1 /*
|
tomwalters@0
|
2 Copyright (c) Applied Psychology Unit, Medical Research Council. 1988, 1989
|
tomwalters@0
|
3 ===========================================================================
|
tomwalters@0
|
4
|
tomwalters@0
|
5 Permission to use, copy, modify, and distribute this software without fee
|
tomwalters@0
|
6 is hereby granted for research purposes, provided that this copyright
|
tomwalters@0
|
7 notice appears in all copies and in all supporting documentation, and that
|
tomwalters@0
|
8 the software is not redistributed for any fee (except for a nominal shipping
|
tomwalters@0
|
9 charge). Anyone wanting to incorporate all or part of this software in a
|
tomwalters@0
|
10 commercial product must obtain a license from the Medical Research Council.
|
tomwalters@0
|
11
|
tomwalters@0
|
12 The MRC makes no representations about the suitability of this
|
tomwalters@0
|
13 software for any purpose. It is provided "as is" without express or implied
|
tomwalters@0
|
14 warranty.
|
tomwalters@0
|
15
|
tomwalters@0
|
16 THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
tomwalters@0
|
17 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
|
tomwalters@0
|
18 A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
|
tomwalters@0
|
19 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
tomwalters@0
|
20 AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
tomwalters@0
|
21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
tomwalters@0
|
22 */
|
tomwalters@0
|
23
|
tomwalters@0
|
24 /*
|
tomwalters@0
|
25 ============================================
|
tomwalters@0
|
26 all.c - code for recursive filter section.
|
tomwalters@0
|
27 ============================================
|
tomwalters@0
|
28
|
tomwalters@0
|
29
|
tomwalters@0
|
30 J. Holdsworth - 23rd February 1988.
|
tomwalters@0
|
31
|
tomwalters@0
|
32
|
tomwalters@0
|
33 Copywright (c) Applied Psychology Unit, Medical Research Council. 1988.
|
tomwalters@0
|
34 =======================================================================
|
tomwalters@0
|
35
|
tomwalters@0
|
36
|
tomwalters@0
|
37
|
tomwalters@0
|
38
|
tomwalters@0
|
39
|
tomwalters@0
|
40 */
|
tomwalters@0
|
41
|
tomwalters@0
|
42 #ifdef DSP32
|
tomwalters@0
|
43 #include <math.h>
|
tomwalters@0
|
44 #else
|
tomwalters@0
|
45
|
tomwalters@0
|
46 /* identify object file */
|
tomwalters@0
|
47
|
tomwalters@0
|
48 #ifndef lint
|
tomwalters@0
|
49 static char *all_sccs_id = "@(#)all.c 1.7 John Holdsworth (MRC-APU) 10/7/89" ;
|
tomwalters@0
|
50 #endif
|
tomwalters@0
|
51
|
tomwalters@0
|
52 /* short data, integer recursive */
|
tomwalters@0
|
53
|
tomwalters@0
|
54 #include "generic.c"
|
tomwalters@0
|
55
|
tomwalters@0
|
56 /* short data, floating point recursive */
|
tomwalters@0
|
57
|
tomwalters@0
|
58 #define FLOAT float
|
tomwalters@0
|
59 #define FILTER_NAME SingleFilterShortDataArray
|
tomwalters@0
|
60 #define MODULE_NAME DoSingleFilterShortDataArray
|
tomwalters@0
|
61
|
tomwalters@0
|
62 #include "generic.c"
|
tomwalters@0
|
63
|
tomwalters@0
|
64 /* short data, floating point recursive */
|
tomwalters@0
|
65
|
tomwalters@0
|
66 #define FLOAT double
|
tomwalters@0
|
67 #define FILTER_NAME RealFilterShortDataArray
|
tomwalters@0
|
68 #define MODULE_NAME DoRealFilterShortDataArray
|
tomwalters@0
|
69
|
tomwalters@0
|
70 #include "generic.c"
|
tomwalters@0
|
71
|
tomwalters@0
|
72 /* short data, complex integer recursive */
|
tomwalters@0
|
73
|
tomwalters@0
|
74 #define COMPLEX
|
tomwalters@0
|
75 #define OUTPUT_TYPE scomplex
|
tomwalters@0
|
76 #define FILTER_NAME ComplexFilterShortDataArray
|
tomwalters@0
|
77 #define MODULE_NAME DoComplexFilterShortDataArray
|
tomwalters@0
|
78
|
tomwalters@0
|
79 #include "generic.c"
|
tomwalters@0
|
80
|
tomwalters@0
|
81 /* int data, integer recursive */
|
tomwalters@0
|
82
|
tomwalters@0
|
83 #define INPUT_TYPE int
|
tomwalters@0
|
84 #define FILTER_NAME FilterIntDataArray
|
tomwalters@0
|
85 #define MODULE_NAME DoFilterIntDataArray
|
tomwalters@0
|
86
|
tomwalters@0
|
87 #include "generic.c"
|
tomwalters@0
|
88
|
tomwalters@0
|
89
|
tomwalters@0
|
90 /* int data, floating point recursive */
|
tomwalters@0
|
91
|
tomwalters@0
|
92 #define FLOAT double
|
tomwalters@0
|
93 #define INPUT_TYPE int
|
tomwalters@0
|
94 #define FILTER_NAME RealFilterIntDataArray
|
tomwalters@0
|
95 #define MODULE_NAME DoRealFilterIntDataArray
|
tomwalters@0
|
96
|
tomwalters@0
|
97 #include "generic.c"
|
tomwalters@0
|
98
|
tomwalters@0
|
99
|
tomwalters@0
|
100 /* double data, real recursive */
|
tomwalters@0
|
101
|
tomwalters@0
|
102 #define FLOAT double
|
tomwalters@0
|
103 #define INPUT_TYPE double
|
tomwalters@0
|
104 #define FILTER_NAME RealFilterDoubleDataArray
|
tomwalters@0
|
105 #define MODULE_NAME DoRealFilterDoubleDataArray
|
tomwalters@0
|
106
|
tomwalters@0
|
107 #include "generic.c"
|
tomwalters@0
|
108
|
tomwalters@0
|
109
|
tomwalters@0
|
110 #define ENVELOPE
|
tomwalters@0
|
111
|
tomwalters@0
|
112 /* short data, integer recursive envelope */
|
tomwalters@0
|
113
|
tomwalters@0
|
114 #define FILTER_NAME EnvelopeShortDataArray
|
tomwalters@0
|
115 #define MODULE_NAME DoEnvelopeShortDataArray
|
tomwalters@0
|
116
|
tomwalters@0
|
117 #include "generic.c"
|
tomwalters@0
|
118
|
tomwalters@0
|
119
|
tomwalters@0
|
120 /* short data, floating Point recursive envelope */
|
tomwalters@0
|
121
|
tomwalters@0
|
122 #define FLOAT double
|
tomwalters@0
|
123 #define FILTER_NAME RealEnvelopeShortDataArray
|
tomwalters@0
|
124 #define MODULE_NAME DoRealEnvelopeShortDataArray
|
tomwalters@0
|
125
|
tomwalters@0
|
126 #include "generic.c"
|
tomwalters@0
|
127
|
tomwalters@0
|
128 #undef ENVELOPE
|
tomwalters@0
|
129
|
tomwalters@0
|
130 #endif
|
tomwalters@0
|
131
|
tomwalters@0
|
132
|
tomwalters@0
|
133 /* float data, real recursive */
|
tomwalters@0
|
134
|
tomwalters@0
|
135 #define FLOAT float
|
tomwalters@0
|
136 #define INPUT_TYPE float
|
tomwalters@0
|
137 #define FILTER_NAME RealFilterFloatDataArray
|
tomwalters@0
|
138 #define MODULE_NAME DoRealFilterFloatDataArray
|
tomwalters@0
|
139
|
tomwalters@0
|
140 #include "generic.c"
|
tomwalters@0
|
141
|
tomwalters@0
|
142
|
tomwalters@0
|
143 #define ENVELOPE
|
tomwalters@0
|
144
|
tomwalters@0
|
145 /* float data, floating Point recursive envelope */
|
tomwalters@0
|
146
|
tomwalters@0
|
147 #define FLOAT float
|
tomwalters@0
|
148 #define INPUT_TYPE float
|
tomwalters@0
|
149 #define FILTER_NAME RealEnvelopeFloatDataArray
|
tomwalters@0
|
150 #define MODULE_NAME DoRealEnvelopeFloatDataArray
|
tomwalters@0
|
151
|
tomwalters@0
|
152 #include "generic.c"
|
tomwalters@0
|
153
|
tomwalters@0
|
154 #undef ENVELOPE
|
tomwalters@0
|
155
|
tomwalters@0
|
156
|
tomwalters@0
|
157 /* float data, complex integer point recursive */
|
tomwalters@0
|
158
|
tomwalters@0
|
159 #define COMPLEX
|
tomwalters@0
|
160 #define FLOAT float
|
tomwalters@0
|
161 #define INPUT_TYPE float
|
tomwalters@0
|
162 #define OUTPUT_TYPE fcomplex
|
tomwalters@0
|
163 #define FILTER_NAME ComplexFilterFloatDataArray
|
tomwalters@0
|
164 #define MODULE_NAME DoComplexFilterFloatDataArray
|
tomwalters@0
|
165
|
tomwalters@0
|
166 #include "generic.c"
|
tomwalters@0
|
167
|
tomwalters@0
|
168 #undef COMPLEX
|