diff --git a/src/Bitmask/ASSUMPTIONS.rst b/src/Bitmask/ASSUMPTIONS.rst index e69de29b..b7cd9966 100644 --- a/src/Bitmask/ASSUMPTIONS.rst +++ b/src/Bitmask/ASSUMPTIONS.rst @@ -0,0 +1,6 @@ +* ``bit_kind_shift``, ``bit_kind_size`` and ``bit_kind`` are coherent:: + + 2**bit_kind_shift = bit_kind_size + bit_kind = bit_kind_size / 8 + + diff --git a/src/Bitmask/README.rst b/src/Bitmask/README.rst index 7cfcb9ed..091d8475 100644 --- a/src/Bitmask/README.rst +++ b/src/Bitmask/README.rst @@ -2,6 +2,35 @@ 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 +.. ASSUMPTIONS.rst file. + +* ``bit_kind_shift``, ``bit_kind_size`` and ``bit_kind`` are coherent:: + + 2**bit_kind_shift = bit_kind_size + bit_kind = bit_kind_size / 8 + + + Needed Modules ============== diff --git a/src/Bitmask/bitmasks.irp.f b/src/Bitmask/bitmasks.irp.f index 91e21764..06e95431 100644 --- a/src/Bitmask/bitmasks.irp.f +++ b/src/Bitmask/bitmasks.irp.f @@ -12,7 +12,7 @@ END_PROVIDER BEGIN_PROVIDER [ integer(bit_kind), full_ijkl_bitmask, (N_int,4) ] implicit none BEGIN_DOC - ! Bitmask to include all possible integrals + ! Bitmask to include all possible MOs END_DOC integer :: i,j,n diff --git a/src/MOs/utils.irp.f b/src/MOs/utils.irp.f index 47dea1b5..315b9792 100644 --- a/src/MOs/utils.irp.f +++ b/src/MOs/utils.irp.f @@ -34,7 +34,7 @@ subroutine mo_as_eigvectors_of_mo_matrix(matrix,n,m,label) allocate(mo_coef_new(ao_num_align,m),eigvalues(m)) mo_coef_new = mo_coef - call jacobi_lapack(eigvalues,R,matrix,size(matrix,1),size(matrix,2)) + call lapack_diag(eigvalues,R,matrix,size(matrix,1),size(matrix,2)) integer :: i do i = 1, m print*,'eigvalues(i) = ',eigvalues(i)