From 201a071128df8471aca9e69acea8848de4d1a42a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 27 Apr 2021 15:24:40 -0400 Subject: [PATCH] Make pctile in libm65 the same as pctile in lib. --- map65/libm65/decode0.f90 | 1 + map65/libm65/pctile.f90 | 14 ++++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/map65/libm65/decode0.f90 b/map65/libm65/decode0.f90 index 565fd8da5..cdcf3c88c 100644 --- a/map65/libm65/decode0.f90 +++ b/map65/libm65/decode0.f90 @@ -16,6 +16,7 @@ subroutine decode0(dd,ss,savg,nstandalone) data neme0/-99/,mcall3b/1/ save +! write(60) ss,savg call timer('decode0 ',0) if(newdat.ne.0) then diff --git a/map65/libm65/pctile.f90 b/map65/libm65/pctile.f90 index 92253cddf..0c16aaba3 100644 --- a/map65/libm65/pctile.f90 +++ b/map65/libm65/pctile.f90 @@ -1,22 +1,16 @@ subroutine pctile(x,npts,npct,xpct) - parameter (NMAX=100000) - real*4 x(npts) - real*4 tmp(NMAX) + real x(npts) + real,allocatable :: tmp(:) - if(npts.le.0) then - xpct=1.0 - go to 900 - endif - if(npts.gt.NMAX) stop + allocate(tmp(npts)) - tmp(1:npts)=x + tmp=x call shell(npts,tmp) j=nint(npts*0.01*npct) if(j.lt.1) j=1 if(j.gt.npts) j=npts xpct=tmp(j) -900 continue return end subroutine pctile