1 /*
2  * -------------------------------------------------------------------------
3  * swt_common.h -- Declarations for wavelet functions.
4  * SWT - Scilab wavelet toolbox
5  * Copyright (C) 2005-2007  Roger Liu
6  * Copyright (C) 20010-2012  Holger Nahrstaedt
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  * -------------------------------------------------------------------------
22  */
23 
24 #ifndef __SWT_H__
25 #define __SWT_H__ 1
26 
27 #include <stdio.h>
28 #include <stdlib.h>
29 #include <stdarg.h>
30 #include <math.h>
31 #include <string.h>
32 //#define __USE_DEPRECATED_STACK_FUNCTIONS__
33 //#include <stack-c.h>
34 #include "api_scilab.h"
35 #include <sciprint.h>
36 #include "Scierror.h"
37 #include "swtlib.h"
38 #include "swt_gwsupport.h"
39 
40 /*********************************************
41  * Global Variables CWT
42  ********************************************/
43 //
44 extern cwt_identity ci[];
45 extern cwt_family cif[];
46 extern int cwtFamilyNum;
47 extern int cwtIdentityNum;
48 
49 
50 /*********************************************
51  * Function Prototype
52  ********************************************/
53 #ifdef _SCILAB6_
54  //swt_int
55   int int_swt(char *fname, void* pvApiCtx);
56    int  int_iswt(char *fname, void* pvApiCtx);
57     int  int_swt2(char *fname, void* pvApiCtx);
58  int  int_iswt2(char *fname, void* pvApiCtx);
59  //cowt_int
60  int int_FSfarras(char *fname, void* pvApiCtx);
61  int int_dualfilt1(char *fname, void* pvApiCtx);
62  int int_dualtree(char *fname, void* pvApiCtx);
63  int int_idualtree(char *fname, void* pvApiCtx);
64  int int_dualtree2D(char *fname, void* pvApiCtx);
65  int int_idualtree2D(char *fname, void* pvApiCtx);
66  int int_cplxdual2D(char *fname, void* pvApiCtx);
67  int int_icplxdual2D(char *fname, void* pvApiCtx);
68  //dwt_int
69  int int_orthfilt (char *fname, void* pvApiCtx);
70  int int_biorfilt (char *fname, void* pvApiCtx);
71  int int_dbwavf (char *fname, void* pvApiCtx);
72  int int_coifwavf (char *fname, void* pvApiCtx);
73  int int_symwavf (char *fname, void* pvApiCtx);
74  int int_legdwavf (char *fname, void* pvApiCtx);
75  int int_biorwavf (char *fname, void* pvApiCtx);
76  int int_rbiorwavf (char *fname, void* pvApiCtx);
77  int int_wfilters (char *fname, void* pvApiCtx);
78  int int_wmaxlev (char *fname, void* pvApiCtx);
79  int int_dwtmode (char *fname, void* pvApiCtx);
80  //dwt1d_int
81  int int_dwt(char *fname, void* pvApiCtx);
82  int int_idwt (char *fname, void* pvApiCtx);
83  int int_wavedec (char *fname, void* pvApiCtx);
84  int int_waverec (char *fname, void* pvApiCtx);
85  int int_wrcoef (char *fname, void* pvApiCtx);
86  int int_appcoef (char *fname, void* pvApiCtx);
87  int int_detcoef (char *fname, void* pvApiCtx);
88  int int_wenergy (char *fname, void* pvApiCtx);
89  int int_upcoef (char *fname, void* pvApiCtx);
90  int int_upwlev (char *fname, void* pvApiCtx);
91  //dwt2d_int
92  int int_dwt2 (char *fname, void* pvApiCtx);
93  int int_idwt2 (char *fname, void* pvApiCtx);
94  int int_wavedec2 (char *fname, void* pvApiCtx);
95  int int_waverec2 (char *fname, void* pvApiCtx);
96  int int_wenergy2 (char *fname, void* pvApiCtx);
97  int int_detcoef2 (char *fname, void* pvApiCtx);
98  int int_appcoef2 (char *fname, void* pvApiCtx);
99  int int_wrcoef2 (char *fname, void* pvApiCtx);
100  int int_upwlev2 (char *fname, void* pvApiCtx);
101  int int_upcoef2 (char *fname, void* pvApiCtx);
102  //dwt3d_int
103  int int_dwt3 (char *fname, void* pvApiCtx);
104  int int_idwt3 (char *fname, void* pvApiCtx);
105  // utility_int
106  int int_conv (char *fname, void* pvApiCtx);
107  int int_iconv (char *fname, void* pvApiCtx);
108  int int_wrev (char *fname, void* pvApiCtx);
109  int int_qmf (char *fname, void* pvApiCtx);
110  int int_dyaddown (char *fname, void* pvApiCtx);
111  int int_dyadup (char *fname, void* pvApiCtx);
112  int int_wkeep (char *fname, void* pvApiCtx);
113  int int_wextend (char *fname, void* pvApiCtx);
114  int int_wcodemat (char *fname, void* pvApiCtx);
115  int int_mat3Dtran (char *fname, void* pvApiCtx);
116  int int_wrev3 (char *fname, void* pvApiCtx);
117  int int_wrev2(char *fname, void* pvApiCtx);
118 int int_wnorm (char *fname, void* pvApiCtx);
119 int int_waveletfamilies (char *fname, void* pvApiCtx);
120 #else
121  //swt_int
122   int int_swt(char *fname);
123    int  int_iswt(char *fname);
124     int  int_swt2(char *fname);
125  int  int_iswt2(char *fname);
126  //cowt_int
127  int int_FSfarras(char *fname);
128  int int_dualfilt1(char *fname);
129  int int_dualtree(char *fname);
130  int int_idualtree(char *fname);
131  int int_dualtree2D(char *fname);
132  int int_idualtree2D(char *fname);
133  int int_cplxdual2D(char *fname);
134  int int_icplxdual2D(char *fname);
135  //dwt_int
136  int int_orthfilt (char *fname);
137  int int_biorfilt (char *fname);
138  int int_dbwavf (char *fname);
139  int int_coifwavf (char *fname);
140  int int_symwavf (char *fname);
141  int int_legdwavf (char *fname);
142  int int_biorwavf (char *fname);
143  int int_rbiorwavf (char *fname);
144  int int_wfilters (char *fname);
145  int int_wmaxlev (char *fname);
146  int int_dwtmode (char *fname);
147  //dwt1d_int
148  int int_dwt(char *fname);
149  int int_idwt (char *fname);
150  int int_wavedec (char *fname);
151  int int_waverec (char *fname);
152  int int_wrcoef (char *fname);
153  int int_appcoef (char *fname);
154  int int_detcoef (char *fname);
155  int int_wenergy (char *fname);
156  int int_upcoef (char *fname);
157  int int_upwlev (char *fname);
158  //dwt2d_int
159  int int_dwt2 (char *fname);
160  int int_idwt2 (char *fname);
161  int int_wavedec2 (char *fname);
162  int int_waverec2 (char *fname);
163  int int_wenergy2 (char *fname);
164  int int_detcoef2 (char *fname);
165  int int_appcoef2 (char *fname);
166  int int_wrcoef2 (char *fname);
167  int int_upwlev2 (char *fname);
168  int int_upcoef2 (char *fname);
169  //dwt3d_int
170  int int_dwt3 (char *fname);
171  int int_idwt3 (char *fname);
172  // utility_int
173  int int_conv (char *fname);
174  int int_iconv (char *fname);
175  int int_wrev (char *fname);
176  int int_qmf (char *fname);
177  int int_dyaddown (char *fname);
178  int int_dyadup (char *fname);
179  int int_wkeep (char *fname);
180  int int_wextend (char *fname);
181  int int_wcodemat (char *fname);
182  int int_mat3Dtran (char *fname);
183  int int_wrev3 (char *fname);
184  int int_wrev2(char *fname);
185 int int_wnorm (char *fname);
186 int int_waveletfamilies (char *fname);
187 
188 #endif
189  //extern int GetRhsVarDouble(int pos,  int *m1, int *n1, double *input);
190 /*------------------------------------------*/
191 /* Validation Function                      */
192 /* -----------------------------------------*/
193 //extern int is_scalar (int row, int col);
194 //extern int is_vector (int row, int col);
195 //extern int is_matrix (int row, int col);
196 // extern int void_check (int number, int *type);
197 // extern int scalar_check (int number, int *type);
198 // extern int vector_check (int number, int *type);
199 // extern int matrix_check (int number, int *type);
200 // extern int real_or_complex (int number, int *type);
201 // extern int sci_matrix_vector_real (int number);
202 // extern int sci_matrix_vector_complex (int number);
203 // extern int sci_matrix_matrix_complex (int number);
204 // extern int sci_matrix_scalar_real (int number);
205 // extern int sci_matrix_matrix_real (int number);
206 // extern int sci_matrix_void (int number);
207 // extern int sci_strings_scalar (int number);
208 // extern int sci_strings_vector (int number);
209 // extern int sci_mlist_check (int number);
210 // //extern int sci_mlist_real (int number);
211 // extern int scalar_string_check(char *l, char c);
212 // extern int length_check(int number, int leng);
213 // extern int vector_length_check(int number1, int number2);
214 // extern int vector_length_compare(int number, int leng, int *res);
215 // extern int matrix_length_compare(int number, int rowLeng,
216 // 				  int colLeng, int *resRow,
217 // 				  int *resCol);
218 // extern int matrix_length_check (int number1, int number2);
219 // extern int matrix_col_length_check(int number, int leng);
220 // extern int matrix_row_length_check(int number, int leng);
221 // extern void extension_check(char *mode, int *type);
222 // extern void wavelet_family_check(char *wname, int wf, int *type);
223 // extern void validate_print (int errCode);
224 
225 
226 
227 //
228 // //
229 //
230 #endif //__SWT_H__
231