about summary refs log tree commit diff
path: root/editor/specialty/pgmabel.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2022-01-27 02:36:15 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2022-01-27 02:36:15 +0000
commit074b331756e2dcd520e821db3fd7789926b9ccd9 (patch)
treecd59ca77ea288c69139a77d418b71be3b3d249db /editor/specialty/pgmabel.c
parent7363c9a203f82c172be2a06356eb8a2bdf0833a4 (diff)
downloadnetpbm-mirror-074b331756e2dcd520e821db3fd7789926b9ccd9.tar.gz
netpbm-mirror-074b331756e2dcd520e821db3fd7789926b9ccd9.tar.xz
netpbm-mirror-074b331756e2dcd520e821db3fd7789926b9ccd9.zip
Release 10.97.03
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@4263 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor/specialty/pgmabel.c')
-rw-r--r--editor/specialty/pgmabel.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/editor/specialty/pgmabel.c b/editor/specialty/pgmabel.c
index aa748f88..5badfd19 100644
--- a/editor/specialty/pgmabel.c
+++ b/editor/specialty/pgmabel.c
@@ -100,20 +100,19 @@ abel ( float *y, int N, double *adl)
 {
     register int n;
     double *rho, *rhop;       /* results and new index                       */
-    float  *yp;               /* new indizes for the y-array                 */
 
     MALLOCARRAY(rho, N);
     if( !rho )
         pm_error( "out of memory" );
+    for (n=0 ; n<N ; n++)
+        rho[n] = 0;
+
     rhop = rho;
-    yp  = y;
 
     for (n=0 ; n<N ; n++)
     {
-        *(rhop++) = ((*yp++) - Sum(n,rho,N,adl))/(adl[n*N+n]);
-/*    *(rhop++) = ((*yp++) - Sum(n,rho,N))/(dr(n,n+0.5,N));  old version */
-        if ( *rhop < 0.0 ) *rhop = 0.0;         /*  error correction !       */
-/*   if (n > 2) rhop[n-1] = (rho[n-2]+rho[n-1]+rho[n])/3.0;  stabilization*/
+        rhop[n] = MAX(0, (y[n] - Sum(n,rho,N,adl))/(adl[n*N+n]));
+            /* Clip to 0 for error correction !  */
     }
     for (n=0 ; n<N ; n++)
         {