============== Bitmask Module ============== The central part of this module is the ``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, when an integer ``X`` is used to represent a bit string (like a determinant for example), it should be defined as, for example: .. code-block:: fortran use bitmasks integer(bit_kind) :: X The ``bitmasks_routines.irp.f`` contains helper routines to manipulate bitmassk, like transforming a bit string to a list of integers for example. Assumptions =========== .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. ``bit_kind_shift``, ``bit_kind_size`` and ``bit_kind`` are coherent: .. code_block:: fortran 2**bit_kind_shift = bit_kind_size bit_kind = bit_kind_size / 8 Needed Modules ============== .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. * `AOs `_ * `Electrons `_ * `Ezfio_files `_ * `MOs `_ * `Nuclei `_ * `Output `_ * `Utils `_ Documentation ============= .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. `full_ijkl_bitmask `_ Bitmask to include all possible MOs `hf_bitmask `_ Hartree Fock bit mask `n_int `_ Number of 64-bit integers needed to represent determinants as binary strings `ref_bitmask `_ Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask `bitstring_to_hexa `_ Transform a bit string to a string in hexadecimal format for printing `bitstring_to_list `_ Gives the inidices(+1) of the bits set to 1 in the bit string `bitstring_to_str `_ Transform a bit string to a string for printing `list_to_bitstring `_ return the physical string "string(N_int,2)" from the array of occupations "list(N_int*bit_kind_size,2) list <== ipos ==> | v string :|------------------------|-------------------------|------------------------| <==== bit_kind_size ====> <==== bit_kind_size ====> <==== bit_kind_size ====> { iint } { iint } { iint }