3 * Revision 1.1 1996/08/19 22:31:56 jaf
9 /* -- translated by f2c (version 19951025).
10 You must link the resulting object file with the libraries:
11 -lf2c -lm (in that order)
16 extern int irc2pc_(real
*rc
, real
*pc
, integer
*order
, real
*gprime
, real
*g2pass
);
18 /* ***************************************************************** */
20 /* IRC2PC Version 48 */
23 * Revision 1.1 1996/08/19 22:31:56 jaf
26 /* Revision 1.3 1996/03/20 15:47:19 jaf */
27 /* Added comments about which indices of array arguments are read or */
30 /* Revision 1.2 1996/03/14 16:59:04 jaf */
31 /* Comments added explaining that none of the local variables of this */
32 /* subroutine need to be saved from one invocation to the next. */
34 /* Revision 1.1 1996/02/07 14:47:27 jaf */
35 /* Initial revision */
38 /* ***************************************************************** */
40 /* Convert Reflection Coefficients to Predictor Coeficients */
43 /* RC - Reflection coefficients */
44 /* Indices 1 through ORDER read. */
45 /* ORDER - Number of RC's */
46 /* GPRIME - Excitation modification gain */
48 /* PC - Predictor coefficients */
49 /* Indices 1 through ORDER written. */
50 /* Indices 1 through ORDER-1 are read after being written. */
51 /* G2PASS - Excitation modification sharpening factor */
53 /* This subroutine has no local state. */
55 /* Subroutine */ int irc2pc_(real
*rc
, real
*pc
, integer
*order
, real
*gprime
,
58 /* System generated locals */
61 /* Builtin functions */
62 double sqrt(doublereal
);
69 /* LPC Configuration parameters: */
70 /* Frame size, Prediction order, Pitch period */
71 /* Local variables that need not be saved */
72 /* Parameter adjustments */
79 for (i__
= 1; i__
<= i__1
; ++i__
) {
80 *g2pass
*= 1.f
- rc
[i__
] * rc
[i__
];
82 *g2pass
= *gprime
* sqrt(*g2pass
);
85 for (i__
= 2; i__
<= i__1
; ++i__
) {
87 for (j
= 1; j
<= i__2
; ++j
) {
88 temp
[j
- 1] = pc
[j
] - rc
[i__
] * pc
[i__
- j
];
91 for (j
= 1; j
<= i__2
; ++j
) {