NCEPLIBS-g2c 1.9.0
|
Determines whether the number of groups should be increased in order to reduce the size of the large groups, and to make that adjustment. More...
Go to the source code of this file.
Functions | |
int | reduce (g2int *kfildo, g2int *jmin, g2int *jmax, g2int *lbit, g2int *nov, g2int *lx, g2int *ndg, g2int *ibit, g2int *jbit, g2int *kbit, g2int *novref, g2int *ibxx2, g2int *ier) |
Determines whether the number of groups should be increased in order to reduce the size of the large groups, and to make that adjustment. | |
Determines whether the number of groups should be increased in order to reduce the size of the large groups, and to make that adjustment.
Definition in file reduce.c.
int reduce | ( | g2int * | kfildo, |
g2int * | jmin, | ||
g2int * | jmax, | ||
g2int * | lbit, | ||
g2int * | nov, | ||
g2int * | lx, | ||
g2int * | ndg, | ||
g2int * | ibit, | ||
g2int * | jbit, | ||
g2int * | kbit, | ||
g2int * | novref, | ||
g2int * | ibxx2, | ||
g2int * | ier | ||
) |
Determines whether the number of groups should be increased in order to reduce the size of the large groups, and to make that adjustment.
By reducing the size of the large groups, less bits may be necessary for packing the group sizes and all the information about the groups.
The reference for nov was removed in the calling routine so that kbit could be determined. This furnishes a starting point for the iterations in reduce. However, the reference must be considered.
PROGRAM HISTORY LOG
DATA SET USE
kfildo | unit number for output (print) file. (input) |
jmin | the minimum of each group (j=1,lx). it is possible after splitting the groups, jmin() will not be the minimum of the new group. this doesn't matter; jmin() is really the group reference and doesn't have to be the smallest value. (input/output) |
jmax | the maximum of each group (j=1,lx). (input/output) |
lbit | the number of bits necessary to pack each group (j=1,lx). (input/output) |
nov | the number of values in each group (j=1,lx). (input/output) |
lx | the number of groups. this will be increased if groups are split. (input/output) |
ndg | the dimension of jmin(), jmax(), lbit(), and nov( ). (input) |
ibit | the number of bits necessary to pack the jmin(j) values, j=1,lx. (input) |
jbit | the number of bits necessary to pack the lbit(j) values, j=1,lx. (input) |
kbit | the number of bits necessary to pack the nov(j) values, j=1,lx. if the groups are split, kbit is reduced. (input/output) |
novref | reference value for nov(). (input) |
ibxx2 | 2**j (j=0,30). (input) |
ier | error return. (output)
|
ntotbt(j) = the total bits used for the packing bits j (j=1,30). (internal) nboxj(j) = new boxes needed for the packing bits j (j=1,30). (internal) newbox(l) = number of new boxes (groups) for each original group (l=1,lx) for the current j. (automatic) (internal) newboxp(l) = same as newbox() but for the previous j. this eliminates recomputation. (automatic) (internal) cfeed = contains the character representation of a printer form feed. (character) (internal) ifeed = contains the g2int value of a printer form feed. (internal) iorigb = the original number of bits necessary for the group values. (internal)
Definition at line 88 of file reduce.c.
Referenced by pack_gp().