NCEPLIBS-g2
3.5.0
|
This subroutine determines groups of variable size. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | reduce (JMIN, JMAX, LBIT, NOV, LX, NDG, IBIT, JBIT, KBIT, NOVREF, IBXX2, IER) |
This subroutine 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... | |
subroutine reduce | ( | dimension(ndg) | JMIN, |
dimension(ndg) | JMAX, | ||
dimension(ndg) | LBIT, | ||
dimension(ndg) | NOV, | ||
LX, | |||
NDG, | |||
IBIT, | |||
JBIT, | |||
KBIT, | |||
NOVREF, | |||
dimension(0:30) | IBXX2, | ||
IER | |||
) |
This subroutine 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.
[in,out] | JMIN | the minimum of each group (j=1,lx). JMIN is really the group reference and doesn't have to be the smallest value. |
[in,out] | JMAX | the maximum of each group (j=1,lx). |
[in,out] | LBIT | the number of bits necessary to pack each group (j=1,lx). |
[in,out] | NOV | the number of values in each group (j=1,lx). |
[in,out] | LX | the number of groups. This will be increased, if groups are split. |
[in] | NDG | the dimension of JMIN, JMAX, LBIT, and NOV. |
[in] | IBIT | the number of bits necessary to pack the JMIN(j) values, j=1,LX. |
[in] | JBIT | the number of bits necessary to pack the LBIT(j) values, j=1,LX. |
[in,out] | KBIT | the number of bits necessary to pack the NOV(j) values, j=1,LX. If the groups are split, kbit is reduced. |
[in] | NOVREF | reference value for NOV. |
[in] | IBXX2 | ibxx2(j) = 2**j (j=0,30). |
[out] | IER | error return.
|
Definition at line 41 of file reduce.f.
Referenced by pack_gp().