* * $Id: hbproy.F,v 1.1.1.1 1996/01/16 17:07:32 mclareni Exp $ * * $Log: hbproy.F,v $ * Revision 1.1.1.1 1996/01/16 17:07:32 mclareni * First import * * #include "hbook/pilot.h" *CMZ : 4.10/05 22/05/89 16.23.19 by Rene Brun *-- Author : SUBROUTINE HBPROY(ID2,VALMAX) *.==========> *. BOOK PROJECTION Y *..=========> ( R.Brun ) #include "hbook/hcbook.inc" #include "hbook/hcflag.inc" #include "hbook/hcform.inc" #include "hbook/hcbits.inc" *.___________________________________________ NARG = 2 CALL NOARG (NARG) VALMA = 0. IF (NARG .EQ. 2) VALMA = FLOARG (VALMAX) * * computes number of words per channel * from VALMAX * IF (VALMA .GE. 1.)THEN NBPROX = LOG (VALMA)/LOG (2.) +1 IF(NBPROX.GT.16)NBPROX=32 ELSE NBPROX = 32 ENDIF IF(NBPROX.EQ.32)THEN IODES=IOCF1 ELSE IODES=IOCB1 ENDIF NB = 32/NBPROX IRET= 3 * 20 CALL HLOOP (ID2,'HBPROY',IRET) IF (IRET .EQ. 0) GO TO 99 * CALL HDCOFL IF (I230 .EQ. 0) GO TO 40 LPROY=LQ(LCID-3) IF(LPROY.NE.0)GO TO 40 * * Check if enough space * NC = IQ(LCID+KNCY) NW = (NC+1)/NB+KCON1 NTOT = NW+I10*(NC+10)+12 CALL HSPACE(NTOT,'HBPROY',ID2) IF(IERR.NE.0)GO TO 40 * * Create data structure PROX * CALL MZBOOK(IHDIV,LPROY,LCID,-3,'PROY',2,2,NW,IODES,0) IQ(LPROY+KNBIT)=NBPROX IF(I10.NE.0)THEN CALL MZBOOK(IHDIV,LW,LPROY,0,'PRYE',0,0,NC,3,0) ENDIF CALL HSIFLA(8,1) IQ(LCID+KNTOT)=IQ(LCID+KNTOT)+NTOT * 40 IRET = 2 GO TO 20 99 RETURN END