www.pudn.com > lpc10-15.zip > error.f,v
head 1.2;
access;
symbols;
locks; strict;
comment @* @;
1.2
date 96.03.14.22.55.09; author jaf; state Exp;
branches;
next 1.1;
1.1
date 96.02.07.14.45.49; author jaf; state Exp;
branches;
next ;
desc
@@
1.2
log
@Comments added explaining which of the local variables of this
subroutine need to be saved from one invocation to the next, and which
do not.
@
text
@******************************************************************
*
* ERROR Version 45G
*
* $Log: error.f,v $
* Revision 1.1 1996/02/07 14:45:49 jaf
* Initial revision
*
*
******************************************************************
*
* Handle LPC processing error conditions
*
* Inputs:
* NAME - Routine where error occurred
* ERR - Error code
* INFO - Additional data
*
* The following error codes are hardwired:
* 2 - ANALYS Unstable RC
* 4 - DIFMAG AMDF Overflow
* 5 - SYNTHS Output Clipped
* 6 - BSYNZ Synthesis Filter Overflow
* 7 - " " " "
* 8 - " " " "
* 9 - ONSET Onset Overflow
* 10 - INVERT RC Underflow
* 11 - INVERT RC Overflow
* 12 - " " "
* 13 - " " "
*
SUBROUTINE ERROR( NAME, ERR, INFO )
INCLUDE 'contrl.fh'
* Arguments
CHARACTER NAME*(*)
INTEGER ERR, INFO
INTEGER MAXERR
PARAMETER (MAXERR=20)
* Function return value definitions
INTEGER LNBLNK
* Local variables
INTEGER M, LERR, LNF
INTEGER MAP(MAXERR)
CHARACTER*30 MSGT(10), MSG
DATA MAP / 1,2,1,3,4,3*5,6,7,3*8,7*1 /
DATA MSGT /
1 'Undefined Error',
1 ' Unstable RC',
1 ' AMDF Overflow',
1 ' Output Clipped',
1 'Synthesis Filter Overflow',
1 'Onset Buffer Overflow',
1 'Underflow at RC',
1 ' Overflow at RC',
1 2*'Internal Inconsistency' /
SAVE LERR, LNF
* NO SAVE NECESSARY M
* NO SAVE NECESSARY MAP, MSGT (constant arrays)
* NO SAVE NECESSARY MSG
M = ERR
IF(M.LT.1.OR.M.GT.MAXERR) M = 1
IF(LISTL.GE.2) THEN
IF(ERR.NE.LERR.OR.NFRAME.NE.LNF) THEN
MSG = MSGT(MAP(M))
WRITE(FMSG,100) NAME, ERR, NFRAME, MSG(1:LNBLNK(MSG)), INFO
100 FORMAT(1X,A,':',T10,'Warning',I3,' at frame',I6,' - ',A,I6)
LINCNT = LINCNT + 1
END IF
LERR = ERR
LNF = NFRAME
END IF
IF(ERR.EQ.2) NUNSFM = NUNSFM + 1
IF(ERR.EQ.5) ICLIP = ICLIP + INFO
RETURN
END
@
1.1
log
@Initial revision
@
text
@d5 4
a8 1
* $Log$
d34 3
d38 3
a40 1
INTEGER ERR, INFO, M, LERR, LNF, MAXERR, LNBLNK
d42 8
d63 6
@