Millepede-II  V04-00-00
 All Classes Files Functions Variables Enumerator
Data Types | Functions/Subroutines
mpbits.f90 File Reference

Bit field counters. More...

Go to the source code of this file.

Data Types

module  mpbits
 Bit field data. More...

Functions/Subroutines

subroutine inbits (im, jm, inc)
 Fill bit fields (counters).
subroutine clbits (in, idimb, iencdb, jbfw)
 Calculate bit (field) array size, encoding.
subroutine ndbits (ndims, ncmprs, nsparr, mnpair, ihst, jcmprs)
 Analyze bit fields.
subroutine ckbits (ndims, mnpair, jcmprs)
 Check sparsity of matrix.
subroutine spbits (nsparr, nsparc, ncmprs)
 Create sparsity information.

Detailed Description

Bit field counters.

Count pairs of global parameters for sparse storage of global matrix, apply pair entries cut and build (compressed) sparsity structure (row offsets, column lists).

In sparse storage mode for each row the list of column indices with non zero elements (and those elements) are stored. With compression this list is represented by the first column and their number for continous regions (encoded in single 32bit words). Rare elements may be stored in single precision.

Definition in file mpbits.f90.


Function/Subroutine Documentation

subroutine ckbits ( INTEGER(KIND=large), dimension(4), intent(out)  ndims,
INTEGER, intent(in)  mnpair,
INTEGER, intent(in)  jcmprs 
)

Check sparsity of matrix.

Parameters:
[out]ndims(1): (reduced) size of bit array; (2): size of column lists; (3/4): number of (double/single precision) off diagonal elements;
[in]mnpairmin. entries for pair
[in]jcmprs<>0: compress row information (column indices)

Definition at line 395 of file mpbits.f90.

Referenced by loop2().

subroutine clbits ( INTEGER, intent(in)  in,
INTEGER(KIND=large), intent(out)  idimb,
INTEGER, intent(out)  iencdb,
INTEGER, intent(in)  jbfw 
)

Calculate bit (field) array size, encoding.

Parameters:
[in]inmatrix size
[out]idimbdimension for bit (field) array
[out]iencdbnumber of bits for encoding column counter
[in]jbfwbit field width

Definition at line 112 of file mpbits.f90.

Referenced by loop2().

subroutine inbits ( INTEGER, intent(in)  im,
INTEGER, intent(in)  jm,
INTEGER, intent(in)  inc 
)

Fill bit fields (counters).

Parameters:
[in]imfirst index
[in]jmsecond index
[in]incincrement (usually 1)

Definition at line 35 of file mpbits.f90.

Referenced by loop2().

subroutine ndbits ( INTEGER(KIND=large), dimension(4), intent(out)  ndims,
INTEGER, dimension(:), intent(out)  ncmprs,
INTEGER(KIND=large), dimension(:,:), intent(out)  nsparr,
INTEGER, intent(in)  mnpair,
INTEGER, intent(in)  ihst,
INTEGER, intent(in)  jcmprs 
)

Analyze bit fields.

Parameters:
[out]ndims(1): (reduced) size of bit array; (2): size of column lists; (3/4): number of (double/single precision) off diagonal elements;
[out]ncmprscompression info (per row)
[out]nsparrrow offsets
[in]mnpairmin. entries for pair
[in]ihst>0: histogram number
[in]jcmprs<>0: compress row information (column indices)

Definition at line 167 of file mpbits.f90.

Referenced by loop2().

subroutine spbits ( INTEGER(KIND=large), dimension(:,:), intent(in)  nsparr,
INTEGER, dimension(:), intent(out)  nsparc,
INTEGER, dimension(:), intent(in)  ncmprs 
)

Create sparsity information.

Parameters:
[in]nsparrrow offsets
[out]nsparccolumn indices
[in]ncmprscompression info (per row)

Definition at line 494 of file mpbits.f90.

Referenced by loop2().