104 static integer newboxtp, j, l, m, jj, lxn, left;
107 static char cfeed[1];
108 static integer nboxj[31], lxnkp, iorigb, ibxx2m1, movmin,
109 ntotbt[31], ntotpr, newboxt;
130 *(
unsigned char *)cfeed = (
char) ifeed;
135 for (l = 1; l <= i__1; ++l) {
142 for (j = 1; j <= 31; ++j) {
143 ntotbt[j - 1] = 999999999;
148 iorigb = (*ibit + *jbit + *kbit) * *lx;
153 ntotbt[*kbit - 1] = iorigb;
169 i__1 = 30, i__2 = *kbit - 1;
171 for (j = (i__1 < i__2) ? i__1 : i__2; j >= 2; --j) {
179 for (l = 1; l <= i__1; ++l) {
181 if (nov[l] < ibxx2[j]) {
188 m = (nov[l] - 1) / (ibxx2[j] - 1) + 1;
194 novl = (nov[l] + m - 1) / m;
199 if (novl < ibxx2[j]) {
212 newbox[l - 1] = m - 1;
213 newboxt = newboxt + m - 1;
218 nboxj[j - 1] = newboxt;
220 ntotbt[j - 1] = (*ibit + *jbit) * (*lx + newboxt) + j * (*lx +
223 if (ntotbt[j - 1] >= ntotpr) {
235 for (l = 1; l <= i__1; ++l) {
236 newboxp[l - 1] = newbox[l - 1];
268 pimp = (iorigb - ntotbt[jj - 1]) / (
real) iorigb * 100.f;
288 lxnkp = *lx + newboxtp;
308 ibxx2m1 = ibxx2[jj] - 1;
311 for (l = *lx; l >= 1; --l) {
318 if (newboxp[l - 1] * (ibxx2m1 + *novref) + *novref > nov[l] + *
323 movmin = (nov[l] - newboxp[l - 1] * *novref) / newboxp[l - 1];
335 if (newboxp[l - 1] > 0) {
336 if ((movmin + *novref) * newboxp[l - 1] + *novref <= nov[l] +
337 *novref && (movmin + *novref) * (newboxp[l - 1] + 1)
338 >= nov[l] + *novref) {
356 i__1 = newboxp[l - 1] + 1;
357 for (j = 1; j <= i__1; ++j) {
359 move = (movmin < left) ? movmin : left;
365 left -= move + *novref;
371 if (left != -(*novref)) {
404 if ( newbox != 0 ) free(newbox);
405 if ( newboxp != 0 ) free(newboxp);
Header file for NCEPLIBS-g2c library.
int64_t g2int
Long integer type.
g2int integer
Integer type.
g2int integer
Integer type.
int reduce(integer *kfildo, integer *jmin, integer *jmax, integer *lbit, integer *nov, integer *lx, integer *ndg, integer *ibit, integer *jbit, integer *kbit, integer *novref, integer *ibxx2, integer *ier)
Determines whether the number of groups should be increased in order to reduce the size of the large ...