mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-07 22:13:38 +01:00
|
||
---|---|---|
.. | ||
bitmask_cas_routines.irp.f | ||
bitmasks_module.f90 | ||
bitmasks_routines.irp.f | ||
bitmasks.ezfio_config | ||
bitmasks.irp.f | ||
core_inact_act_virt.irp.f | ||
example.irp.f | ||
EZFIO.cfg | ||
find_hole.irp.f | ||
modify_bitmasks.irp.f | ||
mpi.irp.f | ||
NEED | ||
README.rst | ||
track_orb.irp.f |
============== bitmask module ============== The central part of this module is the :file:`bitmasks_module.f90` file. It contains the constants that will be used to define on which kind of integer the bitmasks will be defined. In the program, to represent a determinant as a pair of bitstrings, the determinant should be defined as .. code-block:: fortran use bitmasks integer(bit_kind) :: determinant(N_int,2) :file:`bitmasks_routines.irp.f` contains helper routines to manipulate bitmask, like transforming a bit string to a list of integers for example. `bit_kind_shift`, `bit_kind_size` and `bit_kind` are supposed to be consistent:: 2**bit_kind_shift = bit_kind_size bit_kind = bit_kind_size / 8 For an example of how to use the bitmaks, see the file :file:`example.irp.f`.