@@ -42,14 +42,14 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
4242 double x , y , xmax ;
4343
4444 /* Parameter adjustments */
45- -- dim ;
45+ // --dim;
4646// --locmar;
4747// config -= nvar + 1;
48- -- fit ;
49- -- table ;
48+ // --fit;
49+ // --table;
5050// --marg;
51- -- u ;
52- -- dev ;
51+ // --u;
52+ // --dev;
5353
5454 /* Function body */
5555
@@ -68,7 +68,7 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
6868
6969L10 :
7070 size = 1 ;
71- for (j = 1 ; j <= nvar ; j ++ ) {
71+ for (j = 0 ; j < nvar ; j ++ ) {
7272 if (dim [j ] <= 0 ) goto L5 ;
7373 size *= dim [j ];
7474 }
@@ -79,7 +79,7 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
7979L40 :
8080 x = 0. ;
8181 y = 0. ;
82- for (i = 1 ; i <= size ; i ++ ) {
82+ for (i = 0 ; i < size ; i ++ ) {
8383 if (table [i ] < 0. || fit [i ] < 0. ) goto L5 ;
8484 x += table [i ];
8585 y += fit [i ];
@@ -90,7 +90,7 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
9090
9191 if (y == 0. ) goto L5 ;
9292 x /= y ;
93- for (i = 1 ; i <= size ; i ++ ) fit [i ] = x * fit [i ];
93+ for (i = 0 ; i < size ; i ++ ) fit [i ] = x * fit [i ];
9494 if (ncon <= 0 || config [0 ] == 0 ) return ;
9595
9696 /* Allocate marginal tables */
@@ -119,7 +119,7 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
119119 if (check [k - 1 ]) goto L95 ;
120120 check [k - 1 ] = 1 ;
121121 /* Get size */
122- size *= dim [k ];
122+ size *= dim [k - 1 ];
123123 }
124124
125125 /* Since U is used to store fitted marginals, size must not
@@ -148,7 +148,7 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
148148 for (j = 1 ; j <= nvar ; j ++ ) {
149149 icon [j - 1 ] = config [j + i * nvar - (nvar + 1 )];
150150 }
151- collap (nvar , & table [ 1 ] , marg , locmar [i - 1 ], & dim [ 1 ] , icon );
151+ collap (nvar , table , marg , locmar [i - 1 ], dim , icon );
152152 }
153153
154154 /* Perform iterations */
@@ -160,11 +160,11 @@ loglin(int nvar, int *dim, int ncon, int *config, int ntab,
160160 for (i = 1 ; i <= n ; i ++ ) {
161161 for (j = 1 ; j <= nvar ; j ++ )
162162 icon [j - 1 ] = config [j + i * nvar - (nvar + 1 )];
163- collap (nvar , & fit [ 1 ], & u [ 1 ] , 1 , & dim [ 1 ] , icon );
164- adjust (nvar , & fit [ 1 ], & u [ 1 ] , marg , & locmar [i - 1 ], & dim [ 1 ] , icon , & xmax );
163+ collap (nvar , fit , u , 1 , dim , icon );
164+ adjust (nvar , fit , u , marg , & locmar [i - 1 ], dim , icon , & xmax );
165165 }
166166 /* Test convergence */
167- dev [k ] = xmax ;
167+ dev [k - 1 ] = xmax ;
168168 if (xmax < maxdev ) goto L240 ;
169169 }
170170 if (maxit > 1 ) goto L230 ;
0 commit comments