4 Revision 1.15 2004/06/26 03:50:14 markster
5 Merge source cleanups (bug #1911)
7 Revision 1.14 2003/02/12 13:59:15 matteo
8 mer feb 12 14:56:57 CET 2003
10 Revision 1.1.1.1 2003/02/12 13:59:15 matteo
11 mer feb 12 14:56:57 CET 2003
13 Revision 1.2 2000/01/05 08:20:39 markster
14 Some OSS fixes and a few lpc changes to make it actually work
16 * Revision 1.2 1996/08/20 20:26:28 jaf
17 * Any typedef defining a type that was used in lpc10_encoder_state or
18 * lpc10_decoder_state struct's was commented out here and added to
21 * Revision 1.1 1996/08/19 22:32:13 jaf
30 * SCCS ID: @(#)f2c.h 1.2 96/05/19
33 /* f2c.h -- Standard Fortran to C header file */
35 /** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
37 - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
44 /*typedef long int integer;*/
45 /*typedef INT32 integer;*/
46 /*typedef short int shortint;*/
47 /*typedef INT16 shortint;*/
48 /*typedef float real;*/
49 /* doublereal only used for function arguments to sqrt, exp, etc. */
50 typedef double doublereal
;
51 /* 32 bits seems wasteful, but there really aren't that many logical
52 * variables around, and making them 32 bits could avoid word
53 * alignment problems, perhaps. */
54 /*typedef long int logical;*/
55 /*typedef INT32 logical;*/
56 /* The following types are not used in the translated C code for the
57 * LPC-10 coder, but they might be needed by the definitions down
58 * below, so they don't cause compilation errors. */
59 typedef char *address
;
60 typedef struct { real r
, i
; } complex;
61 typedef struct { doublereal r
, i
; } doublecomplex
;
62 typedef short int shortlogical
;
63 typedef char logical1
;
64 typedef char integer1
;
65 /* typedef long long longint; */ /* system-dependent */
70 /* Extern is for use with -E */
83 typedef long int flag
;
84 typedef long int ftnlen
;
85 typedef long int ftnint
;
88 /*external read, write*/
97 /*internal read, write*/
127 /*rewind, backspace, endfile*/
139 ftnint
*inex
; /*parameters in standard's order*/
165 union Multitype
{ /* for multiple entry points */
176 typedef union Multitype Multitype
;
178 /*typedef long int Long;*/ /* No longer used; formerly in Namelist */
180 struct Vardesc
{ /* for Namelist */
186 typedef struct Vardesc Vardesc
;
193 typedef struct Namelist Namelist
;
195 #define abs(x) ((x) >= 0 ? (x) : -(x))
196 #define dabs(x) (doublereal)abs(x)
197 #define min(a,b) ((a) <= (b) ? (a) : (b))
198 #define max(a,b) ((a) >= (b) ? (a) : (b))
199 #define dmin(a,b) (doublereal)min(a,b)
200 #define dmax(a,b) (doublereal)max(a,b)
202 /* procedure parameter types for -A and -C++ */
204 #define F2C_proc_par_types 1
206 typedef int /* Unknown procedure type */ (*U_fp
)(...);
207 typedef shortint (*J_fp
)(...);
208 typedef integer (*I_fp
)(...);
209 typedef real (*R_fp
)(...);
210 typedef doublereal (*D_fp
)(...), (*E_fp
)(...);
211 typedef /* Complex */ VOID (*C_fp
)(...);
212 typedef /* Double Complex */ VOID (*Z_fp
)(...);
213 typedef logical (*L_fp
)(...);
214 typedef shortlogical (*K_fp
)(...);
215 typedef /* Character */ VOID (*H_fp
)(...);
216 typedef /* Subroutine */ int (*S_fp
)(...);
218 typedef int /* Unknown procedure type */ (*U_fp
)(VOID
);
219 typedef shortint (*J_fp
)(VOID
);
220 typedef integer (*I_fp
)(VOID
);
221 typedef real (*R_fp
)(VOID
);
222 typedef doublereal (*D_fp
)(VOID
), (*E_fp
)(VOID
);
223 typedef /* Complex */ VOID (*C_fp
)(VOID
);
224 typedef /* Double Complex */ VOID (*Z_fp
)(VOID
);
225 typedef logical (*L_fp
)(VOID
);
226 typedef shortlogical (*K_fp
)(VOID
);
227 typedef /* Character */ VOID (*H_fp
)(VOID
);
228 typedef /* Subroutine */ int (*S_fp
)(VOID
);
230 /* E_fp is for real functions when -R is not specified */
231 typedef VOID C_f
; /* complex function */
232 typedef VOID H_f
; /* character function */
233 typedef VOID Z_f
; /* double complex function */
234 typedef doublereal E_f
; /* real function with -R not specified */
236 /* undef any lower-case symbols that your C compiler predefines, e.g.: */
238 #ifndef Skip_f2c_Undefs
260 extern integer
pow_ii(ap
, bp
);
261 extern double r_sign(a
,b
);
262 extern integer
i_nint(x
);
264 extern integer
pow_ii(integer
*ap
, integer
*bp
);
265 extern double r_sign(real
*a
, real
*b
);
266 extern integer
i_nint(real
*x
);
269 #ifdef P_R_O_T_O_T_Y_P_E_S
270 extern int bsynz_(real
*coef
, integer
*ip
, integer
*iv
,
271 real
*sout
, real
*rms
, real
*ratio
, real
*g2pass
,
272 struct lpc10_decoder_state
*st
);
273 extern int chanwr_(integer
*order
, integer
*ipitv
, integer
*irms
,
274 integer
*irc
, integer
*ibits
, struct lpc10_encoder_state
*st
);
275 extern int chanrd_(integer
*order
, integer
*ipitv
, integer
*irms
,
276 integer
*irc
, integer
*ibits
);
277 extern int chanwr_0_(int n__
, integer
*order
, integer
*ipitv
,
278 integer
*irms
, integer
*irc
, integer
*ibits
,
279 struct lpc10_encoder_state
*st
);
280 extern int dcbias_(integer
*len
, real
*speech
, real
*sigout
);
281 extern int decode_(integer
*ipitv
, integer
*irms
, integer
*irc
,
282 integer
*voice
, integer
*pitch
, real
*rms
,
283 real
*rc
, struct lpc10_decoder_state
*st
);
284 extern int deemp_(real
*x
, integer
*n
, struct lpc10_decoder_state
*st
);
285 extern int difmag_(real
*speech
, integer
*lpita
, integer
*tau
, integer
*ltau
,
286 integer
*maxlag
, real
*amdf
, integer
*minptr
, integer
*maxptr
);
287 extern int dyptrk_(real
*amdf
, integer
*ltau
, integer
*
288 minptr
, integer
*voice
, integer
*pitch
, integer
*midx
,
289 struct lpc10_encoder_state
*st
);
290 extern int encode_(integer
*voice
, integer
*pitch
, real
*rms
, real
*rc
,
291 integer
*ipitch
, integer
*irms
, integer
*irc
);
292 extern int energy_(integer
*len
, real
*speech
, real
*rms
);
293 extern int ham84_(integer
*input
, integer
*output
, integer
*errcnt
);
294 extern int hp100_(real
*speech
, integer
*start
, integer
*end
,
295 struct lpc10_encoder_state
*st
);
296 extern int inithp100_(void);
297 extern int invert_(integer
*order
, real
*phi
, real
*psi
, real
*rc
);
298 extern int irc2pc_(real
*rc
, real
*pc
, integer
*order
, real
*gprime
, real
*g2pass
);
299 extern int ivfilt_(real
*lpbuf
, real
*ivbuf
, integer
*len
, integer
*nsamp
, real
*ivrc
);
300 extern int lpcdec_(integer
*bits
, real
*speech
);
301 extern int initlpcdec_(void);
302 extern int lpcenc_(real
*speech
, integer
*bits
);
303 extern int initlpcenc_(void);
304 extern int lpfilt_(real
*inbuf
, real
*lpbuf
, integer
*len
, integer
*nsamp
);
305 extern integer
median_(integer
*d1
, integer
*d2
, integer
*d3
);
306 extern int mload_(integer
*order
, integer
*awins
, integer
*awinf
, real
*speech
, real
*phi
, real
*psi
);
307 extern int onset_(real
*pebuf
, integer
*osbuf
, integer
*osptr
, integer
*oslen
, integer
*sbufl
, integer
*sbufh
, integer
*lframe
, struct lpc10_encoder_state
*st
);
308 extern int pitsyn_(integer
*order
, integer
*voice
, integer
*pitch
, real
*rms
, real
*rc
, integer
*lframe
, integer
*ivuv
, integer
*ipiti
, real
*rmsi
, real
*rci
, integer
*nout
, real
*ratio
, struct lpc10_decoder_state
*st
);
309 extern int placea_(integer
*ipitch
, integer
*voibuf
, integer
*obound
, integer
*af
, integer
*vwin
, integer
*awin
, integer
*ewin
, integer
*lframe
, integer
*maxwin
);
310 extern int placev_(integer
*osbuf
, integer
*osptr
, integer
*oslen
, integer
*obound
, integer
*vwin
, integer
*af
, integer
*lframe
, integer
*minwin
, integer
*maxwin
, integer
*dvwinl
, integer
*dvwinh
);
311 extern int preemp_(real
*inbuf
, real
*pebuf
, integer
*nsamp
, real
*coef
, real
*z__
);
312 extern int prepro_(real
*speech
, integer
*length
,
313 struct lpc10_encoder_state
*st
);
314 extern int decode_(integer
*ipitv
, integer
*irms
, integer
*irc
, integer
*voice
, integer
*pitch
, real
*rms
, real
*rc
, struct lpc10_decoder_state
*st
);
315 extern integer
random_(struct lpc10_decoder_state
*st
);
316 extern int rcchk_(integer
*order
, real
*rc1f
, real
*rc2f
);
317 extern int synths_(integer
*voice
, integer
*pitch
, real
*rms
, real
*rc
, real
*speech
, integer
*k
, struct lpc10_decoder_state
*st
);
318 extern int tbdm_(real
*speech
, integer
*lpita
, integer
*tau
, integer
*ltau
, real
*amdf
, integer
*minptr
, integer
*maxptr
, integer
*mintau
);
319 extern int voicin_(integer
*vwin
, real
*inbuf
, real
*lpbuf
, integer
*buflim
, integer
*half
, real
*minamd
, real
*maxamd
, integer
*mintau
, real
*ivrc
, integer
*obound
, integer
*voibuf
, integer
*af
, struct lpc10_encoder_state
*st
);
320 extern int vparms_(integer
*vwin
, real
*inbuf
, real
*lpbuf
, integer
*buflim
, integer
*half
, real
*dither
, integer
*mintau
, integer
*zc
, integer
*lbe
, integer
*fbe
, real
*qs
, real
*rc1
, real
*ar_b__
, real
*ar_f__
);
325 #endif /* ! defined F2C_INCLUDE */