1 SUBROUTINE uncompact(PVALCO_COMPACT,KNELEM,KBITEXPONENT,KBITRADICAL,KPACK)
8 INTEGER(KIND=4) :: KNELEM
9 REAL(KIND=JPRB) :: PVALCO_COMPACT(knelem)
10 REAL(KIND=JPRB) :: ZCOEF,VALMIN,VALMAX
11 INTEGER(KIND=4) :: KBITEXPONENT,KBITRADICAL
12 INTEGER(KIND=8) :: KPACK(knelem)
14 REAL(KIND=JPRM) :: ZTMPBUF
15 INTEGER(KIND=4) :: ITMPBUF
16 INTEGER(KIND=8) :: ICMPBUF
17 INTEGER(KIND=4),
ALLOCATABLE :: IBUF(:)
18 INTEGER(KIND=4) :: IPROMA,IPTRTAB,IPTRBIT,IENDBIT
20 REAL(KIND=JPRB) :: ZHOOK_HANDLE
22 equivalence(ztmpbuf,itmpbuf)
35 itmpbuf=ibits(kpack(1),0,32)
37 itmpbuf=ibits(kpack(1),32,32)
40 IF (valmax-valmin<=0.0)
THEN 41 pvalco_compact(1:knelem)=valmin
45 zcoef=(2**kbitradical-1)
47 IF (iptrbit+kbitradical<64)
THEN 48 icmpbuf=ibits(kpack(iptrtab),iptrbit,kbitradical)
49 iptrbit=iptrbit+kbitradical
52 icmpbuf=ibits(kpack(iptrtab),iptrbit,iendbit)+ishft(ibits(kpack(iptrtab+1),0,kbitradical-iendbit),iendbit)
54 iptrbit=kbitradical-iendbit
58 pvalco_compact(iproma-1)=icmpbuf*(valmax-valmin)/zcoef+valmin
subroutine uncompact(PVALCO_COMPACT, KNELEM, KBITEXPONENT, KBITRADICAL, KPACK)