diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index c41da81..2e37d17 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,59 +8,38 @@ on:
workflow_dispatch:
jobs:
- resources:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Create resource cache
- id: cache
- uses: actions/cache@v4
- with:
- path: ./fortran_tests/before/*/
- key: resources-${{ github.event_name }}
-
- - name: Prepare tests (default)
- if: ${{ steps.cache.outputs.cache-hit != 'true' }}
- run: |
- .travis/prep_regular.sh
-
- - name: Prepare tests (schedule)
- if: ${{ steps.cache.outputs.cache-hit != 'true' && github.event_name == 'schedule' }}
- run: |
- .travis/prep_cron.sh
pip:
- needs:
- - resources
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
- python: ["3.7", "3.8", "3.9", "3.10", "3.11-dev"]
+ python: ["3.10", "3.11", "3.12"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- - name: Load resources
- uses: actions/cache@v4
- with:
- path: ./fortran_tests/before/*/
- key: resources-${{ github.event_name }}
-
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
+ cache: pip
- name: Install project & dependencies
run: pip install .[dev]
- - name: Run tests
+ - name: Run unit and short integration tests
+ run: |
+ coverage run -p --source=fprettify run_tests.py -s unittests builtin regular
+
+ - name: Run long integration tests
+ if: ${{ github.event_name == 'schedule' }}
run: |
- coverage run --source=fprettify setup.py test
+ coverage run -p --source=fprettify run_tests.py -s cron
+
+ - name: Combine coverage files
+ run: coverage combine
- name: Coverage upload
run: coveralls --service=github
diff --git a/README.md b/README.md
index a1ea7f8..a4f130f 100644
--- a/README.md
+++ b/README.md
@@ -153,4 +153,120 @@ A = [-1, 10, 0, &
## Contributing / Testing
-The testing mechanism allows you to easily test fprettify with any Fortran project of your choice. Simply clone or copy your entire project into `fortran_tests/before` and run `python setup.py test`. The directory `fortran_tests/after` contains the test output (reformatted Fortran files). If testing fails, please submit an issue!
+When contributing new features by opening a pull request, testing is essential
+to verify that the new features behave as intended, and that there are no
+unwanted side effects. It is expected that before merging a pull request:
+1. one or more unit tests are added which test formatting of small Fortran code
+ snippets, covering all relevant aspects of the added features.
+2. if the changes lead to failures of existing tests, these test failures
+ should be carefully examined. Only if the test failures are due to
+ intended changes of `fprettify` defaults, or because of bug fixes, the
+ expected test results can be updated.
+
+
+### How to add a unit test
+
+Can the new feature be reasonably covered by small code snippets (< 10 lines)?
+- **Yes**: add a test by starting from the following skeleton, and by adding the code to the file `fprettify/tests/unittests.py`:
+
+```python
+ def test_something(self):
+ """short description"""
+
+ in = "Some Fortran code"
+ out = "Same Fortran code after fprettify formatting"
+
+ # selected fprettify command line arguments, as documented in "fprettify.py -h":
+ opt = ["arg 1", "value for arg 1", "arg2", ...]
+
+ # helper function checking that fprettify output is equal to "out":
+ self.assert_fprettify_result(opt, in, out)
+```
+
+ Then run `./run_tests.py -s unittests` and check in the output that the newly added unit test passes.
+
+
+- **No**: add a test by adding an example Fortran source file: Add the Fortran file
+ to `examples/in`, and the reformatted `fprettify` output to `examples/out`.
+ If the test requires non-default `fprettify` options, specify these options
+ as an annotation `! fprettify:` followed by the command-line arguments at the
+ beginning of the Fortran file. Then you'll need to manually remove
+ `fortran_tests/test_code/examples` to make sure that the test configuration
+ will be updated with the changes from `examples`.
+
+Then run `./run_tests.py -s builtin`, and check that the output mentions the
+newly added example with `checksum new ok`. Check that a new line containing
+the checksum for this example has been added to the file
+`fortran_tests/test_results/expected_results`, and commit this change along
+with your example. Rerun `./run_tests.py -s builtin` and check that the
+output mentions the newly added example with `checksum ok`.
+
+
+### How to add integration tests
+
+This is a mechanism to add external code bases (such as entire git repositories
+containing Fortran code) as test cases. In order to add a new code base as an
+integration test suite, add a new section to
+[testsuites.config](fortran_tests/testsuites.config), adhering to the following
+format:
+
+``INI
+[...] # arbitrary unique section name identifying test code
+obtain: ... # Python command to obtain test code base
+path: ... # relative path pointing to test code location
+suite: ... # which suite this test code should belong to
+``
+
+For `suite`, you should pick one of the following test suites:
+- `regular`: for small code bases (executed for every pull request)
+- `cron`: for larger code bases (executed nightly)
+
+
+### How to locally run all unit and integration tests:
+
+- unit tests: `./run_tests.py -s unittests`
+- builtin examples integration tests: `./run_tests.py -s builtin`
+- `regular`: integration test suite: `./run_tests.py -s regular`
+- `cron`: integration test suite (optional, takes a long time to execute): `./run_tests.py -s cron`
+- `custom`: a dedicated test suite for quick testing, shouldn't be committed.
+
+
+### How to locally run selected unit or integration tests:
+
+- unit tests: run
+ `python -m unittest -v fprettify.tests.unittests.FprettifyUnitTestCase.test_xxx`
+ (replacing `test_xxx` with the actual name of the test method)
+- integration tests: run
+ - a specific suite (`unittests`, `builtin`, `regular`, `cron` or `custom`)
+ `./run_tests.py -s ...`
+ - tests belonging to a config section (see [testsuites.config](fortran_tests/testsuites.config)):
+ `./run_tests.py -n ...`
+
+
+### How to deal with test failures
+
+Test failures are always due to fprettify-formatted code being different than
+expected. To examine what has changed, proceed as follows:
+- Unit tests: failures should be rather easy to understand because the test
+ output shows the diff of the actual vs. expected result.
+- Integration tests: we don't store the expected version of Fortran code,
+ instead we compare SHA256 checksums of the actual vs. expected result. The
+ test output shows the diff of the actual result vs. the *previous* version of
+ the code (that is, the version before `fprettify` was applied). Thus, in
+ order to obtain the diff of the actual vs. the *expected* result, the
+ following steps need to be executed:
+
+ 1. Run `./run_tests.py -s` followed by the name of the failed test suite. Check
+ the test output for lines mentioning test failures such as:
+ `Test top-level-dir/subdir/file.f (fprettify.tests.fortrantests.FprettifyIntegrationTestCase) ... checksum FAIL`.
+ 2. Check out the reference version of `fprettify` for which the test passes (normally, `develop` branch).
+ 3. Run the integration test(s) via `./run_tests.py -n top-level-dir` (replacing
+ `top-level-dir` with the actual directory mentioned in the test output).
+ 4. Check out the version of `fprettify` for which the test failed and run the integration tests again.
+ 5. Now the `diff` shown in the test output shows the exact changes which caused the test to fail.
+
+If you decide to accept the changes as new test references, proceed as follows:
+- Unit tests: update the expected test result within the respective test method (third argument to function `self.assert_fprettify_result`)
+- Integration tests: run `./run_tests.py ... -r` and commit the updated `fortran_tests/test_results/expected_results`. Then
+ run `./run_tests.py ...` and check that tests are passing now.
+
diff --git a/examples/example_after.f90 b/examples/example_after.f90
deleted file mode 120000
index 900636a..0000000
--- a/examples/example_after.f90
+++ /dev/null
@@ -1 +0,0 @@
-../fortran_tests/after/example.f90
\ No newline at end of file
diff --git a/examples/example_before.f90 b/examples/example_before.f90
deleted file mode 120000
index 2717454..0000000
--- a/examples/example_before.f90
+++ /dev/null
@@ -1 +0,0 @@
-../fortran_tests/before/example.f90
\ No newline at end of file
diff --git a/fortran_tests/before/example.f90 b/examples/in/example.f90
similarity index 100%
rename from fortran_tests/before/example.f90
rename to examples/in/example.f90
diff --git a/fortran_tests/before/example_swapcase.f90 b/examples/in/example_swapcase.f90
similarity index 99%
rename from fortran_tests/before/example_swapcase.f90
rename to examples/in/example_swapcase.f90
index ce85a95..a4a5b9a 100644
--- a/fortran_tests/before/example_swapcase.f90
+++ b/examples/in/example_swapcase.f90
@@ -1,4 +1,4 @@
-
+! fprettify: --case 1 1 1 1
MODULE exAmple
IMPLICIT NONE
PRIVATE
diff --git a/fortran_tests/before/test_fypp.f90 b/examples/in/test_fypp.f90
similarity index 100%
rename from fortran_tests/before/test_fypp.f90
rename to examples/in/test_fypp.f90
diff --git a/fortran_tests/before/test_invalid.f90 b/examples/in/test_invalid.f90
similarity index 100%
rename from fortran_tests/before/test_invalid.f90
rename to examples/in/test_invalid.f90
diff --git a/fortran_tests/before/test_namelist_block_select.f90 b/examples/in/test_namelist_block_select.f90
similarity index 100%
rename from fortran_tests/before/test_namelist_block_select.f90
rename to examples/in/test_namelist_block_select.f90
diff --git a/fortran_tests/before/where_forall.f90 b/examples/in/where_forall.f90
similarity index 100%
rename from fortran_tests/before/where_forall.f90
rename to examples/in/where_forall.f90
diff --git a/fortran_tests/after/example.f90 b/examples/out/example.f90
similarity index 100%
rename from fortran_tests/after/example.f90
rename to examples/out/example.f90
diff --git a/fortran_tests/after/example_swapcase.f90-enabled b/examples/out/example_swapcase.f90
similarity index 86%
rename from fortran_tests/after/example_swapcase.f90-enabled
rename to examples/out/example_swapcase.f90
index 06ba99f..d19162b 100644
--- a/fortran_tests/after/example_swapcase.f90-enabled
+++ b/examples/out/example_swapcase.f90
@@ -1,4 +1,4 @@
-
+! fprettify: --case 1 1 1 1
module exAmple
implicit none
private
@@ -33,17 +33,17 @@ module exAmple
character(len=*), parameter :: c = 'INTEGER, "PARAMETER"' !should not change case in string
character(len=*), parameter :: d = "INTEGER, 'PARAMETER" !should not change case in string
- integer(kind=INT64), parameter :: l64 = 2_INT64
- real(kind=REAL64), parameter :: r64a = 2._REAL64
- real(kind=REAL64), parameter :: r64b = 2.0_REAL64
- real(kind=REAL64), parameter :: r64c = .0_REAL64
- real(kind=REAL64), parameter :: r64a = 2.E3_REAL64
- real(kind=REAL64), parameter :: r64b = 2.0E3_REAL64
- real(kind=REAL64), parameter :: r64c = .0E3_REAL64
+ integer(kind=int64), parameter :: l64 = 2_int64
+ real(kind=real64), parameter :: r64a = 2._real64
+ real(kind=real64), parameter :: r64b = 2.0_real64
+ real(kind=real64), parameter :: r64c = .0_real64
+ real(kind=real64), parameter :: r64a = 2.e3_real64
+ real(kind=real64), parameter :: r64b = 2.0e3_real64
+ real(kind=real64), parameter :: r64c = .0e3_real64
integer, parameter :: dp = selected_real_kind(15, 307)
type test_type
- real(kind=dp) :: r = 1.0D-3
+ real(kind=dp) :: r = 1.0d-3
integer :: i
end type test_type
@@ -51,17 +51,17 @@ module exAmple
subroutine test_routine( &
r, i, j, k, l)
- use ISO_FORTRAN_ENV, only: INT64
+ use iso_fortran_env, only: int64
integer, intent(in) :: r, i, j, k
integer, intent(out) :: l
- integer(kind=INT64) :: l64
+ integer(kind=int64) :: l64
l = test_function(r, i, j, k)
- l64 = 2_INT64
- if (l .eq. 2) l = max(l64, 2_INT64)
- if (l .eq. 2) l = max(l64, 2_INT64)
+ l64 = 2_int64
+ if (l .eq. 2) l = max(l64, 2_int64)
+ if (l .eq. 2) l = max(l64, 2_int64)
if (l .eq. 2) l = max
end &
@@ -84,7 +84,7 @@ pure function test_function(r, i, j, &
l = 0
else
l = 1
- endif
+ end if
end function
end module
@@ -107,12 +107,12 @@ program example_prog
!***************************!
! example 1.1
r = 1; i = -2; j = 3; k = 4; l = 5
- r2 = 0.0_DP; r3 = 1.0_DP; r4 = 2.0_DP; r5 = 3.0_DP; r6 = 4.0_DP
- r1 = -(r2**i*(r3 + r5*(-r4) - r6)) - 2.E+2
+ r2 = 0.0_dp; r3 = 1.0_dp; r4 = 2.0_dp; r5 = 3.0_dp; r6 = 4.0_dp
+ r1 = -(r2**i*(r3 + r5*(-r4) - r6)) - 2.e+2
if (r .eq. 2 .and. r <= 5) i = 3
write (*, *) (merge(3, 1, i <= 2))
write (*, *) test_function(r, i, j, k)
- t%r = 4.0_DP
+ t%r = 4.0_dp
t%i = str_function("t % i = ")
! example 1.2
@@ -164,13 +164,13 @@ program example_prog
do k = 1, 3
if (k == 1) l = l + 1
end do
- enddo
- endif
- enddo do_label
+ end do
+ end if
+ end do do_label
case (2)
l = i + j + k
end select
- enddo
+ end do
! example 2.2
do m = 1, 2
@@ -182,13 +182,13 @@ program example_prog
do my_integer = 1, 1
do j = 1, 2
write (*, *) test_function(m, r, k, l) + i
- enddo
- enddo
- enddo
- enddo
- enddo
- enddo
- enddo
+ end do
+ end do
+ end do
+ end do
+ end do
+ end do
+ end do
! 3) auto alignment for linebreaks !
!************************************!
@@ -249,17 +249,17 @@ program example_prog
l = l + 1
! unindented comment
! indented comment
- end do; enddo
+ end do; end do
elseif (.not. j == 4) then
my_integer = 4
else
write (*, *) " hello"
- endif
- enddo
+ end if
+ end do
case (2)
l = i + j + k
end select
- enddo
+ end do
! example 4.2
if ( &
@@ -279,7 +279,7 @@ program example_prog
end & ! comment
! comment
do
- endif
+ end if
! example 4.3
arr = [1, (/3, 4, &
@@ -294,11 +294,11 @@ program example_prog
endif = 5
else if (endif == 3) then
write (*, *) endif
- endif
+ end if
! example 4.5
do i = 1, 2; if (.true.) then
write (*, *) "hello"
- endif; enddo
+ end if; end do
end program
diff --git a/fortran_tests/after/test_fypp.f90 b/examples/out/test_fypp.f90
similarity index 100%
rename from fortran_tests/after/test_fypp.f90
rename to examples/out/test_fypp.f90
diff --git a/fortran_tests/after/test_invalid.f90 b/examples/out/test_invalid.f90
similarity index 100%
rename from fortran_tests/after/test_invalid.f90
rename to examples/out/test_invalid.f90
diff --git a/fortran_tests/after/test_namelist_block_select.f90 b/examples/out/test_namelist_block_select.f90
similarity index 100%
rename from fortran_tests/after/test_namelist_block_select.f90
rename to examples/out/test_namelist_block_select.f90
diff --git a/fortran_tests/after/where_forall.f90 b/examples/out/where_forall.f90
similarity index 100%
rename from fortran_tests/after/where_forall.f90
rename to examples/out/where_forall.f90
diff --git a/fortran_tests/after/example_swapcase.f90 b/fortran_tests/after/example_swapcase.f90
deleted file mode 100644
index 53a8f2e..0000000
--- a/fortran_tests/after/example_swapcase.f90
+++ /dev/null
@@ -1,304 +0,0 @@
-
-MODULE exAmple
- IMPLICIT NONE
- PRIVATE
- PUBLIC :: dp, test_routine, &
- test_function, test_type, str_function
-
-! Comment, should not change case nor spaces
-!!$ INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND ( 15 , 307)
-!!$ TYPE test_type
-!!$ REAL (kind =dp ) :: r = 1.0d-3
-!!$ INTEGER :: i
-!!$ END TYPE test_type
-!!$
-!!$
-!!$CONTAINS
-!!$
-!!$
-!!$ SUBROUTINE test_routine( &
-!!$ r, i, j, k, l)
-!!$ INTEGER, INTENT(in) :: r, i, j, k
-!!$ INTEGER, INTENT (out) :: l
-!!$
-!!$ l = test_function(r,i,j,k)
-!!$ END &
-!!$SUBROUTINE
-
- INTEGER, PARAMETER :: SELECTED_REAL_KIND = 1*2
- INTEGER, PARAMETER :: dp1 = SELECTED_REAL_KIND(15, 307) ! SELECTED_REAL_KIND ( 15 , 307) !should not change case in comment
-
- character(len=*), parameter :: a = 'INTEGER, PARAMETER'//'b'!should not change case in string
- character(len=*), parameter :: b = "INTEGER, PARAMETER" !should not change case in string
- character(len=*), parameter :: c = 'INTEGER, "PARAMETER"' !should not change case in string
- character(len=*), parameter :: d = "INTEGER, 'PARAMETER" !should not change case in string
-
- INTEGER(kind=int64), parameter :: l64 = 2_int64
- REAL(kind=real64), parameter :: r64a = 2._real64
- REAL(kind=real64), parameter :: r64b = 2.0_real64
- REAL(kind=real64), parameter :: r64c = .0_real64
- REAL(kind=real64), parameter :: r64a = 2.e3_real64
- REAL(kind=real64), parameter :: r64b = 2.0e3_real64
- REAL(kind=real64), parameter :: r64c = .0e3_real64
-
- INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15, 307)
- TYPE test_type
- REAL(kind=dp) :: r = 1.0d-3
- INTEGER :: i
- END TYPE test_type
-
-CONTAINS
-
- SUBROUTINE test_routine( &
- r, i, j, k, l)
- USE iso_fortran_env, only: int64
- INTEGER, INTENT(in) :: r, i, j, k
- INTEGER, INTENT(out) :: l
-
- INTEGER(kind=int64) :: l64
-
- l = test_function(r, i, j, k)
-
- l64 = 2_int64
- IF (l .EQ. 2) l = max(l64, 2_int64)
- IF (l .EQ. 2) l = max(l64, 2_int64)
- IF (l .EQ. 2) l = max
-
- END &
- SUBROUTINE
-
- PURE FUNCTION test_function(r, i, j, &
- k) &
- RESULT(l)
- INTEGER, INTENT(in) :: r, i, j, k
- INTEGER :: l
-
- l = r + i + j + k
- END FUNCTION
- FUNCTION &
- str_function(a) RESULT(l)
- CHARACTER(len=*) :: a
- INTEGER :: l
-
- IF (LEN(a) < 5) THEN
- l = 0
- ELSE
- l = 1
- END IF
- END FUNCTION
-
-END MODULE
-
-PROGRAM example_prog
- USE example, ONLY: dp, test_routine, test_function, test_type, str_function
-
- IMPLICIT NONE
- INTEGER :: r, i, j, k, l, my_integer, m
- INTEGER, DIMENSION(5) :: arr
- INTEGER, DIMENSION(20) :: big_arr
- INTEGER :: ENDIF
- TYPE(test_type) :: t
- REAL(kind=dp) :: r1, r2, r3, r4, r5, r6
- INTEGER, POINTER :: point
-
- point => NULL()
-
-! 1) white space formatting !
-!***************************!
-! example 1.1
- r = 1; i = -2; j = 3; k = 4; l = 5
- r2 = 0.0_dp; r3 = 1.0_dp; r4 = 2.0_dp; r5 = 3.0_dp; r6 = 4.0_dp
- r1 = -(r2**i*(r3 + r5*(-r4) - r6)) - 2.e+2
- IF (r .EQ. 2 .AND. r <= 5) i = 3
- WRITE (*, *) (MERGE(3, 1, i <= 2))
- WRITE (*, *) test_function(r, i, j, k)
- t%r = 4.0_dp
- t%i = str_function("t % i = ")
-
-! example 1.2
- my_integer = 2
- i = 3
- j = 5
-
- big_arr = [1, 2, 3, 4, 5, &
- 6, 7, 8, 9, 10, &
- 11, 12, 13, 14, 15, &
- 16, 17, 18, 19, 20]
-
-! example 1.3: disabling auto-formatter:
- my_integer = 2 !&
- i = 3 !&
- j = 5 !&
-
-!&<
- my_integer = 2
- i = 3
- j = 5
-!&>
-
- big_arr = [ 1, 2, 3, 4, 5, & !&
- 6, 7, 8, 9, 10, & !&
- 11, 12, 13, 14, 15, & !&
- 16, 17, 18, 19, 20] !&
-
-! example 1.4:
-
- big_arr = [1, 2, 3, 4, 5,&
- & 6, 7, 8, 9, 10, &
- & 11, 12, 13, 14, 15,&
- &16, 17, 18, 19, 20]
-
-! 2) auto indentation for loops !
-!*******************************!
-
-! example 2.1
- l = 0
- DO r = 1, 10
- SELECT CASE (r)
- CASE (1)
- do_label: DO i = 1, 100
- IF (i <= 2) THEN
- m = 0
- DO WHILE (m < 4)
- m = m + 1
- DO k = 1, 3
- IF (k == 1) l = l + 1
- END DO
- END DO
- END IF
- END DO do_label
- CASE (2)
- l = i + j + k
- END SELECT
- END DO
-
-! example 2.2
- DO m = 1, 2
- DO r = 1, 3
- WRITE (*, *) r
- DO k = 1, 4
- DO l = 1, 3
- DO i = 4, 5
- DO my_integer = 1, 1
- DO j = 1, 2
- WRITE (*, *) test_function(m, r, k, l) + i
- END DO
- END DO
- END DO
- END DO
- END DO
- END DO
- END DO
-
-! 3) auto alignment for linebreaks !
-!************************************!
-
-! example 3.1
- l = test_function(1, 2, test_function(1, 2, 3, 4), 4) + 3*(2 + 1)
-
- l = test_function(1, 2, test_function(1, 2, 3, 4), 4) + &
- 3*(2 + 1)
-
- l = test_function(1, 2, &
- test_function(1, 2, 3, 4), 4) + &
- 3*(2 + 1)
-
- l = test_function(1, 2, &
- test_function(1, 2, 3, &
- 4), 4) + &
- 3*(2 + 1)
-
-! example 3.2
- arr = [1, (/3, 4, 5/), 6] + [1, 2, 3, 4, 5]
-
- arr = [1, (/3, 4, 5/), &
- 6] + [1, 2, 3, 4, 5]
-
- arr = [1, (/3, 4, 5/), &
- 6] + &
- [1, 2, 3, 4, 5]
-
- arr = [1, (/3, 4, &
- 5/), &
- 6] + &
- [1, 2, 3, 4, 5]
-
-! example 3.3
- l = test_function(1, 2, &
- 3, 4)
-
- l = test_function( &
- 1, 2, 3, 4)
-
- arr = [1, 2, &
- 3, 4, 5]
- arr = [ &
- 1, 2, 3, 4, 5]
-
-! 4) more complex formatting and tricky test cases !
-!**************************************************!
-
-! example 4.1
- l = 0
- DO r = 1, 10
- SELECT CASE (r)
- CASE (1)
- DO i = 1, 100; IF (i <= 2) THEN! comment
- DO j = 1, 5
- DO k = 1, 3
- l = l + 1
-! unindented comment
- ! indented comment
- END DO; END DO
- ELSEIF (.NOT. j == 4) THEN
- my_integer = 4
- ELSE
- WRITE (*, *) " hello"
- END IF
- END DO
- CASE (2)
- l = i + j + k
- END SELECT
- END DO
-
-! example 4.2
- IF ( &
- l == &
- 111) &
- THEN
- DO k = 1, 2
- IF (k == 1) &
- l = test_function(1, &
- test_function(r=4, i=5, &
- j=6, k=test_function(1, 2*(3*(1 + 1)), str_function(")a!(b['(;=dfe"), &
- 9) + &
- test_function(1, 2, 3, 4)), 9, 10) &
- ! test_function(1,2,3,4)),9,10) &
- ! +13*str_function('') + str_function('"')
- + 13*str_function('') + str_function('"')
- END & ! comment
- ! comment
- DO
- END IF
-
-! example 4.3
- arr = [1, (/3, 4, &
- 5/), &
- 6] + &
- [1, 2, 3, 4, 5]; arr = [1, 2, &
- 3, 4, 5]
-
-! example 4.4
- ENDIF = 3
- IF (ENDIF == 2) THEN
- ENDIF = 5
- ELSE IF (ENDIF == 3) THEN
- WRITE (*, *) ENDIF
- END IF
-
-! example 4.5
- DO i = 1, 2; IF (.TRUE.) THEN
- WRITE (*, *) "hello"
- END IF; END DO
-
-END PROGRAM
diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results
index e109307..4235d0c 100644
--- a/fortran_tests/test_results/expected_results
+++ b/fortran_tests/test_results/expected_results
@@ -1,5 +1,4 @@
-example.f90 : f5b449553856f8e62b253402ed2189044554f53c9954aad045db44ff3c2d49b7
-RosettaCodeData/Task/100-doors/Fortran/100-doors-1.f : b44289edb55a75ca29407be3ca0d997119253d4c7adb5b3dfc1119944036ab0f
+RosettaCodeData/Task/100-doors/Fortran/100-doors-1.f : fb2e26d1d430a3473b8a925af2fc1be6ab0642bf841e9efd5d65ecb10445d3cd
RosettaCodeData/Task/100-doors/Fortran/100-doors-2.f : 263122b2af3e3637a7dab0bc0216dec27d76068b7352e9ab85e420de625408be
RosettaCodeData/Task/24-game-Solve/Fortran/24-game-solve-1.f : 8927cfcfe15685f1513ed923b7ac38058358ec6586de83920679b537aa5b2d03
RosettaCodeData/Task/24-game-Solve/Fortran/24-game-solve-2.f : 415609bd937430deda8a73d20dc79a2ed3e6ff5f7458f760d154938ec5cc6c09
@@ -13,7 +12,7 @@ RosettaCodeData/Task/ABC-Problem/Fortran/abc-problem-2.f : 7b72cc9206a3252c68e8e
RosettaCodeData/Task/AKS-test-for-primes/Fortran/aks-test-for-primes.f : 2b2a7946894d08c2046c4f1574321e7647279b7a9fee61de493412945cbaf45a
RosettaCodeData/Task/Abundant,-deficient-and-perfect-number-classifications/Fortran/abundant,-deficient-and-perfect-number-classifications.f : 2a08932a1b391d77a2fcb1503b90852d189f6f573b8804a65d4761b6e8478f9c
RosettaCodeData/Task/Ackermann-function/Fortran/ackermann-function.f : 599ed2ad43b48a4fb57831029e4a122a45e380685438bc7a7abead154cfa12f0
-RosettaCodeData/Task/Address-of-a-variable/Fortran/address-of-a-variable.f : 444eca911457166518d7fcc77d9dfbe8097c737055923aa1eac6c64048cef6a0
+RosettaCodeData/Task/Address-of-a-variable/Fortran/address-of-a-variable.f : 05c4d4bb1358e35769b1adc3362e64dc1011d5a6e4f779289f43bb59f6c11434
RosettaCodeData/Task/Align-columns/Fortran/align-columns.f : f0cc8c9353edcf6cc9702fe071ef5c7bea77dfe509d239ceda8c782a9ace1206
RosettaCodeData/Task/Aliquot-sequence-classifications/Fortran/aliquot-sequence-classifications.f : e35ca3f1d7209a33057ad74d782185a68b1dcfb0494dc822ea774c4f878e729a
RosettaCodeData/Task/Amicable-pairs/Fortran/amicable-pairs.f : bca56273936968930bb44f97e1a8f4583d2e2d842ffb9f94c3efc6e9244be7f1
@@ -80,7 +79,7 @@ RosettaCodeData/Task/Averages-Pythagorean-means/Fortran/averages-pythagorean-mea
RosettaCodeData/Task/Averages-Root-mean-square/Fortran/averages-root-mean-square.f : c91a4cd3ce7dbb9ce8fa753f767a4ccd3fbe17435415839d44338248d2fb14ff
RosettaCodeData/Task/Averages-Simple-moving-average/Fortran/averages-simple-moving-average.f : 0d491d70d629b0cf7388399eafc6d795eeba199efd6faf0a408e219273bde08d
RosettaCodeData/Task/Balanced-brackets/Fortran/balanced-brackets.f : 4f6a094ddd888d2c43075746eae3aa02ca8fe6deba0d9f52079d72d692cf2303
-RosettaCodeData/Task/Benfords-law/Fortran/benfords-law-1.f : 2fa83481991367715f49bdd781a45d6d44c98d054c920a7eefbd2e875bc71108
+RosettaCodeData/Task/Benfords-law/Fortran/benfords-law-1.f : 56df989a6423e8f846fb3227638fb1117288d47834c62d87feab7a18614a44f4
RosettaCodeData/Task/Benfords-law/Fortran/benfords-law-2.f : 0a346752595aa255330184b62aa26a966110e7470640e02097a8da7df42fec4c
RosettaCodeData/Task/Binary-digits/Fortran/binary-digits.f : 72dbcf0cfd0964746bcf1b0336a864655d925c979e3def6ce3d30855d2b63f4b
RosettaCodeData/Task/Binary-search/Fortran/binary-search-1.f : 55673449fc1f7030c16bdb8fb4e235c5bb73d8785a31e5150ae224b10ae3a368
@@ -98,7 +97,7 @@ RosettaCodeData/Task/Bitmap-Histogram/Fortran/bitmap-histogram-2.f : 6518afa751d
RosettaCodeData/Task/Bitmap-Midpoint-circle-algorithm/Fortran/bitmap-midpoint-circle-algorithm-1.f : e80e2195c3a35be50d79fd20f4ccdb8d957955fea0949da36d190d751b119d3d
RosettaCodeData/Task/Bitmap-Midpoint-circle-algorithm/Fortran/bitmap-midpoint-circle-algorithm-2.f : 2279f07e9e8ec9516b1826600ca5fd5b8b3594d2ac4569784c70adbce140b632
RosettaCodeData/Task/Bitmap-Read-a-PPM-file/Fortran/bitmap-read-a-ppm-file.f : 65b4a0e147ccafed52a0abdaabd436caa469b5d9d23d21cc35ea2699bb44d20c
-RosettaCodeData/Task/Bitmap-Write-a-PPM-file/Fortran/bitmap-write-a-ppm-file.f : 48812330a10730d4962388f38db74c75fb5374775f8e88d83a76ded2063aa46e
+RosettaCodeData/Task/Bitmap-Write-a-PPM-file/Fortran/bitmap-write-a-ppm-file.f : 48500dc2fba63457a1c18bc5c83ebce83fe028f56cf3608bb4edac440e5b9340
RosettaCodeData/Task/Bitwise-operations/Fortran/bitwise-operations-1.f : 6cfe714500c20d3a6e7888239416fb7f77399a7bf6a51e4ff768e7d093b24575
RosettaCodeData/Task/Bitwise-operations/Fortran/bitwise-operations-2.f : a9193f43c5730852303816e09ac06b7583e5a0fdfe00119594be8984818f1d82
RosettaCodeData/Task/Bitwise-operations/Fortran/bitwise-operations-3.f : 5307a19d719c87432cdce43013eadc2701ad6d49886468a1beb501373c815262
@@ -141,7 +140,7 @@ RosettaCodeData/Task/Circles-of-given-radius-through-two-points/Fortran/circles-
RosettaCodeData/Task/Combinations-with-repetitions/Fortran/combinations-with-repetitions.f : e6122e6ad2d8df82990ef22660ae7a6a3ab599b08ad4d81cf8215ac5bd5039b8
RosettaCodeData/Task/Combinations/Fortran/combinations-1.f : ad06cf46e5663fd9b799358ed2b9d5c89c57273634f337133f0b8374c02644ca
RosettaCodeData/Task/Combinations/Fortran/combinations-2.f : a67a61776d3c8a088281789b78775501bafe832d2a2c5db85adf0f464e52047d
-RosettaCodeData/Task/Combinations/Fortran/combinations-3.f : df645c76dfccb1eb91f017d95dfaf7babeb5d00d41790b1d92a707cd81c102cc
+RosettaCodeData/Task/Combinations/Fortran/combinations-3.f : cf88ae769823d7dd3b3aea31afd1cba470464b9d7bdfc824ce8affcad40696c9
RosettaCodeData/Task/Comma-quibbling/Fortran/comma-quibbling.f : fef4b8cc289a7caa07d3f7fa20d8afbe797916c13068efd91322216ac47e220e
RosettaCodeData/Task/Command-line-arguments/Fortran/command-line-arguments-1.f : da5232bb85e3d0943a199898f255038f77cc23a5accb3ded1bf5f272cba579c5
RosettaCodeData/Task/Command-line-arguments/Fortran/command-line-arguments-2.f : internal error
@@ -163,7 +162,7 @@ RosettaCodeData/Task/Conways-Game-of-Life/Fortran/conways-game-of-life.f : ed15b
RosettaCodeData/Task/Copy-a-string/Fortran/copy-a-string.f : 4ea80099c87cfa83799cacff9aa41a52ace04b3e2c366cc80b0af6773a77d64c
RosettaCodeData/Task/Count-in-factors/Fortran/count-in-factors.f : 682dd044dcc769bbddcb7ecf9d2c283222f0f73ca3faffc1f89b4d8b024e43db
RosettaCodeData/Task/Count-in-octal/Fortran/count-in-octal.f : a8595f6a19be39db10ed668746a7f498b1ff6105f7a47e6f2220e9f05cba130b
-RosettaCodeData/Task/Count-occurrences-of-a-substring/Fortran/count-occurrences-of-a-substring.f : decfb7c28f048aeae68f8ef60056ccce79773fca753abbededdd728a7b7a4f79
+RosettaCodeData/Task/Count-occurrences-of-a-substring/Fortran/count-occurrences-of-a-substring.f : cbb0c146faad9720a4e98e0488f9030d4e437e59753a6222fd29ea0f317a34d4
RosettaCodeData/Task/Create-a-file/Fortran/create-a-file.f : bee7659309b238dd6229d97b5e76b6ae87cc960b282c083c1295364d88d471aa
RosettaCodeData/Task/Create-a-two-dimensional-array-at-runtime/Fortran/create-a-two-dimensional-array-at-runtime.f : 8581051c5fffeffc4a719c2db968b3588a6143488b435381556f2da1c9099378
RosettaCodeData/Task/Create-an-HTML-table/Fortran/create-an-html-table.f : c5997233bd75146e2fe0dbc14ec8cae6cb76fff02f4734b35257c0182c5b7e4c
@@ -184,7 +183,7 @@ RosettaCodeData/Task/Dot-product/Fortran/dot-product.f : 950e5fd7af154f5eadba82c
RosettaCodeData/Task/Doubly-linked-list-Definition/Fortran/doubly-linked-list-definition.f : b89738e53c4aa5263b1d07e47e4c23ddbc3ee52d4075bde8d62941390b493b1c
RosettaCodeData/Task/Doubly-linked-list-Element-definition/Fortran/doubly-linked-list-element-definition.f : 7a7a98feb6d30d5f36df83ad6dc4ebbb9a73aada1a148c1f4ed651420016ae58
RosettaCodeData/Task/Doubly-linked-list-Element-insertion/Fortran/doubly-linked-list-element-insertion-1.f : 1b49784bec51bf3d7663a04b910bb8be6cd7101d318a5333b6a8db49b8a5d241
-RosettaCodeData/Task/Doubly-linked-list-Element-insertion/Fortran/doubly-linked-list-element-insertion-2.f : 892bcdcc9185afd349eaddef76b4a8bfc3eef2495eec7a826665650337699cbf
+RosettaCodeData/Task/Doubly-linked-list-Element-insertion/Fortran/doubly-linked-list-element-insertion-2.f : eb111a386c67ef2576b14d58efb4130aa89c157b8763428309630e699978e126
RosettaCodeData/Task/Doubly-linked-list-Traversal/Fortran/doubly-linked-list-traversal.f : e1a8f43b755478735c3ff1f47abb838d6433526cb9e3f815e90842bf27f58aa5
RosettaCodeData/Task/Draw-a-clock/Fortran/draw-a-clock.f : 01b170af9c6990bf2bc15954d5aef6a4afc06f3e6891afefa09d188b90b6eede
RosettaCodeData/Task/Dutch-national-flag-problem/Fortran/dutch-national-flag-problem.f : c643bd95d62a299f3db7b11e644f9b1647af4eb3b8d43375ebe3ebcb44730490
@@ -199,7 +198,7 @@ RosettaCodeData/Task/Equilibrium-index/Fortran/equilibrium-index.f : 23ea1bb443f
RosettaCodeData/Task/Ethiopian-multiplication/Fortran/ethiopian-multiplication.f : f19bdb1fb9eaa1f9ce9b3f68cd8560ecc0016039c76b2e5fe23c1e458e419ad5
RosettaCodeData/Task/Euler-method/Fortran/euler-method.f : 49675f5fcb80d439f482ed265e80de664fdcc609af9eaeddc4349eb4a1a22ff1
RosettaCodeData/Task/Evaluate-binomial-coefficients/Fortran/evaluate-binomial-coefficients-1.f : 3305f7383cf813b6fcfc38c3cb3ff6cd2b4a6658bb8e7f809beb74d223164e99
-RosettaCodeData/Task/Evaluate-binomial-coefficients/Fortran/evaluate-binomial-coefficients-2.f : 917df3320d778ddbaa5c5c7742bc4046bf803c36ed2b050f30844ed206783469
+RosettaCodeData/Task/Evaluate-binomial-coefficients/Fortran/evaluate-binomial-coefficients-2.f : ee437ca111ffe375a35d5867ec901496f92b2e0c87317ed7cdbc578d638c148b
RosettaCodeData/Task/Evaluate-binomial-coefficients/Fortran/evaluate-binomial-coefficients.f : 3305f7383cf813b6fcfc38c3cb3ff6cd2b4a6658bb8e7f809beb74d223164e99
RosettaCodeData/Task/Even-or-odd/Fortran/even-or-odd.f : 0e4cc270e588ce499f8e08cef33339c497b9b87e387cb9c18b7fbbd3a2b856fd
RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-1.f : 517c7d8b5f9ab77136c983ea64d58bb9e334adf39fde925bf13f05bf14d8d94e
@@ -217,10 +216,10 @@ RosettaCodeData/Task/Extensible-prime-generator/Fortran/extensible-prime-generat
RosettaCodeData/Task/Extreme-floating-point-values/Fortran/extreme-floating-point-values-1.f : 3191912c6da70a661aeaf99e586a791607d60f26de1d5a83f13eca9c70762321
RosettaCodeData/Task/Extreme-floating-point-values/Fortran/extreme-floating-point-values-2.f : c81caa3f93fb96d728c337381ee225ce3052e0f1ae8ca25b23f01203a00aca08
RosettaCodeData/Task/Factorial/Fortran/factorial-1.f : e75d5525ec26d7c2eb11000a514ee3c40b933f8bc7f10a6745519fa61c069fe1
-RosettaCodeData/Task/Factorial/Fortran/factorial-2.f : 88ff818552c6fa9dbafa9b6e5136fb07994347575bc5d277e2a2ee7babfbe04e
+RosettaCodeData/Task/Factorial/Fortran/factorial-2.f : 20dbf7b5962bb60e16f62ad444742958c79d88b9b761afe87fd4b0ee4fa90532
RosettaCodeData/Task/Factors-of-a-Mersenne-number/Fortran/factors-of-a-mersenne-number.f : 536a3e0f2d541c7bc94c92666d0d0a873469494476503e58a00c4957be98eac7
RosettaCodeData/Task/Factors-of-an-integer/Fortran/factors-of-an-integer.f : e30ace4f19d882d40be0166a5de709821ebd97ebc3db37ca9743c50aae23981d
-RosettaCodeData/Task/Fast-Fourier-transform/Fortran/fast-fourier-transform.f : a9ce02eca36c53619e108b1ad7bbea9aa7994349a065432fe4495a46b4bd0101
+RosettaCodeData/Task/Fast-Fourier-transform/Fortran/fast-fourier-transform.f : d3509eba1e7c66241fe80d652a0cd7a02676d167d3d3fbfa54ceb951d4708a92
RosettaCodeData/Task/Fibonacci-n-step-number-sequences/Fortran/fibonacci-n-step-number-sequences.f : 528289e9bb4c9409176a91790eecc170493f0e54d3aa9b811c460f7687e89c6e
RosettaCodeData/Task/Fibonacci-sequence/Fortran/fibonacci-sequence-1.f : 51a0d76cae507358612eff0ae1a938f1898870882a4a9a869b8dfad1cbb3db0c
RosettaCodeData/Task/Fibonacci-sequence/Fortran/fibonacci-sequence-2.f : 066048954e8b3ec3e4ab7a978947e3e8353a008e5ddd292de07127612f8f5c25
@@ -299,18 +298,18 @@ RosettaCodeData/Task/Hello-world-Newline-omission/Fortran/hello-world-newline-om
RosettaCodeData/Task/Hello-world-Newline-omission/Fortran/hello-world-newline-omission-2.f : 6b6fd5732919638e2dc9d7b9346274c0122d1c66c251e3e3d4bd57e4af1f817f
RosettaCodeData/Task/Hello-world-Standard-error/Fortran/hello-world-standard-error.f : 911acb9589db869aa7b4772e4c18a2cdc63bb82ec283617b464130217ccf637b
RosettaCodeData/Task/Hello-world-Text/Fortran/hello-world-text-1.f : 72eded4a9e386a5ddb9430da2bca5b11d851d20cf18c304a4449334bff0e2045
-RosettaCodeData/Task/Hello-world-Text/Fortran/hello-world-text-2.f : 061f685f5143707c22d608b55102e3da3a71dbedae5f2e71f3bc4216fc92073b
+RosettaCodeData/Task/Hello-world-Text/Fortran/hello-world-text-2.f : dd117e9c323640d2521c8877f36437c8fd823c12a3bcd820342c537f3bc2f0d4
RosettaCodeData/Task/Hello-world-Text/Fortran/hello-world-text-3.f : 32d370f88b797c1b42986192ee6bcbd195e089f0f04975b82cd92f9fadab675f
-RosettaCodeData/Task/Hello-world-Web-server/Fortran/hello-world-web-server.f : 85479ed055218ad1fc69c422e40d5710b6714962b576cea05fe2dcc7c76d785f
+RosettaCodeData/Task/Hello-world-Web-server/Fortran/hello-world-web-server.f : 958b99991e0ce7254d0f22e5bc310255c6c6427490460471de5cdb45d3106ac7
RosettaCodeData/Task/Here-document/Fortran/here-document.f : internal error
RosettaCodeData/Task/Heronian-triangles/Fortran/heronian-triangles.f : 140742694498790304d5cd8c79a3508498416501d176ff5ff84b845b087ba81d
-RosettaCodeData/Task/Hickerson-series-of-almost-integers/Fortran/hickerson-series-of-almost-integers.f : 950c5ef9194f04ea6e696d2068da307f582079c29c629b79ab14aa4881df28a1
+RosettaCodeData/Task/Hickerson-series-of-almost-integers/Fortran/hickerson-series-of-almost-integers.f : f8136167c1f5a832d8e34f1fc531f945585f17e2097b106999f6d26f34147799
RosettaCodeData/Task/Higher-order-functions/Fortran/higher-order-functions-1.f : d2cdc0593b5ad77b5a9dd69ac30ca14d967fd708582c9c72c83b403d021b5ac1
RosettaCodeData/Task/Higher-order-functions/Fortran/higher-order-functions-2.f : 157c0025438a94fa358c6aca71947b041fcbc598cd8cf4566b9588b0d9523d77
RosettaCodeData/Task/Hofstadter-Conway-$10,000-sequence/Fortran/hofstadter-conway-$10,000-sequence.f : 08ed8ddf563b7228f96583e5314dfcfcc75cbda172c6015dd13b0338a0fab520
RosettaCodeData/Task/Hofstadter-Q-sequence/Fortran/hofstadter-q-sequence.f : f6e01e28a42c02164adec326e612d4bac36fc4e326251156062e0667eecb4df9
RosettaCodeData/Task/Horizontal-sundial-calculations/Fortran/horizontal-sundial-calculations.f : 97fc25a4694eb63a2cf7f65ef8957069a3cd1cb68820295a408812decafdbabc
-RosettaCodeData/Task/Horners-rule-for-polynomial-evaluation/Fortran/horners-rule-for-polynomial-evaluation-1.f : e73d019d08ff3f6e421a8577c03368b8320907d58353af35c485e02be768d19d
+RosettaCodeData/Task/Horners-rule-for-polynomial-evaluation/Fortran/horners-rule-for-polynomial-evaluation-1.f : 6b6e48d8ff45302310bf708cceb7f86316fbd7e19af02da0aa1cad2d605eaecd
RosettaCodeData/Task/Horners-rule-for-polynomial-evaluation/Fortran/horners-rule-for-polynomial-evaluation-3.f : 953357d61c156eaf7781dc7a674dbcfbb50a828edfd470602bda2091b2cf6723
RosettaCodeData/Task/Host-introspection/Fortran/host-introspection.f : 077e6082513833757c6837aad84e1f01115417b5d2346a4dedd8c33ba735d8d4
RosettaCodeData/Task/Hostname/Fortran/hostname-1.f : 73f91b7879305a6ea7028d4ff57c3b4a742bc6f7c9baebcfb099e431b8b641a0
@@ -329,7 +328,7 @@ RosettaCodeData/Task/Integer-comparison/Fortran/integer-comparison-1.f : 8062451
RosettaCodeData/Task/Integer-comparison/Fortran/integer-comparison-4.f : e1e99a0d2a9a3859b586a719f5e1e2f6ff8388aaa378e7904d7da464055d8377
RosettaCodeData/Task/Integer-sequence/Fortran/integer-sequence.f : 3bef7b2e0e8f9480d4e939581e2e722f21f558cf9505e63bbe7b0756589dd204
RosettaCodeData/Task/Inverted-syntax/Fortran/inverted-syntax.f : 97c6463b3079aca08f11b73d95e56357be66b3402fc54f89a18f2b6f4a985b6b
-RosettaCodeData/Task/JSON/Fortran/json.f : 4d4fc1bbb36274a62cf45cf6f8c00dfe76cf87f0b1944282b1ab090d27660e73
+RosettaCodeData/Task/JSON/Fortran/json.f : 91c2d3d83b694dfe58fdea315ab3f55312ecde6c9f62e226b299d322f05ac678
RosettaCodeData/Task/Josephus-problem/Fortran/josephus-problem.f : 4f04283b00b3d5953ea35687692e455a132a06294733d45deec9a01e1c978fa3
RosettaCodeData/Task/Kaprekar-numbers/Fortran/kaprekar-numbers.f : 2cab0f48c8f182577ab6417eef9b2d151c0e483a1d968c2aa01c889cdcd112dd
RosettaCodeData/Task/Keyboard-input-Obtain-a-Y-or-N-response/Fortran/keyboard-input-obtain-a-y-or-n-response.f : c554f7c225e11e7c8381a45d4eda8c0200960592769745ee70e9cfdbd37ad0c7
@@ -348,7 +347,7 @@ RosettaCodeData/Task/Linear-congruential-generator/Fortran/linear-congruential-g
RosettaCodeData/Task/List-comprehensions/Fortran/list-comprehensions.f : f22fad6aadc2d3016627aba44703bd21fe31751da117079a9943b0466f1c15ec
RosettaCodeData/Task/Literals-Integer/Fortran/literals-integer.f : 878c4f86ba91b76457f835fb8931fa94c5a5cedc3978804f413d655946fd37b4
RosettaCodeData/Task/Literals-String/Fortran/literals-string-1.f : 135b986260c5214c2d048820711e5969c841c975f6b6cb0bc36a387a281ca237
-RosettaCodeData/Task/Literals-String/Fortran/literals-string-2.f : b5143953e367e2afe8eae71b8e960030211a046380d8f1e690761f5d9e0c5070
+RosettaCodeData/Task/Literals-String/Fortran/literals-string-2.f : 69816b63853c16fe6451ad8b6976ea8ed99f110b501d734c24a6a84dc0a01fc2
RosettaCodeData/Task/Literals-String/Fortran/literals-string-3.f : 28d020ad3ffc1e90f8453cf8295489706c47a977f010ce3db1a2e9b73b24103a
RosettaCodeData/Task/Long-multiplication/Fortran/long-multiplication-2.f : 256450f60ef988b316cb985e2651d846ad5764d8c7d86170512342e48ccc5fae
RosettaCodeData/Task/Longest-common-subsequence/Fortran/longest-common-subsequence.f : 60b3f0b573658b72d80804efba25d2f4bf0c4e208cbb58b75dc467fa2900ad56
@@ -386,7 +385,7 @@ RosettaCodeData/Task/Loops-While/Fortran/loops-while-3.f : deeaca61753199907727e
RosettaCodeData/Task/Lucas-Lehmer-test/Fortran/lucas-lehmer-test.f : fe6d75a709ebb375ca1084c48ecd544d4c3f5f093ca453d10ba8a5a777aae891
RosettaCodeData/Task/Ludic-numbers/Fortran/ludic-numbers.f : 64d73eb8f32186bc2ff286bdddb665b99b89d3c0988878ad2da5321f5e407d0e
RosettaCodeData/Task/Luhn-test-of-credit-card-numbers/Fortran/luhn-test-of-credit-card-numbers.f : 3dd57cbba4702d21ed36b1f24da4516771123649a76d0d0420a48474ce7ca8f8
-RosettaCodeData/Task/MD5/Fortran/md5.f : b39c3af6ede82e2eb30111c2d4019567cc70d3e3b890ef2ea8b579ae8183e6f8
+RosettaCodeData/Task/MD5/Fortran/md5.f : 868371f2af56e8aec92421182110ea9a055b997e0f1c95805f3e9f0a30f0d049
RosettaCodeData/Task/Mad-Libs/Fortran/mad-libs.f : internal error
RosettaCodeData/Task/Magic-squares-of-odd-order/Fortran/magic-squares-of-odd-order.f : 016bc90bb2cd31c0cd2556875bc2c119185306480c22753c271db8b31d9cdb4f
RosettaCodeData/Task/Man-or-boy-test/Fortran/man-or-boy-test.f : 88180f8d2f5046219af42e4037635618c0e70430bb823e15bb40f42f567b4be7
@@ -401,7 +400,7 @@ RosettaCodeData/Task/Matrix-transposition/Fortran/matrix-transposition-3.f : 9e2
RosettaCodeData/Task/Maximum-triangle-path-sum/Fortran/maximum-triangle-path-sum.f : 972a3eb875c975fd4de0dc7683f5d5224afb2b55fe7996a53bf1bc68efb205a0
RosettaCodeData/Task/Memory-allocation/Fortran/memory-allocation.f : ab733ee6e61a640c740a5b23848c55920e65f55da00209b9d162bb71d82fa1ed
RosettaCodeData/Task/Memory-layout-of-a-data-structure/Fortran/memory-layout-of-a-data-structure.f : b42f3769b8504b6b951a91d87ed028a6bd319cb1876df4905380db0337305a34
-RosettaCodeData/Task/Menu/Fortran/menu.f : 193367450111e5e02dac2849fd37f10b11b8da756050e66ce2ef7a93c8f6f4aa
+RosettaCodeData/Task/Menu/Fortran/menu.f : 6acdb99948143691eb9ff4228a39e1a0578b8ad93bd5078296dcc3dda5f7825e
RosettaCodeData/Task/Middle-three-digits/Fortran/middle-three-digits.f : c8fb91d49c010f2c5c50ec3242c553cd2c0c6a6580b36f8bff504981540ec889
RosettaCodeData/Task/Miller-Rabin-primality-test/Fortran/miller-rabin-primality-test-1.f : 3b51c27d769348d6cef96bdfceabaf943f6478ce423e1c8492c483a076151399
RosettaCodeData/Task/Miller-Rabin-primality-test/Fortran/miller-rabin-primality-test-2.f : 83a9e30511a71ce43764b262ac2ae436f933435ba1f48974b894097618e9695f
@@ -423,7 +422,7 @@ RosettaCodeData/Task/Mutual-recursion/Fortran/mutual-recursion-2.f : f71ea481d7d
RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-1.f : 6b6bec86794da993800ce75a1e5e4a8939cb431f3b8bb0f4b6c5b35fa4450193
RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-2.f : 98889c25029835e7ef92e8a2eb114e74eecf8a65ec3b39f60cd5ef200eb1cc91
RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-3.f : 07e51978eed5f22a45bfd653321aed871957f869dab5b8acab83b4452f8c89b1
-RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-4.f : 50e2ec87f41974ebe7edaee84356cda3d70b069d2920352e543c27049c6bdfa4
+RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-4.f : b554be18adc7e9acd5e7529f5f826348d6a8ea42ff0fb4f4df7c40b8f65fc814
RosettaCodeData/Task/Named-parameters/Fortran/named-parameters-1.f : e89d610bfce251c90a7d079c8af92df19dfd4576eb68bd317406bca73707d265
RosettaCodeData/Task/Named-parameters/Fortran/named-parameters-2.f : de02a553b7e11ed00104db00977f3a852ce9b18aa771635a2473560ff3bb2b23
RosettaCodeData/Task/Named-parameters/Fortran/named-parameters-3.f : 02c249e9ce557ac3a7893a603aaa2f5491670ca12ab49aba2c0545d094275dec
@@ -489,11 +488,11 @@ RosettaCodeData/Task/Pointers-and-references/Fortran/pointers-and-references-8.f
RosettaCodeData/Task/Pointers-and-references/Fortran/pointers-and-references-9.f : 779eb37858f240c246e3b2eb17accb329e1fed48bef3cad59da8c2e47d3ea25d
RosettaCodeData/Task/Polymorphism/Fortran/polymorphism.f : 1012dc1843ba78001255318663724dba15ba25095f63970a7d315258231f07a1
RosettaCodeData/Task/Polynomial-long-division/Fortran/polynomial-long-division-1.f : 4e3a4809c7b84e813863f2d4c0d60360e0a5a1a36381e755879df492fe845b2e
-RosettaCodeData/Task/Polynomial-long-division/Fortran/polynomial-long-division-2.f : f37bd11ca2c01a7e6c7e4c64fc074fc2fe94915bb312b43b07d703f77600e999
+RosettaCodeData/Task/Polynomial-long-division/Fortran/polynomial-long-division-2.f : e90bdcc88702cdad051cac565a1fc53a98c7eb2d54d24d20cc0a5b5c502f99a4
RosettaCodeData/Task/Polynomial-regression/Fortran/polynomial-regression-1.f : 87c9fb86e2719d0d4c29f80e168191bab97fa8f4534f8023169197b6c3860dae
RosettaCodeData/Task/Polynomial-regression/Fortran/polynomial-regression-2.f : 4a297f81756c62efb42666578a949ad6bda15419726a03fc904880e31742dfbd
RosettaCodeData/Task/Price-fraction/Fortran/price-fraction-1.f : d9507f97feb1fc04804729ac3f5a334279c62d8213460d5e96c307d0e2271516
-RosettaCodeData/Task/Price-fraction/Fortran/price-fraction-2.f : 8b40f34401a450dd5fbf33dde72eca185d4504d4038307d247e9ed0a6c195546
+RosettaCodeData/Task/Price-fraction/Fortran/price-fraction-2.f : b143bb6d9d14db737094882bc7cf6a9b215bfd8fc736180775dada2988065693
RosettaCodeData/Task/Primality-by-trial-division/Fortran/primality-by-trial-division.f : ec2cf305d046482a0ed27dc9893aa4493fe49190c2f23d453812527144df50a8
RosettaCodeData/Task/Prime-decomposition/Fortran/prime-decomposition-1.f : bcec46c44468bfa90fbf2c959d5382976a8cdc697f3c67db3b9b8ad8a3b98ff4
RosettaCodeData/Task/Prime-decomposition/Fortran/prime-decomposition-2.f : 6ed12122a34b32c4d984947bca82f0a2721295eb75f3d2dbf473c9155f404b2c
@@ -533,7 +532,7 @@ RosettaCodeData/Task/Repeat-a-string/Fortran/repeat-a-string.f : 4d97e4b1da0e2f9
RosettaCodeData/Task/Return-multiple-values/Fortran/return-multiple-values.f : 82dff0d69b2f5c98eabcabc305646335a2c78b419355f30a92fa58553ea11a50
RosettaCodeData/Task/Reverse-a-string/Fortran/reverse-a-string-1.f : 066ed2e8bd2a95b4f3858490544b0b3c6a7e8dca4aa9798768898d4d911cbc53
RosettaCodeData/Task/Reverse-a-string/Fortran/reverse-a-string-2.f : 47ab77afb618b5a72fd168d94dfad7db7ff58122b67a9f04975e9ae2c349b725
-RosettaCodeData/Task/Rock-paper-scissors/Fortran/rock-paper-scissors-2.f : ba5eee376f4c145ca2ad4deb99f34e63ac64df08a72084258a4b1a1383c8df36
+RosettaCodeData/Task/Rock-paper-scissors/Fortran/rock-paper-scissors-2.f : 341a56d7e660dfef5fb01795ea0da3982d0fea97b1004f66b2bbc468d133a62e
RosettaCodeData/Task/Roman-numerals-Decode/Fortran/roman-numerals-decode.f : 74ac4b7dcd9af115c36e0b522bec5ed6b1341f66e7ecd42da7cc78cd253ad953
RosettaCodeData/Task/Roman-numerals-Encode/Fortran/roman-numerals-encode.f : b957ffef80a2c6c573098eab2477f54e18a27e4dce0f3d4d31c6269ee14182b3
RosettaCodeData/Task/Roots-of-a-function/Fortran/roots-of-a-function-1.f : b216325801f2f853530f84af8921c35f2c6ce14f223bcf380bcbb8de1a5383b4
@@ -541,14 +540,14 @@ RosettaCodeData/Task/Roots-of-a-function/Fortran/roots-of-a-function-2.f : 5d8f0
RosettaCodeData/Task/Roots-of-a-quadratic-function/Fortran/roots-of-a-quadratic-function-1.f : e9a50f0915ae1bcbaca2f3108088b1a152fdcbb562c6a73a5c2651e7349080db
RosettaCodeData/Task/Roots-of-a-quadratic-function/Fortran/roots-of-a-quadratic-function-2.f : 73d1486c7c36c1935d5d5b099f6b45a7aa6a4a5f0685daedd9b57d2655015524
RosettaCodeData/Task/Roots-of-unity/Fortran/roots-of-unity-1.f : 9bb32eaae45eb07d74f329b2c2d04e3cde6e789af7ebdadd29aadef5ccf62a71
-RosettaCodeData/Task/Roots-of-unity/Fortran/roots-of-unity-2.f : f5572a1b7e634693ab43cbd9b9067ddb6fba441ecec3af6f65c33d51e918eaf9
+RosettaCodeData/Task/Roots-of-unity/Fortran/roots-of-unity-2.f : 2cf6d93159b7421fbe587a02a7eff5f8bb1b7155bb002eb13fc983e4925f3210
RosettaCodeData/Task/Rot-13/Fortran/rot-13-1.f : 7f6349f66ef492d2f6ad13b480fa8fc1a1a6cae41d9621972e319c118ed1ae51
RosettaCodeData/Task/Rot-13/Fortran/rot-13-2.f : internal error
-RosettaCodeData/Task/Run-length-encoding/Fortran/run-length-encoding.f : 71d8d88c74eaff544e817b74f24542142017c24b3c2ff81c0911625233e74f7f
-RosettaCodeData/Task/Runge-Kutta-method/Fortran/runge-kutta-method.f : 71955f0391c340b0fefc2529051e4d03ce7e00f3a2d001a903796275a5077518
+RosettaCodeData/Task/Run-length-encoding/Fortran/run-length-encoding.f : 2cb245005840c8693d359f3f04300ff6564e4c7e51524e3919bc7c0c9906288e
+RosettaCodeData/Task/Runge-Kutta-method/Fortran/runge-kutta-method.f : aec12cecd1bf89d91ff85c95a0af83340ff52cf66d070fc7ef8ef37136223314
RosettaCodeData/Task/SEDOLs/Fortran/sedols.f : c9b5bd5d5db335a0e99120cb905610c824020ccf8dad1e98cbc81f72b38c5677
-RosettaCodeData/Task/SHA-1/Fortran/sha-1.f : a7d3ba16d4131d85edb8e4e01f94d51e4223c6f08758f31b8efedda96c15266c
-RosettaCodeData/Task/SHA-256/Fortran/sha-256.f : fc97a1eee49b7b5ace4d57003e7c180ca24870be3c4c28459fbf42a62a9647f1
+RosettaCodeData/Task/SHA-1/Fortran/sha-1.f : 307c0084edfd5bbd04871951fc2f18adb094f8a4b00663ccaecd057e495c5fba
+RosettaCodeData/Task/SHA-256/Fortran/sha-256.f : 68e578a715fac0d3a6cbfbbde37986aa07eeea75f9c9de60f47bda20c9015bbe
RosettaCodeData/Task/Search-a-list/Fortran/search-a-list.f : 54cae29de889febf2f65d182c756bfcb96196d36543c43be2b1b9ffa4ff587fe
RosettaCodeData/Task/Secure-temporary-file/Fortran/secure-temporary-file.f : 82aab5f017200c04ec6f345b8f6cd9f3290b1057964afb651677b88b36b8f21e
RosettaCodeData/Task/Semordnilap/Fortran/semordnilap.f : 8f6453f0e197cbb0f6af28e6d2984344d5c71b7061181fb5be5d806ed28a8a92
@@ -560,10 +559,10 @@ RosettaCodeData/Task/Shell-one-liner/Fortran/shell-one-liner.f : 591a447fb1a50c9
RosettaCodeData/Task/Short-circuit-evaluation/Fortran/short-circuit-evaluation.f : 46a20c9ff3c5aacd8bcf53d272ec5e953a2634970fdb780b127da794f333f355
RosettaCodeData/Task/Sierpinski-carpet/Fortran/sierpinski-carpet.f : db6779f9dde643c9aa799c06b0b113a97837734e72f79607409e5b62c6a3d684
RosettaCodeData/Task/Sierpinski-triangle/Fortran/sierpinski-triangle.f : db6ef7e8e9191a702164fc8632f072b1d619991b4ab763f0102f2cd8cd9535a7
-RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-1.f : 4a815d51b84d2eec4732a1a7926c699828242ab4a4091d52cb5acae9f2762a1f
-RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-2.f : 077633b4e6ec8e4a5a9cdd9b7cebf8726647ef4c18aaa5c52849f5c5c8303ef2
-RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-3.f : 6966225e3abcfea0fdb2a05befa2e048bf7a57cf4a700173f671b8e7091a49c3
-RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-4.f : 077633b4e6ec8e4a5a9cdd9b7cebf8726647ef4c18aaa5c52849f5c5c8303ef2
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-1.f : 9b1433e960a089fe2ff0a712d0da6d5bae073d6941a262638b04471ede4dad15
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-2.f : 4a815d51b84d2eec4732a1a7926c699828242ab4a4091d52cb5acae9f2762a1f
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-3.f : 077633b4e6ec8e4a5a9cdd9b7cebf8726647ef4c18aaa5c52849f5c5c8303ef2
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-4.f : 6966225e3abcfea0fdb2a05befa2e048bf7a57cf4a700173f671b8e7091a49c3
RosettaCodeData/Task/Singly-linked-list-Element-definition/Fortran/singly-linked-list-element-definition.f : 64b32610292200ef6ef47df520e66f813baaab269e6c78b5c97b60144691252f
RosettaCodeData/Task/Singly-linked-list-Element-insertion/Fortran/singly-linked-list-element-insertion.f : 220591db8a4c4e250acdf9b45b24e913fae02fb934191435e5d4fcad10c45fa0
RosettaCodeData/Task/Singly-linked-list-Traversal/Fortran/singly-linked-list-traversal-1.f : 7b952fb34d32fad94c97b33303a48965f1326311ca85851347ea01b7feab2f35
@@ -580,21 +579,21 @@ RosettaCodeData/Task/Sorting-algorithms-Bogosort/Fortran/sorting-algorithms-bogo
RosettaCodeData/Task/Sorting-algorithms-Bubble-sort/Fortran/sorting-algorithms-bubble-sort.f : 2fb7ba2ebca45613b274f31ceef6d7ec40bfaa92ddb15ef76ac27bb503c2f0e7
RosettaCodeData/Task/Sorting-algorithms-Cocktail-sort/Fortran/sorting-algorithms-cocktail-sort.f : 3cfb6da5fda543ee31f7f8e5043c0f326a131ac7ed78c72187a73a8cbafa891e
RosettaCodeData/Task/Sorting-algorithms-Comb-sort/Fortran/sorting-algorithms-comb-sort.f : a47caef1dd9475fb9774a7467759534e9166ea90639b43066ee1c97253fda9a3
-RosettaCodeData/Task/Sorting-algorithms-Counting-sort/Fortran/sorting-algorithms-counting-sort-1.f : 557aeaeda37c81a26045abdccb019b7374dae3c6f3124b424e31955a330f073f
+RosettaCodeData/Task/Sorting-algorithms-Counting-sort/Fortran/sorting-algorithms-counting-sort-1.f : ea04904fe61f5fcd55207df6d7daaeee1344f4c9e878f3a4dfd9d24d5a063915
RosettaCodeData/Task/Sorting-algorithms-Counting-sort/Fortran/sorting-algorithms-counting-sort-2.f : 94188d41e4a1336eda1eb5f60d7be4467a1c4f089f29b46a470869d742a7e83e
-RosettaCodeData/Task/Sorting-algorithms-Gnome-sort/Fortran/sorting-algorithms-gnome-sort.f : 353b83de2620d0f5998f5b03b2d007c959cd5523e75c193898993f3823e6b086
+RosettaCodeData/Task/Sorting-algorithms-Gnome-sort/Fortran/sorting-algorithms-gnome-sort.f : 4ee14d06ed23b016e2b569299bf934b6ce935bed7155eb0325d22ca3bf71e572
RosettaCodeData/Task/Sorting-algorithms-Heapsort/Fortran/sorting-algorithms-heapsort.f : a3980307584492c69ddb8fe1bbe9e69585f0cf8d750c88672ff53962ee2d799f
RosettaCodeData/Task/Sorting-algorithms-Insertion-sort/Fortran/sorting-algorithms-insertion-sort-1.f : c1e18a863934dfb9833598a9af3f8a083659356f5c2ff2ef4f89689249af197a
-RosettaCodeData/Task/Sorting-algorithms-Insertion-sort/Fortran/sorting-algorithms-insertion-sort-2.f : 2d0b1c6cb2fe2acb2f83833596d17b7a120066c66ce7d45ce3d2d2bdd17c9b54
+RosettaCodeData/Task/Sorting-algorithms-Insertion-sort/Fortran/sorting-algorithms-insertion-sort-2.f : 9ce14928174cc402603dac90796111436e81b4c4045ac3dbbd0c14a0efdab3db
RosettaCodeData/Task/Sorting-algorithms-Insertion-sort/Fortran/sorting-algorithms-insertion-sort-3.f : 5cc6b6d035dfb0c89f2c087be929d3bb4f59b1e034958671aaf1acf739b65eca
-RosettaCodeData/Task/Sorting-algorithms-Merge-sort/Fortran/sorting-algorithms-merge-sort.f : c233913b14fc7fd8267e614612cabfc2bd188d51b355a420ee41543787de77cb
+RosettaCodeData/Task/Sorting-algorithms-Merge-sort/Fortran/sorting-algorithms-merge-sort.f : 639de79acd5856cd3ad6ca8ec772c4651aa3cdbeb65b1360791a85c2b15b04b3
RosettaCodeData/Task/Sorting-algorithms-Pancake-sort/Fortran/sorting-algorithms-pancake-sort.f : 3e18adadc247bf0ab6c72ff5311ad83f552a76a375b34e77c24aefc0400fcb5f
-RosettaCodeData/Task/Sorting-algorithms-Quicksort/Fortran/sorting-algorithms-quicksort.f : 3a7643dc62ee50cf7b144c8263a0e86602a507fc3f2fc4595e28e5fe99fd9c66
+RosettaCodeData/Task/Sorting-algorithms-Quicksort/Fortran/sorting-algorithms-quicksort.f : 97e652c9fc00a9b40883b2d972b0da98c01d9949963a21d81b8c34f4893f285d
RosettaCodeData/Task/Sorting-algorithms-Selection-sort/Fortran/sorting-algorithms-selection-sort.f : 63dc30dd318133b61e2f18b1c6924630d36b63fe64c468c4a85ec7ae08f660f4
RosettaCodeData/Task/Sorting-algorithms-Shell-sort/Fortran/sorting-algorithms-shell-sort.f : da7787ccb8fac14c207088d626178a308352f1736224f81d920ceaa22fa713bc
RosettaCodeData/Task/Sorting-algorithms-Stooge-sort/Fortran/sorting-algorithms-stooge-sort.f : 718bbdfe29f455135bf923ea7e4538e3cc40f54a70ccba57fd3af6029b7545ee
RosettaCodeData/Task/Spiral-matrix/Fortran/spiral-matrix.f : 7212b7d1e0a8f6485c70f06174501987899fd89b44b3e0c29765939569900404
-RosettaCodeData/Task/Stack/Fortran/stack.f : 6ee53c603a055238364f854780cf7c26f5ddffd1c607f4dc73204dd69e04523f
+RosettaCodeData/Task/Stack/Fortran/stack.f : 7455c6323af958079b8b153138df5a95f5cb92e0770f232ed2b34898c85dcb67
RosettaCodeData/Task/Stair-climbing-puzzle/Fortran/stair-climbing-puzzle.f : 958036614c5795880f1b765adb0ecc762ef66afd6d049dfbb8cc7a9ba9e2199d
RosettaCodeData/Task/Standard-deviation/Fortran/standard-deviation-1.f : 9cf560685ca1656dda9800a99ae4b03d92e150ab42ea02d23f563aeb66ebcfee
RosettaCodeData/Task/Standard-deviation/Fortran/standard-deviation-2.f : e7b7c075cdfaa04c12d8caef58d4995f49906b5fc4ab848dd9073a5b909d4de7
@@ -632,10 +631,10 @@ RosettaCodeData/Task/Terminal-control-Cursor-positioning/Fortran/terminal-contro
RosettaCodeData/Task/Ternary-logic/Fortran/ternary-logic.f : 7e71b71202d894d0b87021b51d8451d44dd3f24c1979fdcaef6d70d23130d2c7
RosettaCodeData/Task/Text-processing-1/Fortran/text-processing-1.f : a6df0a5ae9cf04cc24fca0b988521b70af25276429c9117154990813b2148c72
RosettaCodeData/Task/Text-processing-2/Fortran/text-processing-2.f : fdd3402a530a27dc65d82bfa6bb5084d9df7f4384bda8fffe8ec4db7180b8724
-RosettaCodeData/Task/The-Twelve-Days-of-Christmas/Fortran/the-twelve-days-of-christmas.f : 750e24e80b7b954b278f6fce8d1525a589fc941091c81cb66716318f46123ff6
+RosettaCodeData/Task/The-Twelve-Days-of-Christmas/Fortran/the-twelve-days-of-christmas.f : 1a4b63327b31295492f07535bdad1a664f419216d1b94da6d10f34ff7ec8d059
RosettaCodeData/Task/Tokenize-a-string/Fortran/tokenize-a-string.f : 257ef2534efba4fbab8ffc88150718a7742f85c35419e248ea42e4c6adcd2edd
RosettaCodeData/Task/Topological-sort/Fortran/topological-sort-1.f : 3803fc0c3aa9538429180a24a65ffbc810eb4e08d25a6b57ea7ad117f349c751
-RosettaCodeData/Task/Topological-sort/Fortran/topological-sort-2.f : 94b8131eefa20365812a256a390af3f657d5cdcb3e57f35f7e833a3337300aad
+RosettaCodeData/Task/Topological-sort/Fortran/topological-sort-2.f : 00993f3b871e52a65ce7943cf9d1830cf8c5c1b34a2f57e80cf20820cac282da
RosettaCodeData/Task/Topological-sort/Fortran/topological-sort-3.f : 0f203040cd30b7510a7191c71ca042d195e9f74ba0b2e6f389f57c91c11fab23
RosettaCodeData/Task/Topswops/Fortran/topswops.f : 747ed64c74d5ebb6500da07f7aae9aae4e39a652151afe06fde255c4b76c5d5c
RosettaCodeData/Task/Towers-of-Hanoi/Fortran/towers-of-hanoi.f : e441ca44259d547b6dedf2f44f7a4b14fb829d4531fbec3ba973e9bf6b9bdb60
@@ -665,15 +664,15 @@ RosettaCodeData/Task/Variable-size-Set/Fortran/variable-size-set.f : fa0cc90661d
RosettaCodeData/Task/Variables/Fortran/variables.f : e942a23a924d904a790ea3527119bff3a7aaf988b993350d51ca9778bdcbc564
RosettaCodeData/Task/Variadic-function/Fortran/variadic-function.f : eefdb694d07e50c49f9223f3e42467b3007ecd9424409a512dbc6a92358e5a19
RosettaCodeData/Task/Vector-products/Fortran/vector-products.f : cfe457feca04149f53bef42b50c7b140fb9e27552c7ae0c1f7ac76aed3eff611
-RosettaCodeData/Task/Verify-distribution-uniformity-Chi-squared-test/Fortran/verify-distribution-uniformity-chi-squared-test-1.f : 2fb7fe9cc8b2b9f77d4c10be7422baad19f83c0b9f134419e9bb04eaa7bb8d7b
-RosettaCodeData/Task/Verify-distribution-uniformity-Chi-squared-test/Fortran/verify-distribution-uniformity-chi-squared-test-2.f : 4f3b50cdbfc4102331e5591488f64834841e3a2b6b8e73d641d57b89e8513f1d
+RosettaCodeData/Task/Verify-distribution-uniformity-Chi-squared-test/Fortran/verify-distribution-uniformity-chi-squared-test-1.f : 2a230ca3d9d33df29f00f16bb308f089374e4278dbeaa0cf59c8b490ebb51c44
+RosettaCodeData/Task/Verify-distribution-uniformity-Chi-squared-test/Fortran/verify-distribution-uniformity-chi-squared-test-2.f : 37e8f8be1f0f44c82946ee51677af852eea627fbcbaee1f546b516c44c88542e
RosettaCodeData/Task/Verify-distribution-uniformity-Naive/Fortran/verify-distribution-uniformity-naive.f : 045b93a71610f654768c91c291b215fe65ed48ce00b3409bc2c9c8ae16470feb
RosettaCodeData/Task/Vigen-re-cipher/Fortran/vigen-re-cipher.f : 7c222cec24cf4cf492a7c9c1445e86e3cff268015b5e633da90c50c37a7b80fe
RosettaCodeData/Task/Wireworld/Fortran/wireworld.f : 566ee0ab64ccf61dccdbda26a9197bfe786af608c3bf02c6a7c32e8ec1eb99ef
RosettaCodeData/Task/Word-wrap/Fortran/word-wrap-1.f : 95097b84353ef86eb93e9380683a8ff02fefab40fd3f396e3bc2c570c9d73297
-RosettaCodeData/Task/Word-wrap/Fortran/word-wrap-2.f : b827d15723fff41e4c0dd3bf1c88776a603cfbb03575e467e4b9221b3030afca
-RosettaCodeData/Task/Write-float-arrays-to-a-text-file/Fortran/write-float-arrays-to-a-text-file-1.f : 3f397154daec5ff5381bcfb6edf1206ff8abc45103437945e064e41002515047
-RosettaCodeData/Task/Write-float-arrays-to-a-text-file/Fortran/write-float-arrays-to-a-text-file-2.f : 14568d07952459593d44455e40f2c5a962ec7d8075401619d8a7aa7982cd4ba8
+RosettaCodeData/Task/Word-wrap/Fortran/word-wrap-2.f : b5bde57f1b190ffd1db476dcb702fde536751f8ad9e63de4804bdabf38d96e89
+RosettaCodeData/Task/Write-float-arrays-to-a-text-file/Fortran/write-float-arrays-to-a-text-file-1.f : 14568d07952459593d44455e40f2c5a962ec7d8075401619d8a7aa7982cd4ba8
+RosettaCodeData/Task/Write-float-arrays-to-a-text-file/Fortran/write-float-arrays-to-a-text-file-2.f : 8ebf143220a80aba88806c9a27d33da6d2fa7963be28bb88e43d4a78cbf62b3b
RosettaCodeData/Task/XML-Input/Fortran/xml-input-1.f : 83cda0a973af665b3d07813b91a2899fad23b5aff5d3203e73904af8104bd4bc
RosettaCodeData/Task/XML-Input/Fortran/xml-input-2.f : a66b0ac54cf280662c6d5fe59b3e08d6b71c432bcba5923add09af18c8a743ac
RosettaCodeData/Task/Zero-to-the-zero-power/Fortran/zero-to-the-zero-power.f : 9a7e4de9b75d5871e5fb9c69861055b60d394787b6387d863a7f1f392e4bc6ab
@@ -698,99 +697,99 @@ cp2k/src/acc/acc_hostmem_r.f90 : c8d972f6667576174d1d3b71d4d29a3af623d358b780d0f
cp2k/src/acc/acc_hostmem_z.f90 : f13b6c513d138df99970fd748e725160863e69c0df29336e5ab0e8aab5d31593
cp2k/src/acc/acc_kinds.F : c222a6888e9ab8d385c81a7dd8e15939b5eb05013c86dac081f26a63c874b360
cp2k/src/acc/acc_stream.F : ded3ba323c0eee896fa7732bcf3513d8ef04fbe0a18807ad6c91c53bdad08a1e
-cp2k/src/admm_dm_methods.F : 6fb67e1a21a174555aea09e03ea222069398554d0716690ff308bf30a6612e65
-cp2k/src/admm_dm_types.F : 6d7ac1a4eddade9f98191a4b8b9020d20e2602c4e2f3b8af2085eebd7e846019
-cp2k/src/admm_methods.F : 891a31829a83f3960ac203c404126c4c895f2259f336410a95f34f31f3fa8974
-cp2k/src/admm_types.F : de7edcaf21a696cfe8564f9b00062a6043ca5a70dd8b5cfdf38dcc9c095f7739
-cp2k/src/admm_utils.F : 8caefad468e22831798aa160714aca2f6e5dd391ec2d7f0e59a3cf04a5f79fd6
-cp2k/src/al_system_types.F : 361428b4e0b08632306af996b0f5fa49652821527b5c4783802e73c30eb1bf44
-cp2k/src/almo_scf.F : b4732a1ad8d806950bd812c76d7a92cf3bf04bd1884b39b156a3e6fc1ca29b2c
-cp2k/src/almo_scf_diis_types.F : 11cefb718f78fd7f165403710373bd8afe44bca90eaa7be03b7947bea2ab952c
-cp2k/src/almo_scf_env_methods.F : 449247001a9edc27566e61ad76314bc4e3536d0fd098e0fca19c37d129cecea8
-cp2k/src/almo_scf_methods.F : b44462528556666da945d07261351addc9a3cf9e4d7063d785710210ad361918
+cp2k/src/admm_dm_methods.F : 0b28e46ccaf212552b3f1bd307c7918686de9529c1e9b85a2dda1bd244dc7097
+cp2k/src/admm_dm_types.F : 74713b1239fe34518700e160b6fc9b7edac6ed9c63ada20646be533eed6e2e93
+cp2k/src/admm_methods.F : 10e94ddda831b6aa9ca0a44564c3aefcb6454b6e456da38fe4ac7e85c6b325f9
+cp2k/src/admm_types.F : 3431887eac994c321b5b4ee04d4a01d5a4d578c905d5c65caee5ed4f2ff10f3c
+cp2k/src/admm_utils.F : bd752157fc49658c9b3c217c78bb5625ed787758268d9fe0df95c9472bd92be9
+cp2k/src/al_system_types.F : 5c46396cf911aef72201f89618460ea7f6a138a538c13869aa01dbcfb9adc2b1
+cp2k/src/almo_scf.F : 24e7ef4c7b7c3f4257f8468163d01637565aefabb97e5cc1181437873e56c3c3
+cp2k/src/almo_scf_diis_types.F : 1b53e323dbb5b4d049a544638be4e4a3bd03ed0ad9c59a65b4ea7b36a276846c
+cp2k/src/almo_scf_env_methods.F : 26d0bd87c6261d4b9df7235727af69bfc37fda42e4e255df59c13e4d7866d2c6
+cp2k/src/almo_scf_methods.F : 686e994e52250d2d59ea5753c480d9f5d886b04045dcae35c8b4fcc6ed9f26d4
cp2k/src/almo_scf_optimizer.F : ee5ec6b2f21fb7ccb24238798fdf9ff0467601c42568fb5ebee84648e82d5460
-cp2k/src/almo_scf_qs.F : 728c42c3806f55f602dd5e243da9b152bce7a74e7abef5fcd02b38b356d36ee6
-cp2k/src/almo_scf_types.F : 71d7071ebfed8a1dafcbb3c769ca041db1458009ef308049f164ff689b4abab6
-cp2k/src/aobasis/ai_angmom.F : 4a12a7b93249b1c96aa3fd54da0695bb7e798c15cd2fb88562450861d8daf84d
-cp2k/src/aobasis/ai_contraction.F : e336aaff9d8def5b96109f12bb7fa1e68c5a90160bff5e1721ba0d53123723ad
-cp2k/src/aobasis/ai_contraction_sphi.F : dfb07a3bf374f344424142aaa564046399e93d21de81a8253fbcc1c5849f265f
-cp2k/src/aobasis/ai_coulomb.F : a02b5b82b6b2555939b3f804b67cb3823abc17ba36781a03cab6b247ddc2a15e
-cp2k/src/aobasis/ai_coulomb_test.F : decce64eb654181b51b5e34ff1034a8f3518233522541f5493fda586f49d4210
-cp2k/src/aobasis/ai_derivatives.F : cb496a944e607fa0252173c59099030d8bc41e066857a6e608bfb0d3212c13e7
-cp2k/src/aobasis/ai_elec_field.F : 087a4a813d0171dd76f65b09da816426fe483439466b2c109c34b46cfb707195
-cp2k/src/aobasis/ai_eri_debug.F : f30bfd01a9e4b8e6a9ad43fc8f820222d4d3dc94c58f9e45fe02bb83e4adfc58
-cp2k/src/aobasis/ai_fermi_contact.F : 4156a8f114029dd33c154befed11be20804b65cdfa5c15ac6bc017c02341f4db
-cp2k/src/aobasis/ai_kinetic.F : 3571785a1966cb820c3da0fab8352710539c062c25a0e7fd59616bf56e7abd68
-cp2k/src/aobasis/ai_moments.F : 42016a89ec3692b222f16c0f9dcc9871b266ab5a1369794c593b0d6d1a3221f6
-cp2k/src/aobasis/ai_onecenter.F : 61cadaaff4fa52076acd324f9a5c0de46d1cb448e90c1d3bbbfb385e793bcfc0
-cp2k/src/aobasis/ai_oneelectron.F : 3b776f533ed7426ffe8c8829f3820caf0b11c2f8cf7044281b12f0a77e6645cd
-cp2k/src/aobasis/ai_operator_ra2m.F : 0b1cfc7976c754df699d4de3c879b27c07bcf83987cae38b5393eb98ef58832b
-cp2k/src/aobasis/ai_operators_r12.F : b8dadca001511e7cfe3b1b05691b467b4aa1d34e6c58be8d454bb01f3bb29ae6
-cp2k/src/aobasis/ai_os_rr.F : 5a7fa092778cc9fa282d254b584dd625acc59cd7b7028ecf03355b67778a62ba
-cp2k/src/aobasis/ai_overlap.F : 4618b49c8703fb64b1fb77d52580b9034e0e7e90a07d081311ac017aab1c2dd7
-cp2k/src/aobasis/ai_overlap3.F : 82d524080dd93745406995ded3ba11016577f44008dc5e643b2c51c926bc505a
-cp2k/src/aobasis/ai_overlap3_debug.F : 9719f7f8381957072bf389aaa9d3ef55fe946968a8ff6ec15c52590ea07cf438
-cp2k/src/aobasis/ai_overlap_aabb.F : 28313ff7486c7579fbeca40baec1be72c88abdae4cf6e19a1be61bd8ec8dc337
-cp2k/src/aobasis/ai_overlap_debug.F : 927e060d52146f56e813d5d3c7802af15ae2934a015d47629d4618f0410a64b8
-cp2k/src/aobasis/ai_overlap_ppl.F : 9a983002f5180d771e946f197bc2814fc34598a3e968dbe97309826a78468019
-cp2k/src/aobasis/ai_spin_orbit.F : b9f8b6c51557b082bd5fee467ff1738ae69db676b4a4609081ffeb98462020a2
-cp2k/src/aobasis/ai_verfc.F : e935e940d17119cc610fbab47fd45403b1b4456197745a1c5e56c5d29189c58e
-cp2k/src/aobasis/ao_util.F : d228b38161330d10d3301b280f6724984cbe117440310558969db2b35789d5a1
-cp2k/src/aobasis/basis_set_container_types.F : e0149c07d0fc3674c68775fa7cd50b2120fb79b6ecc32e047b6bc131151b4a0c
-cp2k/src/aobasis/basis_set_types.F : c430379682905f7c48296dbaca195179d65a0730217aaa9aa0410523fcfece24
-cp2k/src/aobasis/orbital_pointers.F : 081a7688eaa6b5c1d3d8726ee5c90ef559cf0b1bfee7b59b395838eae6036e2b
-cp2k/src/aobasis/orbital_symbols.F : f581159a9d5b91e55b43699782215c91cff607f389a85b0b0f3defe271f54c52
-cp2k/src/aobasis/orbital_transformation_matrices.F : aaa5b6ac8787b12983ecce02e8ab1b188fa17f83a2383776bce8aa33c64b9a7b
-cp2k/src/aobasis/soft_basis_set.F : abe9d3a381c0470de62639a22a1ec279c5075c58010a676cdeefb2d10698dcd1
-cp2k/src/aobasis/sto_ng.F : c5d8648be24bfc1c8d47a1ff352113e200009d94081ba551c1a8f663bfe84021
-cp2k/src/arnoldi/arnoldi_api.F : 9b5ad3b93c4c2539defd41610f93bd1ae14c53a910a2a17d33265c98c910185e
+cp2k/src/almo_scf_qs.F : ddb66e618037a598bc09d75661c826aa704dea83b0d809fc21095dae0ae7b46b
+cp2k/src/almo_scf_types.F : bc0cb0c937b1826e79f8683a67b1f7dc35653ce6a5a5b9a5cd137f5141adfe58
+cp2k/src/aobasis/ai_angmom.F : 416a732fb11ff620cb177d284378ca2335167469f28781afa342df34b70b431a
+cp2k/src/aobasis/ai_contraction.F : 000488be98c9852a5d4e44c98c1c5f9e92a06d5b39c03e927921d99d02a2a505
+cp2k/src/aobasis/ai_contraction_sphi.F : 9fc2396345d505ffbc81cd55821007b2a31b8aebca0920124b2c65fed8507184
+cp2k/src/aobasis/ai_coulomb.F : 7d8e45485f40911868124116e6de189f8c9641127fcfce9e2fe2beb28219c041
+cp2k/src/aobasis/ai_coulomb_test.F : 641854d83693ccc519419aed28bef8b5c690dfea1f427446b139cd5d71c3068e
+cp2k/src/aobasis/ai_derivatives.F : 774e16c4b4f4d148521c82aedc3871afdbb6a0bb6dfbb3ac8d49380d75077e36
+cp2k/src/aobasis/ai_elec_field.F : 0911432038d8433c97164e9987ad8f097172d98b86e1f37fac6166b664bc02ad
+cp2k/src/aobasis/ai_eri_debug.F : 2a7f92b694d8d68e261d15c7d420208a570ac2fc932c00c4f45f25e23512c2c0
+cp2k/src/aobasis/ai_fermi_contact.F : 90da10d25ed7e5e82fe46dee815ae9c4276a8c571eebc813157ed0f405bc01c7
+cp2k/src/aobasis/ai_kinetic.F : d0ca6c6cfba22c6b839fd374d8fd14579906fe91a5b277c6adbf5b91609b000b
+cp2k/src/aobasis/ai_moments.F : 8d5aa8c80b6b786ca2d5d1e22beb48c190dc19fc86b26ac13ec9bcc880185658
+cp2k/src/aobasis/ai_onecenter.F : 5bfdd425ffece97961347891c1a9ddaf722a42cf064bd0e1c2dde76fb26192b4
+cp2k/src/aobasis/ai_oneelectron.F : 5201419c421b6f24d9452b28bf15bc049fa2b36fc8ff6f20a1c3035ee42d1538
+cp2k/src/aobasis/ai_operator_ra2m.F : 3d33dffb49ae7277bfed51bbcd5e6111b7bb3eb09cd3186f66dd3f13e5cf492b
+cp2k/src/aobasis/ai_operators_r12.F : 986565c25f19676a038afb13d9a338520963a5c690d0837a6659c549c1ef7899
+cp2k/src/aobasis/ai_os_rr.F : c4d65d4181f721ab9e1dd4f55d8ea233626fdb2c18738de89c1ff91aa82548e3
+cp2k/src/aobasis/ai_overlap.F : a397fd44d12719459068958469cd63e947dddea278e218f85b7bdf51a69fe588
+cp2k/src/aobasis/ai_overlap3.F : 3ddff3edd9d0b40f4e85ea629089d8c1ab18f233f21abe890a8cd7f74c11efc7
+cp2k/src/aobasis/ai_overlap3_debug.F : ae634e321efea8d590d8d050f9b8c64ff8d61be380f7fcfbedd631e23cd92647
+cp2k/src/aobasis/ai_overlap_aabb.F : 868ca3d931c1a9aead64318085d11fbc62473bfa42e214ca87a4c1e9f630e7cf
+cp2k/src/aobasis/ai_overlap_debug.F : 19db12d53da3a3637e424a84db275fced5de00f673a3480f5c211d52be70eb34
+cp2k/src/aobasis/ai_overlap_ppl.F : 47dd05ea8a1a8417cb072d5c6349224b6fe8f981a99fb44274a4125af066d03d
+cp2k/src/aobasis/ai_spin_orbit.F : d62a1f36d287b8f59729931e4dae11b0cdb6d51585ea5799f5824cede1439d52
+cp2k/src/aobasis/ai_verfc.F : c2fcd5bb0bf34424f45b3302c9243a23f805a649e56995dfec97695945db1ba7
+cp2k/src/aobasis/ao_util.F : cab8d286aa32292dd2b8385fc848d289d61f2c55502a6ba0fe30003415474a74
+cp2k/src/aobasis/basis_set_container_types.F : 514031eee6d4ed529f9b0d652adb770551f6cefde2bd7e729a6d83b52bd18092
+cp2k/src/aobasis/basis_set_types.F : ea84a3f926e924b3dabbba6e12d8724a94c5f5ae25cfec1225e6be8b237172be
+cp2k/src/aobasis/orbital_pointers.F : d03f6153ab826b2815b18db0cdd486ff3a5a66c6d9f092d01c0f97bca31d7265
+cp2k/src/aobasis/orbital_symbols.F : 01fc45273fbce368f4ffd8ab1cb2e33033219fab03a5f7fa3a0f394315644847
+cp2k/src/aobasis/orbital_transformation_matrices.F : d17237bb790e5e6d7efe01c68cf7b7b934a140e23ee6deb6358b4fea49c49bff
+cp2k/src/aobasis/soft_basis_set.F : b691e679216dfdec2cf6e567f7d1fd100d1d03383aa80d039edccede2badac87
+cp2k/src/aobasis/sto_ng.F : e443e5d4de43d791be254651cd0d42c1a0a1f515d3e7c7d19f8c53a7fda24292
+cp2k/src/arnoldi/arnoldi_api.F : 281b8804b2405317c3ddfa49d9dbb1c2db0c60e0c14dde712b68aee3e52542fa
cp2k/src/arnoldi/arnoldi_data_manipulation_c.f90 : fbf3bc022e000d51b1bcaad42f1e19612d533458888c1604ea021d52567c4540
cp2k/src/arnoldi/arnoldi_data_manipulation_d.f90 : acc33c37ba6b5b7cdf180ed2fb63624573c4e7587c12ffe101d45b1c0d0b878c
cp2k/src/arnoldi/arnoldi_data_manipulation_s.f90 : 96e4133a28bd04dae64f455bad922b07e839dea880a2f9e944c19c35eb67fcf5
cp2k/src/arnoldi/arnoldi_data_manipulation_z.f90 : 86930023c7587462f51899ea9f430217b882cde44c66db582729a516c4084861
-cp2k/src/arnoldi/arnoldi_data_methods.F : f9fe7df47fcf0c16d18c0007d346387f2e43ccf0d65380d5765aca3f4df4421f
+cp2k/src/arnoldi/arnoldi_data_methods.F : 9d0e9236dca465b4ad4f3447e517fdcd526ea74ab3dd572f6ebdf5eaaec52d37
cp2k/src/arnoldi/arnoldi_data_selection_c.f90 : d96c7f2c368d1ad9fbf9df9e5ac7be595fc2894ba41d8e4bb62dc2f0dba94e96
cp2k/src/arnoldi/arnoldi_data_selection_d.f90 : 0ce5c37156a305d4d7f4a2e905216691ac23eb9fc4b336e208e65f9fcb805b67
cp2k/src/arnoldi/arnoldi_data_selection_s.f90 : 9329958163bf894e542106e6e3c7ba99e6482f1511f858ad9eecb82759bda302
cp2k/src/arnoldi/arnoldi_data_selection_z.f90 : b3dd99d308069805a41aefc7ac447679058ec83c7d32bc3ce72212897f9ac2f6
-cp2k/src/arnoldi/arnoldi_geev.F : 1176b9e320d87fb1f1ee3695a26ea2e4efe122fb9470ed27012a961c5a6b3d96
-cp2k/src/arnoldi/arnoldi_methods.F : 8f56bc8f3dfcce2ff6bfefcda30ee256f2065eac7c0695a7b03694217328e89b
+cp2k/src/arnoldi/arnoldi_geev.F : 34656d7bc50718458fcb60a41349e1b87987ced98330de080208abf060d52fd5
+cp2k/src/arnoldi/arnoldi_methods.F : 52bb3132796eed31b3fb84b67966383ca1e3ba3bc5d7130e0ee6c8cfdfa87d06
cp2k/src/arnoldi/arnoldi_methods_low_c.f90 : 4e263ed2b6507cee84183dc1f7eb21833ba4394c9e84707863e94a654bb70901
cp2k/src/arnoldi/arnoldi_methods_low_d.f90 : ba76617affa461029ce58a72f82729b2559cc5684f88adb7979e59b253eea9a4
cp2k/src/arnoldi/arnoldi_methods_low_s.f90 : c9872cdc1fd7414e36f48f4aa165710e962ffef0cf99ea894bd62074b5341942
cp2k/src/arnoldi/arnoldi_methods_low_z.f90 : e670ef40b5863c5c82cd3b0b6f81beff0bb62de4b5d5da9a4a3c489035da7555
-cp2k/src/arnoldi/arnoldi_types.F : 40c3c739052cf1a58b0b274a3105685fa611a03a358a6c921c8f6954f615dd6d
-cp2k/src/atom.F : a90930e9faf2119ddd58716a6d6639b9b572b82550046eebe5ac36fa964ffbfd
-cp2k/src/atom_admm_methods.F : 40d631e37cbfa02c5b71bef2d3dc842d89864f7fe39ac4f6e7cf9e301341c6a1
-cp2k/src/atom_basis.F : d13bd81cc128c429d583ff17e7a512de7377107fe6156227c0be1d8b9299b616
-cp2k/src/atom_electronic_structure.F : a546c6d6769979f7770b74345ed8d9f36564470e40a42ff1c27348b67818160b
-cp2k/src/atom_energy.F : 48e1c01124af4bafdeedfa333ff9de25d311657f3f94e6edc22c212cfcd59204
-cp2k/src/atom_fit.F : 0335e411c5594dfff76762a94f4b24f9fe62294989a2e1af687df36791d9cdcd
-cp2k/src/atom_grb.F : ded1e363782df55b117a7c48b25fa96f7c3c70520e22a7958c1b153cd2e7a108
-cp2k/src/atom_kind_orbitals.F : 4cae8f92552179e159c63fc602ccac8316c9c3e4346ffadd2ac6dbc1cf1cf4d1
-cp2k/src/atom_operators.F : b72357bc1821e434e13ba9b7b64c73cd4d7bd81a1ab10b4437f7be4f371a61d6
-cp2k/src/atom_optimization.F : 201ecf89dc65d81821c5b722884209fd590da570536ebd2aaef58f69612ba654
-cp2k/src/atom_output.F : 2dac486acf37d06c8b30283d4173511b355200f1059ec314970631bd66133c14
-cp2k/src/atom_pseudo.F : d540338bcda6f338e3e78eb237ff97b334fa58c78cc075fdcc676bce7b344673
-cp2k/src/atom_types.F : 482377b1447846b483f4303cd25413b8ded457a4c4a4c8c44ee06f376b8f429e
-cp2k/src/atom_upf.F : 6be8c91ea1a01afba14a6ef8fb92bca2c6db02719535383c3745459e39633453
-cp2k/src/atom_utils.F : 1b987298070cfecca1a86e929fa3d81b77ba85e240254f0759b2ae36c0d041ec
-cp2k/src/atom_xc.F : 32626c4e68d159584ffd5a5f8d87c45fa7f71950f3849c953e8e2f2df7f35bd0
-cp2k/src/atomic_charges.F : 52dab56a730cf54b4711ad48bea0dbd9c45a98d133b8d50b83b4fbee70440ce9
-cp2k/src/atoms_input.F : a5e345c260713601cc6205b34b90d9caa11b962c424b32c1af9ae44c104a839c
-cp2k/src/base/base_hooks.F : 31085c907d4a34899b0a7259560cdb121a57493fe29965c29a15884c38ef2d24
-cp2k/src/base/base_uses.f90 : 594e54a268bddbaf9a0d94efde1ec27d234ec3d9b4b60a6cb2e49a4422b33665
-cp2k/src/base/kinds.F : 3120fc66e71856a3f96344bf495932104157cd77122c96f21bdee03a9a9369ad
-cp2k/src/base/machine.F : c47836901a97578a950358146fd6e200101ddfd3bfc05dc38d6d2080daa7cda4
+cp2k/src/arnoldi/arnoldi_types.F : 7e0612217d3b3710fd71903d176422f3c57e808ae44cfa8a9ac2e3d7bfca1d4a
+cp2k/src/atom.F : af0fc6eba42156599e7b1bf145f709c737a32fae8185609447072bca594e2abe
+cp2k/src/atom_admm_methods.F : 5c6c53fe873d5f0fb8143448c4906544aaea8f4d8595c784a1af8d768828ef41
+cp2k/src/atom_basis.F : 04e3c41be2cb033aa98761ca5f7bd88468b9b4832d18c6ee2d05c7c08366a03d
+cp2k/src/atom_electronic_structure.F : 52c1fb17162da8e5ba48430d4ccf30860ff2ce11d0267db96edd92085eb6bc50
+cp2k/src/atom_energy.F : febfeb50cc5eff51cd4a4bda3e3da1ef3304f6845ffba263a33b8838abd30945
+cp2k/src/atom_fit.F : 4fe1ffef9bee936ea17dafa02cbdc0f6469a10df4235dfb083fbfcdf719c5f1c
+cp2k/src/atom_grb.F : 5a3694a9cdc99c4094620d5a198c5466f7c93286a776c68eec3476fd588842c0
+cp2k/src/atom_kind_orbitals.F : 5d598a1965bb55ac1ba9f1a57b3fb91c39f3d850bf1f9f77ba909473fc7c19e1
+cp2k/src/atom_operators.F : 595239e5c9c2b248845c805ae3434a224be2a387f154606aef6ca531734b4a0c
+cp2k/src/atom_optimization.F : eb7ee4d10df890d24531df63822ff75a88233e573af1172b3410b49e8d800133
+cp2k/src/atom_output.F : 8eadc8fd1956002a7f32da729e6395c4c54070387b7e1f5f2fc07da1f565c229
+cp2k/src/atom_pseudo.F : bf6b8c2d8349faeaa55c98297791ae0042adfbde06b4af6110470281890f45ef
+cp2k/src/atom_types.F : a560ee2541d5a8667737435da80eca8d6cea8760636d29ae6fb38bc9590b9c31
+cp2k/src/atom_upf.F : db069f099798dc2a325cd9bd7bf82bae90f5497429db1be3f200329c4d71e593
+cp2k/src/atom_utils.F : 531d0971a9686b296407192b783746fc530533f8430c73f7e430e1e24521a300
+cp2k/src/atom_xc.F : 74e609f493c9467b27f6350b1d54a1a4bf01534b88cb86e9eb7953a582f0cc14
+cp2k/src/atomic_charges.F : 65e70aba0aae81036031b3034a8e3d41b1aedcc72e87b9a97da55af9df665fe4
+cp2k/src/atoms_input.F : 3006e410e8fbe72cf96bbc8ad7ef28a5328236087250126b0e1faaef9c559b3a
+cp2k/src/base/base_hooks.F : 70120db0f8a231e5816c1bd7cf144304d68aa801a3f1bb63cb3ba6714e567092
+cp2k/src/base/base_uses.f90 : dde7d7e31bb203fc907245caab407fedca7ab616f2100d4e2b05bde6613be8e4
+cp2k/src/base/kinds.F : 5789c4d5b6a9562255c2961d21901ee5213279202e0869bd9659410c5d1e8def
+cp2k/src/base/machine.F : c0178de059b4286298fce89e0031f5352f298a995765a33e3d2f08adea135663
cp2k/src/base/machine_internal.F : f88ebae04ed9d75b09acb9907456b2d12be9b673864c7718041dd4e95af29c72
cp2k/src/base/machine_posix.f90 : 613af0279eb2f9dbe43f70ec3ac35e9dcd94babd1002b845687eaceac1c68f7e
-cp2k/src/beta_gamma_psi.F : 32206173a47e5500f4f0b527dfa0268d5097acee43a5c9eed4295f89f507acb4
-cp2k/src/block_p_types.F : 554363d2ea7b7f1e75e6fbe7f2247975ae49bb964d6fe9660485ebe3af3bb0b6
-cp2k/src/bsse.F : 4eb161f9f5de3b710b6ed4ae260ad8198f48d45a8a6b40d85e81053e6f5acc15
+cp2k/src/beta_gamma_psi.F : 9f35e3ea86a9c8643e5214789f772d52f2c36f216d03460eef78ffd68822ca83
+cp2k/src/block_p_types.F : 4ff1214d195c3260a45facddfe730430da8333a0a25e58c3afc5af0b3fbae3b6
+cp2k/src/bsse.F : d2f73c1c3268c2c8501afdba8154c66006c010485ef631c600357c0cbd274fe0
cp2k/src/call_collocate.f90 : c0590386746df2100a5c2c4651117e273737a4dc5ed8abc413bc6dd12aa9d252
cp2k/src/call_collocate_omp.f90 : 221d5e4bded8f0a7bf57f15dc89b6680508f9e4981efc978d3abfa60162e53de
cp2k/src/call_integrate.f90 : 30ab0499be399159e7f3cc080fc672c407726222e5b3b862746e8b69efa845f7
-cp2k/src/cell_methods.F : a1e1d3d25e8a0873d9df9c984f5d28d4bdcc3f6748f3ef7bcd4a6b415636d21e
+cp2k/src/cell_methods.F : 4e8caff7d4569563234c1b0a4d67734aeedb79cb34b37dd6aad93c5ee31ddc92
cp2k/src/colloc_int_kloop.f90 : 6ceefc283364bbd9b6c4a6c17ceed93ea7f35eee66fe42509ce92a41f6708f78
cp2k/src/colloc_int_kloop1.f90 : 9f9226617fc41ded752419a711f413d4892c805813b9b3285a759c28a76f1aba
cp2k/src/colloc_int_kloop2.f90 : 4345e5c7cd45f225baaee9130a428b728c3013d330aab37af7523e2ee870b9ad
@@ -800,11 +799,11 @@ cp2k/src/colloc_int_kloop5.f90 : 09490b5a3a5b713a701a10715e3c8e99009531f3ce465d4
cp2k/src/colloc_int_kloop6.f90 : 5a982561b5af3cf7798c795c2e682c0f8696fac7f90029d7c508bb06ac886783
cp2k/src/colloc_int_kloop7.f90 : 9cce216b466ddc8ad82ae5adc93f52c7057a536f17071fb39710999bb1ba24ca
cp2k/src/colloc_int_kloop8.f90 : 4c69ec3af05a85bdc31cdf92fa88364158e8def30e3e9afff6a71678b1f7992b
-cp2k/src/colvar_methods.F : 1f1b05a89ba7d54f9bba180d47bb48da795a9ae9434a6bc06e7bf668e9bfe329
-cp2k/src/colvar_utils.F : c7c77cfb552b11f1a8be50aa328e8ec92632d7bc6dc9872e37ef03b27a1f12b3
-cp2k/src/common/bessel_lib.F : 0c29ed10a05c9f3d6a034ee4ca3cb05fbd5f1b3d378c01ddd78240a881f1b896
-cp2k/src/common/bibliography.F : 536538a2bf76858581d4098a7e265ea98b1f07d930c5c2eeb7251f955b08a74c
-cp2k/src/common/cg_test.F : 8bceb5c7d9f32c78ffc52742a0914a34de671fd3c09cda3f71bfec52e7768781
+cp2k/src/colvar_methods.F : a762e9dbecdabe4947d2f540364452a86beeaf557c81cb5c50c5e752cd9ecf5c
+cp2k/src/colvar_utils.F : 812d0343ddd2c89e4d01d2602068c31f656e5da1fd98f47ebb54482978a9d115
+cp2k/src/common/bessel_lib.F : 248bce26690df4fd4ebce6e54c1a200a7481f1a9d093d406fbce14e5c917a72c
+cp2k/src/common/bibliography.F : 7dc943d49b5b3606fee6c1fee3f51e911d146df92d70f69357e9f168282a61ca
+cp2k/src/common/cg_test.F : 138eb7353e131c1235d78152ade2f2ac979c685cdbd5695180e912a8190ac1b1
cp2k/src/common/cp_array_sort_i4.F : 8cf589185a09ade6d157762680d3545ccd4cf76427cbf42d9e9c18d7ebbaa25b
cp2k/src/common/cp_array_sort_i8.F : 107d525da9a70c90d7c28c66bee23adc001a9c3970008a1ee68572a02163bbb0
cp2k/src/common/cp_array_sort_r.F : d1119d603e69d092a36d7f9fae41a968792ef31a9a8b8d79aac71ee54fd91308
@@ -812,101 +811,101 @@ cp2k/src/common/cp_array_sort_s.F : 2bfc0f6b8d7bfd0965a09cb47181b06359d65b0f9866
cp2k/src/common/cp_array_utils_i.F : 441affe916e65f339b7706d2b42eb7be6328685ab1088b322e26c66e99f36612
cp2k/src/common/cp_array_utils_logical.F : 98d11797ab53ec57e149815ae15a1fe5dd929fe3dfa5a52fe4aceee09f06b0b5
cp2k/src/common/cp_array_utils_r.F : 18a08ded64cef6d153ec245c1a6791d267ae91c72144d414b3fa7277d9ea7f9a
-cp2k/src/common/cp_error_handling.F : e2a644eb33c146e3b4ec48662de5609d7ddd99dbd2ec4b95acca7b3af5aca5b6
-cp2k/src/common/cp_files.F : 039cbe4615c3a8ca2ef9fcfbdfd0c65c72eb572c99cbbdbd3f8bb2fb65c0043f
-cp2k/src/common/cp_iter_types.F : 76e7ca4072cb50f2b46eb5783359886b5db9cea3f9af73b3a21a53bf2d7a492a
-cp2k/src/common/cp_log_handling.F : 866c55a89c76e678fc462604f4e6c5b33e5db1d1a1b5eb526d6f951bf4c64849
-cp2k/src/common/cp_min_heap.F : 4b992f04ec5f249947e99480b25123b3355c2f899851166c41c1520c9300fe30
+cp2k/src/common/cp_error_handling.F : f09c53f1014709e9501fde0a6d490636fe82bf7670cf7937e7dd7b7909acf647
+cp2k/src/common/cp_files.F : 7be3c3fd287d21748026ec5dffd9fd7f980cc758b838dd1caca88b78d0415e6d
+cp2k/src/common/cp_iter_types.F : 970193f79c1da2c39db1166fe3150b82b8156cec5d8bcc93e25f5e7b49328f5a
+cp2k/src/common/cp_log_handling.F : 484db3cacc5c304df681df39aefbf45ecd699c15020b326674e17048272a0695
+cp2k/src/common/cp_min_heap.F : 5cb34b829ca473b8d9d56310b3e3e55a47437ae12fa954b4d79cc92f16efea21
cp2k/src/common/cp_para_env.F : 8437d9fa869e0bbbe4ec7e4eecd9d1532a6950249f3fa61d04fb216e63e81676
cp2k/src/common/cp_para_types.F : e50f7b356c6c06f23bedfd26845f4a129132d3f2024e10205a3e4b65952927fb
-cp2k/src/common/cp_result_methods.F : 06424c239dec04da30b6972c7ba275458cfdbd9bd8ac06eace2cb2313307f5f9
-cp2k/src/common/cp_result_types.F : 4375dbe103a0a90e3d136242b6b8fd0d04b51ba254d63638d80877cd4714ed02
-cp2k/src/common/cp_units.F : 314d27169be2d27c6f407409c78ed512cdaed88fb14e7006426d8e624ca972d3
+cp2k/src/common/cp_result_methods.F : e6a3958aeda56cccd12b9364ca43870b24e67dc88720902faf845b589c378a7a
+cp2k/src/common/cp_result_types.F : 6f4d8a041c705e897b06176d9333c848af82683f1398c3caf7fd7496b56c6113
+cp2k/src/common/cp_units.F : 0bd667a3316766914f0a46d846dd516f9873159db4eabd5a4ef66fddc9763ab8
cp2k/src/common/cuda_profiling.F : 7274c0a90bfd7a4bcaff1eefa6f770b275141cf9623e838bfa7751f46ba1eff0
cp2k/src/common/dict.F : 80483f0d03791d33a97e11e7fdff4317a71d3078abc890a5ccfa8d30913287ba
cp2k/src/common/dict_i4tuple_callstat.F : edf916b5dc896d478ad0f817166d4aeb4091791a4b8f35e7cba66b13073c3531
cp2k/src/common/dict_str_i4.F : 44a9c3714ea10036f131e5b14e4d10a8675d1ddebea1683394e91cbded9e972e
-cp2k/src/common/distribution_1d_types.F : 4bfaaa881e30f4f3358395eecfbd6110caa763b85b6e3c5a4a15d76c026f0a37
-cp2k/src/common/eigenvalueproblems.F : 3fb63f38352c39eb188faf299b56c057d887de0718dc134bb63813ba277cd6fe
+cp2k/src/common/distribution_1d_types.F : f1251309bd6e43f07d42cca4febc0e44b133875023b5ff4d2f61172e7f6436ee
+cp2k/src/common/eigenvalueproblems.F : 6f79364c25966771079a9020c4b98bfacbb6f63e60e03a9289009b0caf75b01e
cp2k/src/common/erf_fn.F : e8fd5a9efa0b1783316fd6d798ad4c0f477ad1f96b542da5a94a5a31dc14c20d
-cp2k/src/common/fparser.F : efc5b8453b9606632dc1854f1de269dc1122ba62c8dbae824ddeeb3eae69e8a3
-cp2k/src/common/gamma.F : 66527c1668977784f1787c245581a003aec2cdb5446e7bf9164c4a89f4da18f2
+cp2k/src/common/fparser.F : 6209082bc33fd50fed65227d66915c8d73925015ee05769fff5acc40a77c3b2b
+cp2k/src/common/gamma.F : 31ccf4801bf929ba1b4dad864b2e956d2350d84247c646442d92adaa343edbd8
cp2k/src/common/glob_matching.F : 6c3ce52e44cbd8843bb022a55406b1ec1ce2f3f453647bc9eadbf8a26a0a71b0
-cp2k/src/common/kahan_sum.F : 8e7d3d2b01c5c89bb18c3b1699374da36f5e27bcaeeff96095e64be3a9e9c539
-cp2k/src/common/lapack.F : e2e2178cde5aef5d4b89c6ec0066934d1a124a7884c28109b01933e2853fa10e
-cp2k/src/common/lebedev.F : 30c5f0bc91b5ccb4d7b1b8973ad5842ffcebdd519261f357029659709d67fd19
-cp2k/src/common/linear_systems.F : 205a111905bee778f0701010db093785b68f391bf513d748fb19016d05d7e9c4
-cp2k/src/common/list.F : 0b987c187edaaf42b328e4d10f14454ef488008ca24a819523b1a3fe987b51fa
-cp2k/src/common/list_callstackentry.F : dd7ca3f4af351b8e9f1c08995b8f8ae2ae6543385cbc4857bb16d98f94f61e2a
-cp2k/src/common/list_routinereport.F : fd18d38b646dc91ab41839998c0ed3614a3853bd3c06aef33fd7a4df4b869f7b
-cp2k/src/common/list_routinestat.F : 3248cccfbfee7340ce31e8ba8863a2ef7ff2c522773945b5243599ac69ac2b9a
-cp2k/src/common/list_timerenv.F : b8943b00300e14314ff095267b8eea429514ff3094fea07af62af28ceac68eb7
-cp2k/src/common/mathconstants.F : 95571b0ecb9b20a830a4271d4870c89b9e81c2a7bd55352e5c80092f951548a9
-cp2k/src/common/mathlib.F : a7d0b6c3e06e6cec929b10df07e44fa741ec690d5fa03bf51b215bcd5bdb9c9d
-cp2k/src/common/memory_utilities.F : 31b8287071b7c6402cd61cfc49830a0313a8d174a6a60e74b9d4bfe3819be54d
-cp2k/src/common/parallel_rng_types.F : 41a15d475ce06027343b9f6b5dd4135b61fbb78072803a457e4de7f84dee317a
-cp2k/src/common/periodic_table.F : 9c441382727ee58108c60954fd8d8f9fd4b821dac34f367be772d463929d8809
-cp2k/src/common/physcon.F : e6e49a4b5ff9e5055359d8da278da85b060f45e0f282fbc7e5658cf658132d7c
-cp2k/src/common/powell.F : e80d34f23dd5bd484e197b7bedadf2a392b8ed01ecf6f5687121ed8ff7af3e32
+cp2k/src/common/kahan_sum.F : af9a9f72e437821f05a3e4666b27e468f6d93ee05984300962e1164b61f08943
+cp2k/src/common/lapack.F : 91b6062da799f91e865ab4e940cf5cc375bf9fd4ea671be699006990e3a20843
+cp2k/src/common/lebedev.F : d3e691f9b66621e33a97daac85834a329d1af5bba21c450342d3c19453bff538
+cp2k/src/common/linear_systems.F : ac1c87f4fd5a2ec04162e8b54082e946bf3bbf0113a1f0149fbf7c8ae4035ca3
+cp2k/src/common/list.F : 43a82a0d06ef99de3297500d9b8a0c61c607db8fdd3999a05afd245fbb6d48f4
+cp2k/src/common/list_callstackentry.F : 26d1ba79ffb3e164d1560cee0f5d8b9b0bc17f128e046c0a82172d4f41845f3f
+cp2k/src/common/list_routinereport.F : e670f2064f6b0533337e2b52e96a5cdff11226c7a4299706cf161a8f991977bb
+cp2k/src/common/list_routinestat.F : ac63f97f0f63538a845b7a21419ea3f956ac0f812335043f9a3ac6537cdbb286
+cp2k/src/common/list_timerenv.F : c2da369f692428ac6b657ff33651b13b54e6f4d55bf3db13deae822cf924d2cf
+cp2k/src/common/mathconstants.F : 8e1642dbfae107a8497253b4f4fc5526158f33301f1599ceb533b06e23926000
+cp2k/src/common/mathlib.F : 8748a554c508f803594d9353ec2bef3c9c2821f29c33182fd6c089b59b9004ef
+cp2k/src/common/memory_utilities.F : 63e96c3922e304e52774db5058c7d474b968d5554171b9d08937df312dbc249e
+cp2k/src/common/parallel_rng_types.F : e0101ac8a99f1a1a4629a9494c280c4d6141e967e86ae06b95b603b21a1bab94
+cp2k/src/common/periodic_table.F : b505c64eef3c5f4ca904b10fdd50766d7d70660f005d83fb705f625f6b5a02b7
+cp2k/src/common/physcon.F : 3a4905be9100c6632857ed33397af3b08f79b2102023b5c005caea1fb9a9e1dc
+cp2k/src/common/powell.F : 184e9de7ef8d8bdbdcb308e0350baadc98e6f323f738e8a7b8aba809db96b72c
cp2k/src/common/reallocate_1.f90 : 5a716326c286ff710f8e19a0a01854fdb75394557f65b12151909e5d6cdeb221
cp2k/src/common/reallocate_2.f90 : 9c4de06321bd5f4384b3948445557caddf02f826839ccc2184fb71e9117826f6
cp2k/src/common/reallocate_3.f90 : b7e842503105477422bab4caf0ae4623bb2d24eaa7bf608112f1e46319af7522
cp2k/src/common/reallocate_4.f90 : 6a8f03058ed4482c4673b37cea76b37def75a902455b2eaf60a332955ebb08ac
cp2k/src/common/reallocate_5.f90 : 1aed8fab9d01796820e445567cd990d76c559fd8b451ee73214dae22687e52a3
-cp2k/src/common/reference_manager.F : da9983368c1ab9c41b83caa95666ee3a0bdc2a994244955aa1e5887f0957a14f
+cp2k/src/common/reference_manager.F : dd75965122a0ffa7a7ec38425a35e60d756bb0e8ebfb5fca61f9c2108d2b0274
cp2k/src/common/sort_m.f90 : 3df90951f34b15d55022a534285aca4151e6f73670e8b47c275619bde2d09f76
-cp2k/src/common/spherical_harmonics.F : 4f0af22da9da8e3989ae15fd51ec65e3c6ea2d77edce0ccf8370a20b8855bd99
-cp2k/src/common/string_table.F : ba880342f88fe7fa7cb7b575d55d2aabb61cf615f3f9e4d431f549845f98d035
-cp2k/src/common/string_utilities.F : 9c055b5bb8faa829ef556c529a6492cdb1020635697d4ec1f1f958f75c17ad97
-cp2k/src/common/structure_factor_types.F : ba4d1cda776f4adf134d02cec9000a5c3faaf6f679be7eec7098d5bc07dcd193
-cp2k/src/common/structure_factors.F : b26c04876aa5e2d1d06f231ecb17250c37cd1cc27a210ef3acbb141e12ac730e
+cp2k/src/common/spherical_harmonics.F : a846bb37a02feda19b6629620381d324ac50751246ff316517806dd6a9d0eeb8
+cp2k/src/common/string_table.F : 6d816fc0f6c252e5f19add554cd6350166e8b83a862e8a06f5f07334f78707ab
+cp2k/src/common/string_utilities.F : 5d14b6af755c05e4c25de3f46bd26e91fec8c7764078d0ac851fc82257f81c2e
+cp2k/src/common/structure_factor_types.F : dfabbbee34563246033aed00cb1c13b19a4ba7eb86c9358802731c3a2adc4aa2
+cp2k/src/common/structure_factors.F : 957ce3a59aca859b7c72bd1045f0109966f9cc48cb1696549eb209ccf19049a1
cp2k/src/common/termination.F : 5789ff7666643e5aa0dadad68954f9dc8775567fb8afdf9b50762e2fe8cb9587
-cp2k/src/common/timings.F : 6ec6cbefa885d7bf249f5b6ec6c33e6a042b48d2951f135cdd6253825fd8ffdc
-cp2k/src/common/timings_base_type.F : 17e7af0963c17c6c2dc92acbd47a15e1f1f6343765da22344c7c9e3b9b8b94c1
-cp2k/src/common/timings_report.F : dd2d06d4f1bf8577608573df91dc274f8ff919a34dbcd10be73754405093437c
-cp2k/src/common/timings_types.F : a431359d4bc5fe7df0485e9f1db7cd585f3773d537c76e994ad282e42feee700
-cp2k/src/common/util.F : c32ed9cfe298b3802422b7681fb397c20469d51db1f36d45a9c43c1c50e75600
-cp2k/src/common/whittaker.F : b382201568e9b9beffc25bab0b2b7b4e8052c989fb132002e27a7585a4c69373
+cp2k/src/common/timings.F : 0826c8042389e8c51fee07e71b1d1bc0b477ed84a353f8b495fb729687eb737f
+cp2k/src/common/timings_base_type.F : 727bb4b858a51ab0ccb416653967ce0a13785c06075bf90e5788675b1c0ffaf0
+cp2k/src/common/timings_report.F : 97e201586d14dcba9bfa42bbae7307fba49e4940836c3f8f2ee83adc17ee746b
+cp2k/src/common/timings_types.F : fc54c164734957fe3473296e3403fc727d6362df19451318989898db764cc2af
+cp2k/src/common/util.F : 29bdd88dd2ea93c5fc4bc8ac3e52bbb4c673eb48316a3c3585585533b59b326b
+cp2k/src/common/whittaker.F : 4e1d88b6bc466379a9d0d7bf3acf0549773cf145f1ef1a5ccc98baefe74d3e3e
cp2k/src/common/xml_parser.F : b5d9d972ce58a4fcef85ce31da04f79cb39d583f099a9c7b3d2b32e87a337c97
-cp2k/src/commutator_rkinetic.F : 991a3e86b6ff8cfb6e31a3a04d81fd477b62c56b4de33465a9ebbf2c916c1507
-cp2k/src/commutator_rpnl.F : f5aed854e6f634e82a4cd0353b90b382871103c6989999ea6fc2698fa83d500e
-cp2k/src/constraint.F : 3580d82ac782831f34757abe6f9329e93c03b9bcca3928f7eb30591dd61c63e3
-cp2k/src/constraint_3x3.F : 154f5d3a225d0ba36b16c3b7a39f84e5f4d05bc1b829d5a1cae9e730d1da1a11
-cp2k/src/constraint_4x6.F : ea9a426f8115f0853d21d0e7378d506439918a745a7df9d8613c166af853ea7e
-cp2k/src/constraint_clv.F : 82d02ea658ae601cbc0f380ec3ea585734b22b8f0d2584dbf7cc34546e7c86fb
-cp2k/src/constraint_fxd.F : b1dfacde8dfcaa19aa085015a1428c8bc039fae378b3b206f98a32fb7b68b936
-cp2k/src/constraint_util.F : 300fe2000624d29d0d55dbea2fbd7bc41f792bd1b8df8c8b82a514027c7f94cf
-cp2k/src/constraint_vsite.F : 9809201d7b68c6e02dadcbf1f9fa0f316b657a8d121ca28bb367a3ee28f2a27d
-cp2k/src/core_ae.F : 4e5028f3526646316d9b1a6545b12ba0b76854d7fbc3aafcd1989646eb1762f2
-cp2k/src/core_ppl.F : d8c1c794118712d3abf70bedff6de4b495f1ba4d58a1b53ecd284b48a8f0c516
-cp2k/src/core_ppnl.F : 531d9c42429e8585c3f029f43d6b19224bdf96179bb2252b470304ccb6e799f1
-cp2k/src/cp2k_debug.F : 46b1c3b26891190d3e5c1a20bcc3567e4a6ff981821ca70abb917baa4d1ff18d
-cp2k/src/cp2k_info.F : 61ee72f81b5dad4d24e4f13e32211f2f9bc5f616629ab98896d47f633f666a43
-cp2k/src/cp_control_types.F : 859c6318015823bb795844fd8d0df88c39e70d85be2e4d8f4b2962958d79ca23
-cp2k/src/cp_control_utils.F : 484273c8b7ef293556b7a105b82754337372d6feb83f0af643aa3b049efe5145
-cp2k/src/cp_dbcsr_cholesky.F : 0ca56ba95b1c4177ef8b2296d59f9df3ccace7f9444b2c1337e60508299952d8
-cp2k/src/cp_dbcsr_cp2k_link.F : a3e6514d2e8dfe80227c980e47e7b412ec649740e6ac3821dea1f064f5bc850a
-cp2k/src/cp_dbcsr_diag.F : a8143b92aecd1af1ae6c11e28503ba5b52a13243a06a9788cebf0a207ca85eff
-cp2k/src/cp_dbcsr_operations.F : 76723eff3d25f1a89c34b090710990de69baf52d2100def5d0ae686893982c25
-cp2k/src/cp_dbcsr_output.F : 064d6bd57d8e6a31f18e6edd839eef8686f627a19514a26564524406fbc1d246
-cp2k/src/cp_ddapc.F : 89c0341b0118c299c9af2726e3be647502e576584808ad0c4fd6264e09298692
-cp2k/src/cp_ddapc_forces.F : 8152997c471515ca82c3ca22a2c9e112c8f28a5a8aec58729f83185be2f472e9
-cp2k/src/cp_ddapc_methods.F : ddf31087b1ba316249d93e69a916a5d393ac639e35e6731c3cfc78a7f668f734
-cp2k/src/cp_ddapc_types.F : 137a04db3424dee760965e7b5647f35fd8cbd965909b6b5634347bab7ba53143
-cp2k/src/cp_ddapc_util.F : 45b7cdd14d81033d0ec8c173ac7d691a763691b8c9e0d53d8b34d93da2460dce
-cp2k/src/cp_eri_mme_interface.F : c868049e4c06624f308689221cb572f832be0b0fde513b78fcc9c40f98c42e8a
+cp2k/src/commutator_rkinetic.F : 2d622fa2e9d447c510501646c5d44e5568bbd7225474d0c84f03ead2734fc346
+cp2k/src/commutator_rpnl.F : 62fc97bcb0471aa5b2d50a55f5984ea5d21a9f8ff928c4c19a031e76e4c3b25a
+cp2k/src/constraint.F : c074807271b7647de5ed5ffaa7755a0e7bcc9d330c767cd02c462f5603479e02
+cp2k/src/constraint_3x3.F : 21846d661d83292c9be0860fef5aadd47556d4bb59186afba85fc542861d8214
+cp2k/src/constraint_4x6.F : 5e2c6cef17bb52d8e4a853e2c06d4ed57c266e9895e4481a0d51122998edf2e7
+cp2k/src/constraint_clv.F : 0cce7db1f8abfc7a175de660b2b7768a887a96acedb79859eb7f44f684f2b7ec
+cp2k/src/constraint_fxd.F : 34d6d02c713d84e4e835cac2f5988e60a425233724cc3e566071524f30bb42e3
+cp2k/src/constraint_util.F : 8cc363bff7fc14dc70f2ffc9e036317c24a6302bda7da0bc0ece78bf5ad50635
+cp2k/src/constraint_vsite.F : 9afa38e91f500e3d11d77671327aa09ab9e02cb120a65d24faf0aa38c7a40144
+cp2k/src/core_ae.F : 173d5d694170de0396cb383fcc0a84f3ab592af6b94ab82ab3e645ac809de551
+cp2k/src/core_ppl.F : 8e2b6c795861711c0bb6c51df0fc00c9ecf7dff8994de8d1b35957c946cc0c91
+cp2k/src/core_ppnl.F : 0873576d4c7d2eb458c413922a25e72bdc2ada15fe2f211ad7f5fddcd00ccc26
+cp2k/src/cp2k_debug.F : 8c2cbb63d4f8c265b04e45ddb702768d07f9e4e226716aa78345bd1685141087
+cp2k/src/cp2k_info.F : 76cc8250651b5bbb9593449c1911d7d6354a8b00eb943933ee62d5f76736c113
+cp2k/src/cp_control_types.F : 3a26601a49a07ef7fd62371e776a352605bd115d59fc890c448015bb622b7f0a
+cp2k/src/cp_control_utils.F : b7a420882e7acf1e53cae9f25ff40c7e9cd5830b4028f8ab6cd0d42a583cf6c9
+cp2k/src/cp_dbcsr_cholesky.F : 68d5e00449531e5433f99ce71e089df1b94ae6fee432677c7e1d6ce2b0aa1e1d
+cp2k/src/cp_dbcsr_cp2k_link.F : c710da1f9f40d36322eac33335249c39db4e1d3e6f3516615005dee38bb45e58
+cp2k/src/cp_dbcsr_diag.F : 33269bc8cf042f70e55ee2bed302c76b701d44991d0fd202f9c4a4e3ce868162
+cp2k/src/cp_dbcsr_operations.F : bc9b9272ead41a9a7c6dc2a36b25f96c837c1f7c89c26ad2c2c3b11a68b5387d
+cp2k/src/cp_dbcsr_output.F : b896bd3b74419ec9f1b30021da97200dbca5881b772b9da0c7b6313ef2b7fae5
+cp2k/src/cp_ddapc.F : 61546320aa93d88553c6cced71883ed863c9ef20f2d298af97fc59bda33e550d
+cp2k/src/cp_ddapc_forces.F : 90fea36c24c60533d62d29fc045f036a227589371d4b0e9b6720ab1094ea6b19
+cp2k/src/cp_ddapc_methods.F : db03b129a8da032a691cebf14e6957d1d2a8e3e45e718b3451f6577020531ed8
+cp2k/src/cp_ddapc_types.F : 9e7318a42af99bd3a6126c3937f2dbb746a1bd2e6e0acc961c0261e6251f5f96
+cp2k/src/cp_ddapc_util.F : 57329e14b23409ae810d50d26904237fb102a6f8e792f9b79959a643f2417fd7
+cp2k/src/cp_eri_mme_interface.F : ad592058a7f6f499276e810f4ad22dc22f3e2eb7d9ed0e2a8fbd3163c89eb432
cp2k/src/cp_eri_mme_types.F : 8651fd07bbb8782fec560f5d16c4478eba490c3c127e363602ba9ee7e907c8cf
-cp2k/src/cp_external_control.F : 11094a3fac321e3f29057ec4d907077e5d103e319f9fff59dda98d032ed3266e
+cp2k/src/cp_external_control.F : 8e16b3e31d59f43d9a9281f1faf61e21004a653d84d641f0abbb3dc028ae601e
cp2k/src/cp_gemm_interface.F : 982c42574d27af51407dc31815d7b2806872932028ca086eae24ea9d787768f2
-cp2k/src/cp_realspace_grid_cube.F : 15926948f43c8bca6203ddaf362616b3d7ff07d7113ad01cf4f86ea178bc1a33
-cp2k/src/cp_realspace_grid_init.F : 13093124ac4fc899bafb23c58d335a92792867203ca1821a7db2d296c342771b
+cp2k/src/cp_realspace_grid_cube.F : 021c70937d34d92b72882810d205a0dcbbcc6f4037f965c728f684a85331f47c
+cp2k/src/cp_realspace_grid_init.F : 73b9f8340d90b90fb061ce134b5fcde46e0eca9cf10a46c4bfc01288760b9ae4
cp2k/src/cp_spline_utils.F : eecffcb03335a0b33bd048bfb90982cea5623644145bbfd920f6b75b35708847
-cp2k/src/cp_subsys_methods.F : e5ed0e8199eb042d2fd9f4f4f0b9f3ccaa921b95b05684fcd5f1a70b71621dd1
-cp2k/src/cp_symmetry.F : db42b5acc7121a1db04136baafd126c762511765b9c71762508b30b75f442321
-cp2k/src/csvr_system_types.F : 50a329ad6637b7d891bf8a1699ba41dcc57c6e1473a5339e30931ee1f52b3f28
-cp2k/src/csvr_system_utils.F : f98be57bd861bebd963f5ae255ea059bbc672a9a70567924e32b4ca35d2baa07
-cp2k/src/ct_methods.F : 679c1eda81a56abeee35f25ad3a57ff858b2c972fc9f9a401809caf781b9bc85
-cp2k/src/ct_types.F : d1fdb2fa833e801701ba84b9c0a9ed9d9de9349d25ed454e08a91e2faf53cbd1
+cp2k/src/cp_subsys_methods.F : cc869074726716ecdce85f4a3e9e22433d737d7f5902d013c92752850212370d
+cp2k/src/cp_symmetry.F : f3ef1f3ce5dd2563c17f35af5fa7aa43fcfbc740da793018c3c1143930769670
+cp2k/src/csvr_system_types.F : 631cd045813dded5b36ffdd9c570da587bdca922098b2557c6017d12cc65709b
+cp2k/src/csvr_system_utils.F : 1501e9a0bc44a24c4d25a625057243e54471251c49c33a518728f0f8fa0ad907
+cp2k/src/ct_methods.F : f34c380d169b62ef16063b2e5a3f2d20065e595dcc01b49659bab69d7c39f61a
+cp2k/src/ct_types.F : 3ba270e7efea2db405150493c343131bdbaa757b6804420449511f40c520c54c
cp2k/src/d3_poly.F : c6fa822a13e88d70bae179c91f261254a109f70291f7f75e8317eb6100adbddc
cp2k/src/dbcsr/base/array_types.F : bc5fb292e0bfb1d7b491dfaae8cfe1d2ef678bdd4d6859cad236e68c74689db5
cp2k/src/dbcsr/base/btree_i8_k_cp2d_v.F : 26099e92bbb48994c14250662c5a67a0e2f0596395e179321b2fdcd2e8d86682
@@ -1036,102 +1035,102 @@ cp2k/src/dbcsrwrap/cp_dbcsr_interface_c.f90 : 7a8921f92bbe32e019085a9f6c66c38ca2
cp2k/src/dbcsrwrap/cp_dbcsr_interface_d.f90 : bb9980939a8603de376f73bc93b6136f87eb44fdf1bfd417198187fb6a2cb139
cp2k/src/dbcsrwrap/cp_dbcsr_interface_s.f90 : f86610d63314e2837beb48254f8236598db53cc0665d04d7a6660fdeeef04b32
cp2k/src/dbcsrwrap/cp_dbcsr_interface_z.f90 : 131daef449124bf1d0d138bf15fd1efc41c57f394c0ca5536bae2a97569fb284
-cp2k/src/debug_os_integrals.F : 89954ff38e03fd7995925e5688cda0aeb3788e468fbf88e6e3eef74bd06736c7
-cp2k/src/dft_plus_u.F : 3da7132b67c4a9403cec0ba81bf1fcc53b98425e19c348f4c8f2212361f87f1c
-cp2k/src/distribution_2d_types.F : e8c578201b02d344a7dacfea996e1ab42b42184e5f59761f6149d08e618c3f6d
-cp2k/src/distribution_methods.F : 2a6c7c89ecfa7dcbf5e67bcceace8eb639e4314c8e7e8fb9b019ffecb351867b
-cp2k/src/dkh_main.F : 553b6ceaca5425e2cde55fda340319be8864023cac46b777e1c21ff780c9f9c4
-cp2k/src/dm_ls_chebyshev.F : 20fbc7a57e4852243e52f91b239380a294333ccf5ccba3fe7d554a77f856f84e
-cp2k/src/dm_ls_scf.F : eae50b04ff9bb5d00c1c5b4b07f16d635835ef56f9f2395fab7e74e76abc5e86
-cp2k/src/dm_ls_scf_create.F : f7b3e8d1682d26bce03e63bebff95c2e78bc42836e4bad7b761dab911f4ec57f
-cp2k/src/dm_ls_scf_curvy.F : f6a92f961c64706ba50b31db26f55c2b12cd6220c02edd0d8f8902dcaaa52d92
-cp2k/src/dm_ls_scf_methods.F : a61f4af6b6394b9ecb4541a1931cf9873d45d08a39b7d2af029b9f8e4891eede
-cp2k/src/dm_ls_scf_qs.F : 9b8d61c33b18b98ae6271443dc1342d0508c25bd0745fcae0e87b6aa22555473
-cp2k/src/dm_ls_scf_types.F : 7ca62486a2ee91c0a6d229b0cef3c5dc919a12c51c30e51fa9ee711e7bdabb29
-cp2k/src/domain_submatrix_methods.F : 7d27e6d90bbe5e973a3220502d70a54f110282788c8b304cdcfff35600430531
-cp2k/src/domain_submatrix_types.F : 41569ac17e5987e80e5a408e1030bed8720feacf96bd6214c04446fd52464508
-cp2k/src/efield_utils.F : 14ac94df221c12f749e5ea29f846b25ff93e5f2a29852ba825283a773f40da6d
-cp2k/src/eip_environment.F : 88e8c16f25cf861d7af552999be9fe6d48dff701b3b5753c74dc0622f0a26870
-cp2k/src/eip_environment_types.F : 159ff48da9826149441832c553455a1ca6962105e1f18254c7e0409ed9734e37
-cp2k/src/eip_silicon.F : 50edaa27f5f8102242f08605b1b7b6a000eab7c5ae91013c6b6593779d2008b2
-cp2k/src/emd/rt_delta_pulse.F : b1f8f56491cf611632adaf02986547deee1282341b4c1fc4a51080d6abb6a15d
-cp2k/src/emd/rt_hfx_utils.F : e21e6eff87b9a94777eae70a5656bec638f9f4aeccbad2c5afa10470dee81880
-cp2k/src/emd/rt_make_propagators.F : 6bbee8a132252928c65b0bf571c378e44e9c73a6c1d4387df9eb091779011655
-cp2k/src/emd/rt_propagation_methods.F : d953b6d47c2f55f01f7baa50978d0eda55e9f0d81fc05e855766ef7188c78332
-cp2k/src/emd/rt_propagation_output.F : 91b5b2061b3acb3326bcbaf8322a5cc459133e80486ca3aa5cf2dea72886d77e
-cp2k/src/emd/rt_propagation_utils.F : 3963a7aee953c02e656e0cc940c9ef6531fd974520c78586c0ac495c9f6a7792
-cp2k/src/emd/rt_propagator_init.F : 7f5f4faaf0034364c4ece1f3c97c8a98d07ed0656f92135b9e2667528483b58b
-cp2k/src/environment.F : a3ffb6d3b6a575aa498606b2faabbdab31aa28c1e9da298661cb6be36cb6fcd6
-cp2k/src/eri_mme/eri_mme_error_control.F : c845b011ab586fed1ab942c70a1324de61198905337148af3432cc80679c6a9c
-cp2k/src/eri_mme/eri_mme_gaussian.F : 0370620f42d1ed634087e4be66bd1cefd01d8ffaa78f4f2af5b1717c36e9d482
-cp2k/src/eri_mme/eri_mme_integrate.F : 20d95e72d8b8eee85a4aaa48ff4e6adaca73ac6b0e54a705265672bf93562bd6
-cp2k/src/eri_mme/eri_mme_lattice_summation.F : 7205ec2df7ed271d265a709c7aae455ec33495c89fdfeadcc261ecd3c40c4437
-cp2k/src/eri_mme/eri_mme_test.F : 1fb6c04b2ca1c754ed6035f7dddecee3b781519790a8c8a2a0371cd224369476
-cp2k/src/eri_mme/eri_mme_types.F : f528587d4bfe2d37ee54c238eb8b90a28c01947f96c36bc6cafed0a041849f78
-cp2k/src/eri_mme/eri_mme_util.F : b24a9315bdbc27fc1c102f543777d30c10ed66055c766e23b787c706c6abff3e
-cp2k/src/et_coupling.F : c54519a7b41f27c762aee1c95121ce991eea3d8f2aa42e3395148f49555c4902
-cp2k/src/et_coupling_types.F : 952e4cc51262c2ff8d907ac7e1641b288b8fad2e08212baf2c1032797647de3d
-cp2k/src/ewald_environment_types.F : 8eae2e4e778476f3852c36b5390c5938bf0bc88fd35c4e15065c0a983c2bba26
-cp2k/src/ewald_pw_methods.F : 3609e85bde9b9aece3366d2f7c7d6da29b5ed47a628cce8739edce935fdb1ec8
-cp2k/src/ewald_pw_types.F : 7acad9bf54d51fed9aafd0ce301d603e95db1dd3f33b3cfec3dd8279b8ea34a0
-cp2k/src/ewald_spline_util.F : d6babc79aca5b4e6bda6f24ad690ca627c90a8d4081905afdf6e1ea4c204edc1
-cp2k/src/ewalds.F : a71f9ee7e21c0eca1b8d281771452029f10d36bd3d2be8951df1220013aff68f
-cp2k/src/ewalds_multipole.F : afbf400f27e09be65e41f526f9fa60dde4239bd343e60e72b155797d1bee6495
+cp2k/src/debug_os_integrals.F : c8a3a2839e7db02ae6efb473fc534b07eb12de2e34b5e48edc7f2b05b8ddb38d
+cp2k/src/dft_plus_u.F : 09452eba56e148ee5160ab455f9274849a892aea275468fd32bafeedde0a47a6
+cp2k/src/distribution_2d_types.F : bf8e0a945a5a35371bae8b77d48fb36b000203f59f065dd1b5dd2cb8829adf42
+cp2k/src/distribution_methods.F : 8a81888ab8ac4bed0ce1ad6219944436131494227ab586bdcfe450a81d53b7f0
+cp2k/src/dkh_main.F : 187b2eee594981ef0954ba121a759ed49843e5bf6e5b0a0e705e582d9e522a67
+cp2k/src/dm_ls_chebyshev.F : fb58642bdd5bc49076dca6d53e34b38f331cc6221c3053075764a4d0982b5629
+cp2k/src/dm_ls_scf.F : 2e72733e2ffb7cc9c1ff00b577cbe699921a4e784e401cd21cb3b9bf21f23688
+cp2k/src/dm_ls_scf_create.F : ac2665e53fccddccbb27c3b1020870d9886c5f5a7248479d2a7da3fff828e0b1
+cp2k/src/dm_ls_scf_curvy.F : 69dc04f9d2e3af94f0ca3929146e8839c7157d24962a99806c48521ce0141a86
+cp2k/src/dm_ls_scf_methods.F : 7d891656c26cace43a0f99f0f84b68ebd98636057fd4d239804b12adc965df35
+cp2k/src/dm_ls_scf_qs.F : 06b23aa9a8e4b60a5361d32b2f3d9fdba8dd19356e3e86443de36b0c1916260f
+cp2k/src/dm_ls_scf_types.F : b23a429d257b372ea04f4fc4dd871bbc318717faba38e2886e54ae375adeb3a4
+cp2k/src/domain_submatrix_methods.F : 24f8d33d499b4245c1ad6b5bad1464a08104bac2641bcedb220356fdff1c1fdb
+cp2k/src/domain_submatrix_types.F : 84d05911e84a2a3c1e1a56e353b4ab33cacd486c954c2b2673baa2570be4e57b
+cp2k/src/efield_utils.F : a7d8e3cda7b599e7b129c119d1f5bda836b1366ed2d6a19aefadffd7c97df7ff
+cp2k/src/eip_environment.F : 9469f41c75dbb806d1e5fbe90359ef57b6ecd003fe1158c2ddd4e404e6d683d9
+cp2k/src/eip_environment_types.F : ea512221b674c218fa2f00c4bb0f6ed59de3941a8b7efe6f226ec6eab613299d
+cp2k/src/eip_silicon.F : 9b49c15996668a5506528e882f9f8096921be1a6f5cb3c1ccacd2f2c7f92aad0
+cp2k/src/emd/rt_delta_pulse.F : 1b61473ba8c7b08f3f5deeb0103afc3212c4e892ec83726ae29f42987d385258
+cp2k/src/emd/rt_hfx_utils.F : 97a1d4dccff22c75db658913cc99eae1ce4347602879474019073b84b7d0f645
+cp2k/src/emd/rt_make_propagators.F : adebc14635294a496c3868b45d64639d24eb3ca77d94990a87527d57be83b4c6
+cp2k/src/emd/rt_propagation_methods.F : 758f39e647fd4687ce59f223a3f30ca74f71a31df1316470fa70b999f890d2b8
+cp2k/src/emd/rt_propagation_output.F : 45e222a8d030d5e09387fb5b9214118299bf68331098d4eaf6279608f1b8ea33
+cp2k/src/emd/rt_propagation_utils.F : 6ad7b2c52e917f1b3ff55cd04e6d9609f738cff45906e9743a8471c2fb8d89cf
+cp2k/src/emd/rt_propagator_init.F : 13b77e76bb0f10cce2958ae5362eae0da16a680918649312f9167b6d3ef44e23
+cp2k/src/environment.F : 4ffc2236ca9d33a26fee05f282f601c77264c6b5d245ac9f8fd168c2a71c8de3
+cp2k/src/eri_mme/eri_mme_error_control.F : b8125b97f653fae66d8e841a68f967f74c75efe404f867b0f2acba36ea7d1867
+cp2k/src/eri_mme/eri_mme_gaussian.F : dacf42455853a7669da8c9787e49082f28fc7dbe43cb3f39b250a53ac2070099
+cp2k/src/eri_mme/eri_mme_integrate.F : 2bb404db0284370268cabb4898a2bd5d1090d38225f17aa8e50adb3568cf6cde
+cp2k/src/eri_mme/eri_mme_lattice_summation.F : 86afe39bd7715de17228eafc69c8eb70d82166e98af376176fff020000437382
+cp2k/src/eri_mme/eri_mme_test.F : 59de7e7d5b954691323b38e7e8e69a08aebaf513f989e2745ceab71ec670531e
+cp2k/src/eri_mme/eri_mme_types.F : b37ee317a66e4196f8d8bd7581eaee497be9f4ecc07862a2f466db08b64204cb
+cp2k/src/eri_mme/eri_mme_util.F : 64dca983ef2b6320256b43686ace5fdd0ecddacf10ba6a930129e73cf1337821
+cp2k/src/et_coupling.F : 5d38dd929f3ad239e3f9a643503529a88b31dbd3e087689261ae47b4aee15744
+cp2k/src/et_coupling_types.F : 9795add04284d7f678a09c695d96a2c11674a63882419d72e9e7756a3638eb90
+cp2k/src/ewald_environment_types.F : df9d1181bb332c7941044d2d24f015eb6c972ebf43022d8872073986a1059eb4
+cp2k/src/ewald_pw_methods.F : 18e788d01ff73bbde924a7e553f240ddab5ac50a09b55f10d097f630e027f00b
+cp2k/src/ewald_pw_types.F : 7730d1cb839b86450963ae1f3c4657a23153f2cd30d7978e29851beed9bea7d5
+cp2k/src/ewald_spline_util.F : daa455edd2e0fe13a35bec8b2020f3c7b1b0d6f3c462d165db8d69de828933d6
+cp2k/src/ewalds.F : 68f660ea5531aa22dadabd1af7a2300cc4d9691db452b8acee5f3b40d21ab037
+cp2k/src/ewalds_multipole.F : d3f3f10d9270035b0fa2c9216450ded4e3b053e21b9586c80fe6c4958fbbb448
cp2k/src/ewalds_multipole_debug.F : 0ab04a1493ee8e53cf1d7d735157654c7d0972e98acea9be2e7953add72be0b6
cp2k/src/ewalds_multipole_sr_erf.f90 : 21ba8860addf29b059d51821be014bb0e132a0d52f64e2f97ce78c3dbb008c6d
cp2k/src/ewalds_multipole_sr_erfc.f90 : f91f9b33deda83c24ad8f8e43005ac211c9e8eba8c37118dc7b04c359ffbe8c8
cp2k/src/ewalds_multipole_sr_gauss.f90 : 02e0575affb83c5d4e11604d96a43b7a18b23f5f8226bf3259c197b13df9e2a7
cp2k/src/ewalds_multipole_sr_pure.f90 : f4cb5f46af9f7d769a3ffa44bcb7264c8ec699e908fb70ae64a7e160b5c3af3b
-cp2k/src/exclusion_types.F : 306b18aef808f21cbc9b2dd352d93030bf9733ffc3b50952555643f1dc946df7
-cp2k/src/extended_system_types.F : c68a77082404699e686443c73838a4b905c296c2a66a7ef57cfe42ce69e40908
-cp2k/src/external_potential_methods.F : e52aeaf83ad3ca97476aba14217f445c6806236b3943d2a058b698a2d8daedae
-cp2k/src/f77_interface.F : 8886afd61a3862d6e0bd2ee55e84e9675eb34ea4dbea272fb9c5f01e327e5a53
-cp2k/src/farming_methods.F : 35f9bb304a74684858f79c4db93212304bf0e079dd10f0d54cf565692b62a213
-cp2k/src/farming_types.F : 7a14950b2d0afeda36eeab3583d7bbb644b3b3e3e7d64f9fc65107b60679b967
-cp2k/src/fermi_utils.F : 80b7e010cad9d8f3c5658e058aff9e1c28ab673d2d30b68d063fc056f26b678d
-cp2k/src/fist_energy_types.F : ae8961dad47e9855970868a03ea953e318cfa587302710ab3ad83193e08a560a
-cp2k/src/fist_environment.F : 8c37bf8cc58666c1c18c03ed14403cb90b4e84382ed0958f9f8e7b92bb80c38c
-cp2k/src/fist_environment_types.F : 689b1e8de5a77e6ac8de8cb643cdbf5ce7f1f82194ad2e02252edba01595bf72
-cp2k/src/fist_force.F : 1207717b91e0e46ca3ddf09b39eab9d384e63bd6765c6cb49786e87babf2ef7e
-cp2k/src/fist_intra_force.F : 9b858b027d369123cee8b38250ed803b1fe414d07c2aa54a9843728130015983
-cp2k/src/fist_main.F : 85c4c3f31643ea3b728607d0829c52a167ff338d1fb0c8a64393295ac085ad56
-cp2k/src/fist_neighbor_list_control.F : c7a007c5cdbfdb2483bca64ca7fac9bce117d8dc13d6da80609703df51e9b376
-cp2k/src/fist_neighbor_list_types.F : d8a667fbc906b07febe4ee740678d4823a60b5d6d0f8d75adb3e7d58c5c7ff54
-cp2k/src/fist_neighbor_lists.F : a495bfd618da8b102f6c90ac7b21ab55a7d98b6f7f6bba0a3a5585d087a23fad
-cp2k/src/fist_nonbond_env_types.F : 82ccb56d7634c0a53ba7f1565fa9900f1a5ebe5b025c1a3625e4da009220946b
-cp2k/src/fist_nonbond_force.F : 624bba78de82588dc2e7cd2ce81e4b56c3c6eee7210ec019344c9c37332b45fe
-cp2k/src/fist_pol_scf.F : 752c1e107ca0caa1b9337d54cfccc2896a51de4edf585a5fd6b674cfe0bbd423
+cp2k/src/exclusion_types.F : 9ff521e9ab4ba1a2983fac05d28632d287b462718e258f0303958d95dfa957bb
+cp2k/src/extended_system_types.F : aa8cfab785e8ddcccf4c29697405f5680d23e724dec560860cf1775f9244f6d4
+cp2k/src/external_potential_methods.F : 75bbb43d2548940724fddc34e7e31305fef0dd722610e9a35407596ed253d1a8
+cp2k/src/f77_interface.F : 772d70874df8d10cca301579a34b500c8a836ed024007c65a7f39d0292ae476a
+cp2k/src/farming_methods.F : b470a7df54f205115a6256dbb2fcf535a571cfa8737365cb6bc2387ad2f5e6ed
+cp2k/src/farming_types.F : 0216dbb0da6046302c38ee2fb191d64d0b113af87d87aea45a57f558219daede
+cp2k/src/fermi_utils.F : 8360585e311d574d159356d137b75d6f5744c362a96add0d32cb1f9004873d4a
+cp2k/src/fist_energy_types.F : 871d021a597e49b3d4fcdb4673de8a3a2fad100e7aecf580dbf929edeeeeb78d
+cp2k/src/fist_environment.F : 5c64a4344c162dc58bbd2d657350762f6f4b8feaccfcebafb475c10c0552e88d
+cp2k/src/fist_environment_types.F : 1f0b79ebe471111fc9f83f62ca2626b9af6e0aed238f3f081d9731ab53bfa97e
+cp2k/src/fist_force.F : ff42451b5d1b6425eeeed4c86b8f6f35923c814ce5268daebc101c6f42e0e2e0
+cp2k/src/fist_intra_force.F : de15e6a712a8453a93cc29f4134205194f8911b938b7bbfee7f09a839acf13c0
+cp2k/src/fist_main.F : caa005a374d88fa19021fe6fac690eb8777458c1ddacd226be1d3e2ebff2bd0d
+cp2k/src/fist_neighbor_list_control.F : 3465ec3021de15af5b781c99872a058075c4543467615cc53cd541c4c20a6f2d
+cp2k/src/fist_neighbor_list_types.F : 3e7b8b84be17ca67c5c653f419c36931e3a3c3a084ff7a21e4f79d8aa29d2bfd
+cp2k/src/fist_neighbor_lists.F : a386aaa03e51784fe3f73ffc37dcd37699c9d43ec66ea40e086d0ca96d7a3fa5
+cp2k/src/fist_nonbond_env_types.F : dee61c8c36c7808cc7a166d144f34cd80e77bef31fff12cd3554298a900c394c
+cp2k/src/fist_nonbond_force.F : e9743a91271da0b2812e790964d29efba63502eeb4f389dbcad5acc7516af455
+cp2k/src/fist_pol_scf.F : 1cb00546cfb56c670298a5afbef7d13906d40511a8bea76c49c79457a738f558
cp2k/src/fm/cp_blacs_calls.F : 1fc9cf821828cb31ecc8f066227404f1e3447163ee981ec0e4ab9308147fa1d6
-cp2k/src/fm/cp_blacs_env.F : a85f05a9d04e3dbc0c825eb0fe2b549286baa05911c92fd7eaf3df2f4ed7bacc
-cp2k/src/fm/cp_cfm_basic_linalg.F : 27e4e1f86252304f2b577a7b9acdba4f2aaf8c31c1c12be7d9ea32984fe2c9d4
-cp2k/src/fm/cp_cfm_diag.F : 7bfdd6d1897e3186ac3a12aa9e6497ca02ccc1a5dfb6896f4acb0af34efe6616
-cp2k/src/fm/cp_cfm_types.F : 5ae70b16e5084988a33100be6b67d4db98ecc93ca7a55fa7f52e65817fb5ddf3
-cp2k/src/fm/cp_fm_basic_linalg.F : 282b2a0c5ca143ffeb21420f859a04a0011f1ed0c3da9729fdaa695491fa5e89
-cp2k/src/fm/cp_fm_cholesky.F : 5312f872f4709d9c7abe3450096fbf9a084cf7b8c05649e864fe2e4a527370d4
-cp2k/src/fm/cp_fm_diag.F : 7f3ab7c5dbd1700ce5f3396f5fa6f66540ee57e6672686d9dba2db5ce27fda9d
-cp2k/src/fm/cp_fm_pool_types.F : 29ca2ffd48cbd4dbcc4c0b7db678c298e815d55299d0941939394132fd4cf21c
-cp2k/src/fm/cp_fm_struct.F : 88d1e07666d41e7fd571462ca213d9cc9464ab00d318514907d1d7d7829a6dab
-cp2k/src/fm/cp_fm_types.F : df5bd7c8f7504e9e5b293387f5da2130eca87e7c0a413658d8f38fb964dc6662
+cp2k/src/fm/cp_blacs_env.F : 542ff62b046d9a1722359349bd5e4d786043a535a4e95e7c2eba54d606eadb53
+cp2k/src/fm/cp_cfm_basic_linalg.F : b5ee328ea22ebffed964c10ca83ad9a48b5c3979c597bb27ebb42d7d553f4c50
+cp2k/src/fm/cp_cfm_diag.F : 8afa1e0ac98d507ce0822a350ffd34d8ba9366080d271d4b5443d429b4cc34b7
+cp2k/src/fm/cp_cfm_types.F : 770698a66ee7c0ec1a5e792dc299140d6e454b490952403556024e65d6dbaa23
+cp2k/src/fm/cp_fm_basic_linalg.F : bcbeccceda833966210394db1a34319a6ec06b1c365212c2f1f1a2a1121d16c5
+cp2k/src/fm/cp_fm_cholesky.F : 83f9bca3c8c510612d50116245bd90358c8a105046bb82c58332e16f200c3307
+cp2k/src/fm/cp_fm_diag.F : 6534613822abb41baa803effa3a27f0766ff710319f6da0348bd7af97a420a23
+cp2k/src/fm/cp_fm_pool_types.F : 8780a5e4b109680d237d5bb9e615ba26055854e1bb5232bc496a6cd88b9ba976
+cp2k/src/fm/cp_fm_struct.F : 5c93f49ae7dff87587ec1e2ad9b506c220e37b462a7ef29ffb948702589d0a81
+cp2k/src/fm/cp_fm_types.F : a15d6c48db5bbb6494cd6ae1f4c62b37256d8b45d00b54685c111e9489e89949
cp2k/src/fm/cp_fm_vect.F : ab356cefd1109cafd74b6d801adcb2bb0f18796d7c311bd6cb792e544b8dab7f
-cp2k/src/fm/cp_linked_list_fm.F : 4000a99fe65bb142d0d27aa7e181f75354f766acbb78ba2222829e2d9b5cc03d
-cp2k/src/force_env_methods.F : 52a959a17879ee7568239bde5db11439fa0681061d07dcb94d8187bb54396a4d
-cp2k/src/force_env_types.F : 0a16a3b3cb6bb19a318166c29df0fe0196c6a806a313c6b9925a5c771f6af462
-cp2k/src/force_env_utils.F : fa79b72d3c7d66c45d1a7a0cd65766df00b016b06333c1462749d988e12ae4de
-cp2k/src/force_field_types.F : afbd08538aec5380180ce8ce74cbffdcc55eafb86c5b79f6dd8060435288cc84
-cp2k/src/force_fields.F : 73d76f824ee427c9b24dacd20c1c77bf02aa7c33d9ae6d79ff509e35d2f859a1
-cp2k/src/force_fields_all.F : 61983f73edb096b04577da59926b1012abf7cbf93fc763f0e3c30280aec7014a
-cp2k/src/force_fields_ext.F : 39139d2f408cd298a97a20777d1e5fdf68c05beaf9690f262be0dff0c6acadb7
-cp2k/src/force_fields_input.F : a4abebd85887a133e9858eac013dc781b4dab4ed90addbd30c6b76f4e1838e22
-cp2k/src/force_fields_util.F : 40fb8bb98de3e09d32a632452539e2dec31159c6e47efde4e0182e47a65e77f5
-cp2k/src/fp_methods.F : 3bf09c37ded748bd46e4dde8fdffb57d3b6766ad5190b0c508cdb90e8dd56898
-cp2k/src/fp_types.F : ceeab1da6413de69b60d5b43ce837ca6f6838e8985bee92ece61a5ec4d6b3d47
-cp2k/src/free_energy_types.F : 327166a0a71ffb185d0709ddae847457ee4bd203eb1b0a39d78615701a0e9947
+cp2k/src/fm/cp_linked_list_fm.F : db6997c06158a6be1025db1b6828563e81fd185de3af225af32fef12dcca7f73
+cp2k/src/force_env_methods.F : 3e26ccece5f57f181870439646a71979f3bc865791f506dba48c01ab4002af22
+cp2k/src/force_env_types.F : a827d22558d9851a417dfdbe1959f378e8b1521312c2e3d617fc3b9dedd01d61
+cp2k/src/force_env_utils.F : 4a9017d007f8bbdfaafc1d0115fb23d961435329f51dbc089cd2b44e8f4db852
+cp2k/src/force_field_types.F : 4699ca2c27320728d3cca0650e4a348fcd38bf361081b4bb92a2d3ffe40d102f
+cp2k/src/force_fields.F : 280168c66cac45592b74891c926a65fe19e810663a8edfaafd54da83dc2e0f2e
+cp2k/src/force_fields_all.F : 4a80e519ff4a915830b305b4353d0b0ae98c0846c694fe8d5a9d5caebaee0ffb
+cp2k/src/force_fields_ext.F : 37895483801fe7b273a5265a7e8bd63297b5e7f8add70209a2076e44c216e80e
+cp2k/src/force_fields_input.F : 1f5966faf7a455e5c172336b88c2af13465176fbe52cdae15312b332106bc2fd
+cp2k/src/force_fields_util.F : a3b56ec8dacb9965f8369b9dcebf05bd0ed96465128dae14cc28692e1a271a91
+cp2k/src/fp_methods.F : 1d9a2bd9ec62d3dd55223b5a9abdadfbcf76f37a5929e0f78d6942128117de9e
+cp2k/src/fp_types.F : da203a45fbe8f33e6507b6aa4d2b85ba9ea26addc9d372ab563bb7d11897fb6b
+cp2k/src/free_energy_types.F : b54d4b478fda1956f18a69cd034c12f91f3c05730d9874b05733976f5579a47b
cp2k/src/gauss_colloc.F : 5e9401904cf46d5892504312ab1cb7d2c9b3300773c4607aaaf056e01c150710
cp2k/src/gaussian_gridlevels.F : 55f43392de9860dee32d1105f736e3927fdd6da26b670bc777062c5fc1478df6
-cp2k/src/generic_os_integrals.F : a6c616e96b990c797f104d6263ce06e95451727ea328312d669c6a813f3b519c
-cp2k/src/gle_system_types.F : f685dcf3a8717901aea77fe1b60426674ecec1684a97e6c56b09d3711349f25e
-cp2k/src/global_types.F : 17f65ef3b95fa00597081d8fe0f09df14c006634d6f5fd0abd711a74873f8bb2
-cp2k/src/graphcon.F : 9e69579ead7d55702ec7f1e0f0abc91781be1b13769c31306ea0b994cb0937e9
+cp2k/src/generic_os_integrals.F : 76542761e9ebf13e52d22c58ba1cebc6aa9b4a55b44afa21004bbc88e1cb5978
+cp2k/src/gle_system_types.F : 685bcd35dc493dcb64d82f69d014f4302aad848c75b09c145d4b58990f633026
+cp2k/src/global_types.F : f20b19ba2c763bb7f349f9421b2b3d2c7c8d240314794a51394ee24940179143
+cp2k/src/graphcon.F : 02466a479945d94eb4abb5d5f35e9700622a38eab9fff357e9d7331155d9d177
cp2k/src/grid/collocate_fast.f90 : ad1e3e7f7d170cf786d42b89127bee120d871bafcb5d73ce6f591a91d961705c
cp2k/src/grid/collocate_fast_1.f90 : a8031349901bc98d15777fa1c079049b429d6b48a6e3141d2863accbab545226
cp2k/src/grid/collocate_fast_2.f90 : ac538c8d8bf1def7ba0bcdf0a266885b3151df9df12ea525cae1097d1fb7eb30
@@ -1149,632 +1148,632 @@ cp2k/src/grid/integrate_fast_4.f90 : 0436284b9734762c37ee2da326b988cc4405065e896
cp2k/src/grid/integrate_fast_5.f90 : d0709bc0dec920aaedb243be42efd8758abea584489b12b03ec24cce68e60058
cp2k/src/grid/integrate_fast_6.f90 : 4e70158cd4dcc5449d5e792918d7fd1f2084ed3a66cbfdd6681af79f1866dfb3
cp2k/src/grid/xyz_to_vab_optimised.F : 15094bc0c2bed9033b025f90b14cca9f8380adb88791c5534be2689bd985ead6
-cp2k/src/hartree_local_methods.F : e317fe6eae4a153948077ed187e2b918d510fafd0b3e0778b1b4e83a629521af
-cp2k/src/hartree_local_types.F : a30e0ac2fd69228dbe2f58e0831e32ccb7c96867a5cc69e198a46b3d316440b5
-cp2k/src/header.F : bca6d3f6411b8182b8b98b244691c57a1c1a5ce10eb9fa6bdb3a6bba42266e97
-cp2k/src/hfx_admm_utils.F : b64e9944fe7ca66acda72dd3bc125402e1b985fafe230a46003a9cb09d088ea2
-cp2k/src/hfx_communication.F : d1a0707d262362356970beb796c29b79349b9eeb62d48b30f113911638d4a5fc
-cp2k/src/hfx_compression_methods.F : 4fd8738c98d2ade1ede92605df2ba35603bc1844fd82cdb2e871690db543270f
-cp2k/src/hfx_derivatives.F : d7def5f60a8c3ab6181a9d4bf1c2de28f9645050616b2e87b68527b4644eb340
-cp2k/src/hfx_energy_potential.F : da9136e3895346d75cb46f1caf56847da7c1d0b7529cbaf8a116f14396b31c28
+cp2k/src/hartree_local_methods.F : 1613387f9e4af1a8cfa470d15257a9acc23c8fa4fd828bf06e7e3cbd284d3ad6
+cp2k/src/hartree_local_types.F : ea14e1848698bd62a31410cc895b74da8767e758b7cabfb7b78f378ebba1d1c9
+cp2k/src/header.F : 4c4dde074a968e9b140e8e6bae22bc097be7717df8896ec936ae10ac3044a197
+cp2k/src/hfx_admm_utils.F : 28b4039d0d50e7a27108bc2f18288c69b413b979d92b16c22b5b52ba49922e37
+cp2k/src/hfx_communication.F : a5477e8a99129096f51c3f15ce75d5da43c260f5c1b449a8e45d9d0bf582f08f
+cp2k/src/hfx_compression_methods.F : a55303146bebdb44576cf4dfef2dd93a70d1afe743936520b1330ae215b8bc1a
+cp2k/src/hfx_derivatives.F : b960bf7b46a7f7fc2703bd3d114fbfc5d7ed86206700e453513415319a7c22da
+cp2k/src/hfx_energy_potential.F : 82cf296346c1be5bae8e0e46d732bc7ec0664c6eef5c2e9d4bf1c52fe6a6bed9
cp2k/src/hfx_get_pmax_val.f90 : 131d23eebfc738c04cbd76395f8cc858b012352fe7e630673471f7be8e1e2bf3
-cp2k/src/hfx_helpers.F : 28f9143bcaf6b5cc4323959c1537b0948069af23b0b4e8221d2008efca00e897
-cp2k/src/hfx_libint_interface.F : 5a40f986c6457334d05785eb6f8b1111c95574dc6d82c2086f71841588774005
+cp2k/src/hfx_helpers.F : a88895f63c57301742a2dbf8b7184000dcbcf6997039fe8880338f34e9cc13a4
+cp2k/src/hfx_libint_interface.F : 053bd0ec191a4717db3c2a149859f9a513b22479133c1726a01ed957f288232f
cp2k/src/hfx_libint_wrapper.F : 0eaff83ad037ed99100c1d7efabc161d82f3c5d3a29298cc8ad7edce8b8c581b
cp2k/src/hfx_libint_wrapper_types.F : ebf40cf44543c9fb53e4527a22df97ed5b58b4b08f8d172ece1345a7fbda0f3c
-cp2k/src/hfx_load_balance_methods.F : efe4375f3bb32171152cfe0e35360305ab2077d75a7df1e70c9ab6046b775e7a
-cp2k/src/hfx_pair_list_methods.F : d70c1c55e704cfa9a3111bb18c96c7f694f8cad860a440e9927c773358b0f7e7
-cp2k/src/hfx_screening_methods.F : 3af68073b6cf4aa788af06edde1600548449f015810e2da2c3f19faf6607a385
-cp2k/src/hfx_types.F : c653729a0e1b2faaf708aa90c961e216dae3bc994e5a232d30a5d794bbb13d4d
+cp2k/src/hfx_load_balance_methods.F : f15cda0a45f53ebe588fa623b8ebdb88a79e9eae5c44d03e2cf105de8137b20b
+cp2k/src/hfx_pair_list_methods.F : 8640e42495adde92a05a08331bd3739d81be67c0619f63f93ac266dcb34ff2e7
+cp2k/src/hfx_screening_methods.F : bd7ad14f7ef99b565ced2e19a8c4416dc81a2ca64f560c9ac755432a418a460d
+cp2k/src/hfx_types.F : 3ab7b265f9570f84ccd4bf278b17f3b1cb0c7f510bef347d5b0211801bfd0a8c
cp2k/src/hfxbase/hfx_compression_core_methods.F : 6886372cbbd2fe2d6312b14a046c4cfe87541c8fa8e60aeec226fed66b482855
cp2k/src/hfxbase/hfx_contract_block.F : 88d75bf4dc2c688b3ee40d4e4a3b898dbff3c966d25b4a028b46dc9e35b7131b
cp2k/src/hfxbase/hfx_contraction_methods.F : 994f3e0e9c7e894ef16983183b0e670b287ff7a8ef5f7434126ac6395b25e09b
-cp2k/src/hirshfeld_methods.F : 3ecf1863304197ffda56a4f709e4156ce6638b07167959c9b7aedb61bf525f63
-cp2k/src/hirshfeld_types.F : 7faab24d967efcf484ff8c96f047525ef4646675b7fba49fe4ef7a1996bf7d61
+cp2k/src/hirshfeld_methods.F : c29a0d6e260fcdb7544b1ed2ff761a4a3f812a4949854583ad51d0761784e4f8
+cp2k/src/hirshfeld_types.F : 9ef31e3bf6b50045f4787f414ba4fea95b9409ba7d9d30f347e011c317007828
cp2k/src/input/cp_linked_list_char.F : 9f98a4f0781b4ade25528a3af09c2809ff7e568c3d7f65ecf3693d12ed3bf8d7
cp2k/src/input/cp_linked_list_int.F : f637efdcd375a5e20ec8ffec97f704c5e6e1bf6e90e53308a5022453cfdd6dc3
cp2k/src/input/cp_linked_list_logical.F : 17defb70d6de2712fb2dba77a5b5be8e58d831f0b91de5ab9dfb5ff52b3958a9
cp2k/src/input/cp_linked_list_real.F : d0d8e8107b8a5df615c67a2e52fcef16f40bd111df4ced2bfd44f7fa5876b538
cp2k/src/input/cp_linked_list_val.F : 488ae5e741f340699eac172ed8af5dace4ace21951f2e902f5040fc419c2b5a7
-cp2k/src/input/cp_output_handling.F : 0b098c1ce5ea30c9f109f28a7863256c2ddde150324a8d952d7c670f50fdf4f3
-cp2k/src/input/cp_parser_buffer_types.F : 8d7a93b0ffaee96cb112434a445a0cc6b2212c5a11c60e9fb3d2315126df5f10
-cp2k/src/input/cp_parser_ilist_methods.F : d7f312b1a46b7524b5684d7b062d086b79ab5d21d770c9fd24a2f7971b61631f
-cp2k/src/input/cp_parser_ilist_types.F : b43983c22d190f9d097f73058a653d451fff3ecd483b377bed12254ce85e8af0
-cp2k/src/input/cp_parser_inpp_methods.F : 7e7dd8f5c42997b9d50ca9f5ecbbbd33dfd16b2f1b15d1c7f03baad47daed3b7
-cp2k/src/input/cp_parser_inpp_types.F : d8b3686b615faa76a88b0b6f0cf5a14205041805f74b738d8557be1765688324
-cp2k/src/input/cp_parser_methods.F : 4974e8106dff74572e166519e8712b5f5ccc94d0d3c0f15cda20bb5f87833589
-cp2k/src/input/cp_parser_status_types.F : 93c41b52ad2fcfd25cfa9b4366ba716a177defb1e683afa151d670299b34d350
-cp2k/src/input/cp_parser_types.F : 484321b643de83eeab890694d562c1f5311f278dfddded4c12c5b0a4296fa48f
-cp2k/src/input/input_enumeration_types.F : 26685e38fc0150996d486285a767398008ca86018030fb2fe7e72d46db776de8
-cp2k/src/input/input_keyword_types.F : 14c7428e6b0377a736cbbbf3864b669f389f83dcdde1539f8da095fe4020c749
-cp2k/src/input/input_parsing.F : 9fa3267c13383366cc3ed8863ac70539784d048db0bf3bcd4600463c305faca4
-cp2k/src/input/input_section_types.F : 48db5ff094dc618cdeac69d2b29373dddee386e02ad25b521cc62f37198f0ba2
-cp2k/src/input/input_val_types.F : e1503ea07bc9905bc4470a04349fdd94ec6c7f1c592e13c28e530ec3897cff9a
-cp2k/src/input_constants.F : 60e175504ce75540a2b886808e1d8f10ed10cde984901537d74df9b48dcd80dd
-cp2k/src/input_cp2k_almo.F : e5dad99a4d31e15cca1c688664781fbffb9dc4a23d3de76dd9a6ec30cdf28645
-cp2k/src/input_cp2k_atom.F : a71af23b341a87537a4d3d78c41dddec6200a737e3d207872172769a76242286
-cp2k/src/input_cp2k_atprop.F : bfa6ceb0f010d66cc342caa80cd8ea7f4f8b157f33d469cf1a25b30f63a4aeb2
-cp2k/src/input_cp2k_binary_restarts.F : dbefcfb7796027313d7e518f1b4ff1f5dea0db8b587d21f0e621cc9e98248c35
-cp2k/src/input_cp2k_check.F : b2c6a4df61f5ebf9ebe22fd124350c7f2c677c349bb87d8b5125af2bee8b3b13
-cp2k/src/input_cp2k_colvar.F : 36e28d3221ca272f9cdeef46af482f7d6018bd47b701411e7230c027bf190fba
-cp2k/src/input_cp2k_constraints.F : a33670e286ec3977fad452242862bd3f823015d9bb0d070e0f52d02bdbf5a559
-cp2k/src/input_cp2k_dft.F : cd3947802320caeb09d686f6d2e871d5b86ede81d441aaacef70f5794c2cf31b
-cp2k/src/input_cp2k_distribution.F : a52c77481a52f34baa580e528d2d721d6a06d68ca7326c45b8b24e548a18295d
-cp2k/src/input_cp2k_eip.F : a04dfe1aeaafe29718aba9947c73bc68d8596dcf88a270e87c120e7fb72c01ab
-cp2k/src/input_cp2k_force_eval.F : eebabf80aa85799f00df490795107bbf95beb091cd85ac9f1c5e98b1ca43bd90
-cp2k/src/input_cp2k_free_energy.F : 37bc918936d8d940e4f3b33d61850409bba524876ff917db55ab4520efa62ffc
-cp2k/src/input_cp2k_global.F : 837704768da6a231402528788f93ec3a03530241e79884f5cfec4d71cdd7d368
-cp2k/src/input_cp2k_hfx.F : 96ba32bf4f0e7d5d30317b8205f23e2d088f3d39b5bc48984499f144b67d89b5
-cp2k/src/input_cp2k_kpoints.F : da3c07bb17431e80397fe71f2a9bd74d2faa718da66b21db0b9a8c244729816a
-cp2k/src/input_cp2k_ls.F : ae4a3715bc7a2c971ec0ffb7add1877d57a82c3c6155d79081ff0b6b053d450d
-cp2k/src/input_cp2k_mixed.F : bb62ef2d363ec492336755cf13b2aba2d042162daa5a5dbabe096814f4084b77
-cp2k/src/input_cp2k_mm.F : 7236fbe06b9102c248dfaa01ddcb45f451bd9f61a88fb846c6e38305325522c6
-cp2k/src/input_cp2k_motion_print.F : 22999ef34504431fd7b8383c22f9411b5715a2fafe8bf5707190aeaab5340b3e
-cp2k/src/input_cp2k_mp2.F : 7a8e83c3725055f26d8f3c65f6f7f006849679f6ed78dc99e2bf83077aa588a3
-cp2k/src/input_cp2k_neb.F : f9b1c30cc39e75057904fe4e5b286af94da648a4035de3be03e4638d5528b5ab
-cp2k/src/input_cp2k_poisson.F : 019660ea2cda889f22db151701fa3b2508d20b564b0368a89def36c546a30d81
-cp2k/src/input_cp2k_properties_dft.F : 4a388f1f79bf102a75f5617da9439c3160d4bb4fe0d9f477e89ee2f15430235d
-cp2k/src/input_cp2k_qmmm.F : 860d68b5ef46abd75a28f9f01ebdb9e75ee634eeb69de3664806df9ff4dbc3b8
-cp2k/src/input_cp2k_read.F : e23aae475f4aaa7bf3b2be854b955f5bac094c8c18171d5928b30d3d78431dde
-cp2k/src/input_cp2k_resp.F : 7b6a5c7f437b5fb2d13a41b3138330fb8d629def80442768c63538cebad663f5
-cp2k/src/input_cp2k_restarts_util.F : 2400dccb5ad7436d818b0e74804c913c982475ed62d31a7d36dca81aaff33337
-cp2k/src/input_cp2k_rsgrid.F : f2e447f86c7ecc0433b25afcbf619d83b33acf195246b3a3d28e8a147fe65ed4
-cp2k/src/input_cp2k_subsys.F : 1d0249efbd7959db02dfff5be041637fc7db481ba06df95fdbf01233777ce0d9
-cp2k/src/input_cp2k_thermostats.F : a37e07332135b538900fdc8bcb99486ab34d3422083e58752e266c6f0bb88b8a
-cp2k/src/input_cp2k_transport.F : 00cfe3f0495be8e44684ec08399b9e6f72d7391874e8d6e49658d3a8e8bbf2db
-cp2k/src/input_cp2k_xc.F : 4fa9a39e2e52f5c5b485914b5bf461af2ceaee456f3467edc306e33b4b667b21
-cp2k/src/input_optimize_basis.F : 1c5bf6437c49a6935720d7350282bde2531f7d3e42abbd870819890956d03cdf
-cp2k/src/input_optimize_input.F : ebe85d407f5ece39eef7acf4731e2a4165b0c74148ee0de32257209c32674044
-cp2k/src/input_restart_force_eval.F : d448fa6c240798be64c12c3397ce0b0dbe635361f1422e1413ce243a39182ece
-cp2k/src/input_restart_rng.F : cc43881fb8f51a0dfe0ad4ee1e2aec7954f2338c25a6f5f310bc633b2493ea25
-cp2k/src/ipi_driver.F : f4b4bae7b53b1bf2bb8e94b8c8692290a67579fd0e1e5721345b806a2a0eeb15
-cp2k/src/iterate_matrix.F : 3df680be4ec588d9fbc1eb611a8ba33ab49dcc742f2ea5f299d5ce02b4ec93a1
+cp2k/src/input/cp_output_handling.F : cb2e1a709c0e212da099ad08f380d0320a86b09bb671c8f1c19f45719f3b35ef
+cp2k/src/input/cp_parser_buffer_types.F : e63e8303bff1e1393d00b14255f43f0fed64275409510d21c62db68e6e0e9c44
+cp2k/src/input/cp_parser_ilist_methods.F : 57311891d7c904177e4aac182a1645a07f74285077410512daa5c624652975a3
+cp2k/src/input/cp_parser_ilist_types.F : d4aa1617b3a2c6467e71f6544f1a0cbcf4dd57dca09d7c431b5c184b18354c25
+cp2k/src/input/cp_parser_inpp_methods.F : 5dd64426c0654939006b4b392be54f306e1f9b346e35cef61339e7f0f9953299
+cp2k/src/input/cp_parser_inpp_types.F : 10b2a6ef09b3570f61eee7f6bdceb20e7aa09c37a60cb3ac42813a279c4caaab
+cp2k/src/input/cp_parser_methods.F : 9e309024c89d9ea28b4aafa144b0a4a4a10d0f68d9949fe860b846e9ef2572f4
+cp2k/src/input/cp_parser_status_types.F : 7b10c1fd54d21b0433423f98590536660182ccfdc03e83eb860cf54868aca983
+cp2k/src/input/cp_parser_types.F : 4959ab28aef763c26a248020ca94d9de1763cd123bd53294f28d2f3dff32e21c
+cp2k/src/input/input_enumeration_types.F : dcc39b5a484c06b4c3e95216dbbef49869b69bd4b4f0ff68e9f4e979b982a3e4
+cp2k/src/input/input_keyword_types.F : 2e6a5fc3a7c892cd34c67f41cf5660f12bc2dc61e9bd9f6ac4bfec1a0d69db22
+cp2k/src/input/input_parsing.F : a0c3903d2e45dd4e63fa686d8a32efd54b2c7ca7c1b01e3f407143e978d387c0
+cp2k/src/input/input_section_types.F : 4cf329bc28730afb0bca596ddf8ba6672f3b60079eda954acefeb056f779d1a0
+cp2k/src/input/input_val_types.F : 99db446c7a6214a961756f7525b45eacd9bc7b3dfb57f2128809f5381037f149
+cp2k/src/input_constants.F : 2a5a449de05f3b80e2d64fd36b83a71ee981b0122b0cdb9af7d42a3c436fcf49
+cp2k/src/input_cp2k_almo.F : 362686bd8a1365478d0043d3a81f91cf23f2437cf9d855462e0fcacab45ec720
+cp2k/src/input_cp2k_atom.F : 9ca2c66c308e5a5e4afccaaf63004e72dfe93698d5a1e419459f6b8ad9f7d651
+cp2k/src/input_cp2k_atprop.F : b9a5cc9947afabfbfe4877dc8c2606a5e4d244a90ed9728420ecf4b988366762
+cp2k/src/input_cp2k_binary_restarts.F : 28264eca7c95a252ee933b57d7f6174ae57fd696f8a85cac1d1b9cc01ec14290
+cp2k/src/input_cp2k_check.F : 471fc029293cbe8a0b6783afc1e3707c5800115425bf7274a1230d1a3396ce01
+cp2k/src/input_cp2k_colvar.F : 081f716579ecbb783d657273e2614da1a83bb07a29d1dc7362d031106ebb42e9
+cp2k/src/input_cp2k_constraints.F : 243182b1135067319e3a7107b88543557be2f14a7d5fb856b2f2434057b2022d
+cp2k/src/input_cp2k_dft.F : 7f932df49217ed61bc48a850289f1901353258d89ab6e16e0c93121dba5ddbb7
+cp2k/src/input_cp2k_distribution.F : 67b8017c414efb9ed933604c2529a0d8eb9ccd42ce76d900ebd41bc87b0094bb
+cp2k/src/input_cp2k_eip.F : 2baac1b1393568984ad17c0dcc0db0dddcb6a13e44f3decefdecd83f8edea1bd
+cp2k/src/input_cp2k_force_eval.F : 728fb052381cbec9e35fa19a5114fe676f3c9243ea17e1af7f9ba2d83baa5667
+cp2k/src/input_cp2k_free_energy.F : 8c2073b0c673e0915609205ac944772ea53e575fa2121e855fd35804c0dc2bce
+cp2k/src/input_cp2k_global.F : 143441d68bf06309c72b60bec927160943f5fcee66c2e41776e23f57cd8074cd
+cp2k/src/input_cp2k_hfx.F : fe1054babe18dac1a4d876551f5fccc29f49c6f75353dd8cc01fc59e071e7ce9
+cp2k/src/input_cp2k_kpoints.F : 3439bd35aedb9eadc77756fb973e12b300aba72a48ab5434fc97af2bd380f5cc
+cp2k/src/input_cp2k_ls.F : 5bda7b1cce3f57b676825bff421a523ce595eed0e8465709b89d1da0caed0912
+cp2k/src/input_cp2k_mixed.F : 849a3c68796c4869ba46303cf734de4afbd8c630df165446178b0cac2071dd37
+cp2k/src/input_cp2k_mm.F : 8f520f57da6fb8dcbcc011db68fb92267a055c683b91644d63c8e97e26ed939b
+cp2k/src/input_cp2k_motion_print.F : 527b973d3cc4e7dede925a9ab4c6ca48abfab4a8a3406e306d4b62450e7340b9
+cp2k/src/input_cp2k_mp2.F : ee213febd9cc8213f25e4f9de1903a4a6544bfb7726fd729bb9b873bc9b76014
+cp2k/src/input_cp2k_neb.F : 91956d05db182e170321a06ba6ab1328064bc1bd73bab9ccf431bf9199ae4fad
+cp2k/src/input_cp2k_poisson.F : 8551cd8268165ea7b8c851f1a83c0c506a283a686b1fd33a42434b729ee62f15
+cp2k/src/input_cp2k_properties_dft.F : 6a07f1d569dbf14fcf52ae2ebfc98ed594b2480429e9ed84c78072cd20d5c3d7
+cp2k/src/input_cp2k_qmmm.F : 36d6181b76bb86dc5ad614f90c9bb07ba52042a71138b1d42057329d3a4c7fb8
+cp2k/src/input_cp2k_read.F : 8d9ea3fa6bf4a003c15e01980974978c1f4ddd341bbb3e2d0d7d5c2f918af0b5
+cp2k/src/input_cp2k_resp.F : 8d3df53f925af162c9d5e8af51a72155d86e07ed24ec18825429f78bd3c23561
+cp2k/src/input_cp2k_restarts_util.F : 150a80cf510ba9e66cb29d9132446d7840339c8b8720302257cbae841293aa87
+cp2k/src/input_cp2k_rsgrid.F : 6985ff7440a0d54b6827732e213ccebe82b9010c23ad8c56d3be53e18b9342b5
+cp2k/src/input_cp2k_subsys.F : 0ae37cab4b020ca4b7caad7f6a7e205efdda6b0b46d1f6ee993ccdcf6574916b
+cp2k/src/input_cp2k_thermostats.F : ec70b67d8a7b08b1e959cb05d400fec9cf5078b63edaf5dfaf4b6c39b9599d6f
+cp2k/src/input_cp2k_transport.F : 79ba577f5b24a41d681fef24d1427689d38758d124707f6a271d30557ac52d08
+cp2k/src/input_cp2k_xc.F : 7fc3f1acda62a042fafccdc0f5dfd66e7ee81ecf74c589892478016f7ee8902b
+cp2k/src/input_optimize_basis.F : 71b1d02cdb8cba295ed53ea5e54c5d9d483d4b825bb40d9a87a17b6468885f33
+cp2k/src/input_optimize_input.F : a89e344b0ac1b70ad8968917eebae495d5ab6be020c77ab51c79c594d84fdbae
+cp2k/src/input_restart_force_eval.F : 0e8e833ef91e38759ebf4be49aa6676c6a9985f94dc6ff4e593950b3ed6c3618
+cp2k/src/input_restart_rng.F : 75dacd3fbf900c0aff2dff6f97a3fd1b47d16389e6e216b1c007ea43ee35e6c5
+cp2k/src/ipi_driver.F : 9656db1a52910a7611298b58f7ae951dd3cc0eed2c083854885d536e2ac981af
+cp2k/src/iterate_matrix.F : bb35468846a7c8909fbda423f6727051d6eb75e9cb7bf71962101eab572c44bb
cp2k/src/k290.F : parse error
-cp2k/src/kg_correction.F : 5f59463986d144636daaf9e01b2754d7dd07d7aadb5cf6d31e8d5be21d11cdce
+cp2k/src/kg_correction.F : f4d774f1f132e6ea39ec32f35b1543e57b0c15942817f106ac698e8f42a24636
cp2k/src/kg_energy_corrections.F : 96df47d849a43eed4836a69dc256f5d4629912b71c6e9b4ef4f998d96c3f8233
-cp2k/src/kg_environment.F : 8d743b824faa8896723b09fcb66e95faa4e3e32580649be4108508a395ce351f
-cp2k/src/kg_environment_types.F : c266b3c96ecb2147f1b2c62c478b8f2649a301a3109f5b8456d352180b4c4c29
-cp2k/src/kg_tnadd_mat.F : 9b707770d244c448775f01317ce804735ea77925e2afb28cf0da5e946bc4f878
-cp2k/src/kg_vertex_coloring_methods.F : 4f565a40ba8195cf80cc9c93d316dc7fc9ee240efa4ae073acfac8be202726f4
-cp2k/src/kpoint_io.F : 2a2fca0b5a33be8540a36d9e75aad7c6c4a77c70373b55ac08b9a2032b2b8300
-cp2k/src/kpoint_methods.F : 9211ce433bf397a3ef797c4e97418df132d8e997ce142d356092bec905724c7b
-cp2k/src/kpoint_transitional.F : 5c4dceb18aad216871d4d4c8fb6512043f722400795c3bc51fe7798ff3da0f92
-cp2k/src/kpoint_types.F : bd4c336adeacf918f74260d3e809e8899e05dc561db9b39a64cfafd884a64675
-cp2k/src/library_tests.F : 0d8daf5128a2afdb201a514ccc3b920d0fb992d7f3afd01dcc205d9d4e8f432a
-cp2k/src/linesearch.F : 2c2736a62a03f71f3b90017d9e6c30de8790dc38cc980f0780954a10f9d31d75
-cp2k/src/lri_environment_init.F : e23d6511abf5984c179bef72f66602689ca8be997bc8fd4326fb524b2fc7d917
-cp2k/src/lri_environment_methods.F : d5fe9850aed7db3fa681803cef83e4f6318a6ceed27a6d42becf92da46c12308
-cp2k/src/lri_environment_types.F : 9d30c41c3c5dc446cdea385417aa1f3635fe7c43ea212f67d7727180419d49c3
-cp2k/src/lri_forces.F : 47550004aed5cb78579dac2ebf4db12bd1282c445b7afd03dd0557147ab77c8f
-cp2k/src/lri_ks_methods.F : 387a7a5541d97663bd8b01a0fbdbe10e303e73c4565de5a6ade48796ec08ff75
-cp2k/src/lri_optimize_ri_basis.F : 32a7335d4382533aa0a7a72643a023a7c40f76e9cbee75dc2ac9264d2d2113fa
-cp2k/src/lri_optimize_ri_basis_types.F : 5ed3a78f38e2cc908c14b80e6acddad43ef7698795e47ee4167565d8321230f5
-cp2k/src/ls_matrix_exp.F : dbd0ee3100bc02ddced1c70d709869565482228a80bd2a107b5fe030dccb1922
-cp2k/src/manybody_eam.F : 70b544457a2e47ef7be2f29cceb278e29a6ed57a3490f5ce64a596d3ab90e1d5
-cp2k/src/manybody_potential.F : ee39a9d60cde8bcb22ae2c7147498b6fc4ad80d71035453e75621872ebf49605
-cp2k/src/manybody_quip.F : c83adf320593b0d7eadc340942c171eccb78f4321486b02fff74175f54016507
-cp2k/src/manybody_siepmann.F : dac6c3caa9d2f437dba8b5f6147ebb9240d78c69586f4af3d8c1dada1f75254c
-cp2k/src/manybody_tersoff.F : be55cd45a2c358bb6d96411a5f24d7f7dbfdb47a035d5e5dcdd971ab5818b5ff
-cp2k/src/mao_basis.F : dd25c89f7cdb2fda3d572d97d262decab05f8065a0ec182364509aa4673586d6
-cp2k/src/mao_methods.F : c06299fd429c52df7a41bafa960452caf0852c415bc63263b4f05caaedfc576b
-cp2k/src/mao_optimizer.F : 0e9d1a5de9415f0a8c80f71d440c40c522d496dcf2632d43eab24ebaa67c9eb3
-cp2k/src/mao_types.F : 2d28114e58598dfbefed2380107469d8827e89d58d828092fab15ae965e87b28
-cp2k/src/mao_wfn_analysis.F : 5548c49a37da66854e0d1a5f4d84fe01ae217bc255bb0f15917afb862e2e51b5
-cp2k/src/matrix_exp.F : 1f6e3ceef5cd6791a7f67451dc7bc91ce4d477d40bb0622729a7dfc5d99238fd
-cp2k/src/mdctrl_types.F : 0ebac010dd2d2590241577691f11f15c306bb9d2164aa33f16b8bb5d33308627
-cp2k/src/metadyn_tools/graph.F : 721a17ed067bf496b004c16d7456b507c2a9be7b855f31e398339a300e87addc
-cp2k/src/metadyn_tools/graph_methods.F : acd7f0f1a1495f43bf15a14bb0c350fe78668d1be16aa5f455a1463ac00ba8ae
-cp2k/src/metadyn_tools/graph_utils.F : e4cfbb37373e88ff81088026d812d25c1a92947ee6e328f21688683d19109c6d
-cp2k/src/metadynamics.F : 18c5f7ec0b76364fd1afdeba5a7e7e8aff3f4871251368137024ac8171896fe4
-cp2k/src/metadynamics_types.F : 65e78ff842ff95fa39d658feeecf5244a4c9d636b1003a91798ef1434ae288ea
-cp2k/src/metadynamics_utils.F : a2a2f5b5ffad0dc13020b95931de715b6a041f3d2c8bde9f5093cbe59bcf9f22
-cp2k/src/minimax/minimax_exp.F : 95a178bf7eb16da33f62f4760e35662cc5aa6964bf3bb83a5e541a597cc77d83
-cp2k/src/minimax/minimax_exp_k15.F : 59e98ce18a5a6374544e372a73c7d53dd88fadec40e99d6537d23086cd1096e9
+cp2k/src/kg_environment.F : 0ea9b14123018cfdd09a3e972b30e0f3aaec6dd4e90076321c883f98c9ddb9a2
+cp2k/src/kg_environment_types.F : b0928a298620ad5925aebd50a9373600fd123018e38280e2a9ffdf641efb8c65
+cp2k/src/kg_tnadd_mat.F : 34eca80a70e91bf9e3f98be67ccba59b209e80a12fba7ba39539d866a3e11ddc
+cp2k/src/kg_vertex_coloring_methods.F : 7f0003ef7e89a0a4fba0db95a8e4c9253a5efaac8af049d6f7ad08b4717796bb
+cp2k/src/kpoint_io.F : b9fab15b83f4d92f8a0831ab882eee4c80d4fa9d3ac514b69ba2d599ff001cc7
+cp2k/src/kpoint_methods.F : aaf7735f6180e53026e45ad8cd2b8c21f5804f16ee812a999456feb8c3d4c519
+cp2k/src/kpoint_transitional.F : 97f930db0a86f5d25589f977f7bc07cdb0b535d30b3c07f9050fe4ae82743ea2
+cp2k/src/kpoint_types.F : 7e709b1c33473bedcfc98e5b48b9b5bc0dd4a8d0b050cfaad5c19ec79f6af8ab
+cp2k/src/library_tests.F : 73e33f5af02e4c319f1f561f0c97ca481048ac29fb0d176fc3583d110c950581
+cp2k/src/linesearch.F : d5e650e1009b3bd37f28bee490897a0a01299835f1222e29fc4b032975753b2d
+cp2k/src/lri_environment_init.F : a5fcf0ed54f89f5d13a88b32b41ec3b5538bf43a49ba5cf861c5ca44af4224e4
+cp2k/src/lri_environment_methods.F : a4d3d7df115eac5cad9f84cbfb154e0539ceb0dfb38bd3c931c6876a557c6ff7
+cp2k/src/lri_environment_types.F : 8659a65b7698de211a013fa0975b44102c36884789f850fd49a45ed71e83606f
+cp2k/src/lri_forces.F : b63cba7bb0b0ef5e653a0efedcc864bc36ce26980f9290ff5f4dc39435356f85
+cp2k/src/lri_ks_methods.F : 193f303bf2552b67c0b46b677a2b10c2a8c2119aa6ee11eda68e7b8380eecfe7
+cp2k/src/lri_optimize_ri_basis.F : 042c40df590b20f76e18931584b5b61bac21c1f52915e8f388a62fe55d173c2a
+cp2k/src/lri_optimize_ri_basis_types.F : e77e0fb6dbd08d812b55069368cd45d843d39c6b632d991f825414d33e9b2c51
+cp2k/src/ls_matrix_exp.F : 35bcc77e23365151103125b7c1143226889fdf77e01337b6f45a943d898a3b72
+cp2k/src/manybody_eam.F : 0bc1769962fb4b500d0d5915274729f5fae8f5def46fbccfc67e5ec6fcc9a18f
+cp2k/src/manybody_potential.F : 3bafb400f6af1eee4325b935b914416276ec19e3b358cb6f3323cbb53648ff28
+cp2k/src/manybody_quip.F : 38cabde6c2467b9dabe84d3d9e71f2db9676e8e1d18b7b379ffb889c3fd8247d
+cp2k/src/manybody_siepmann.F : 3be92e84dcd8db76148877edaca2ac20902aad3d18337d983c525a1bc9dee78d
+cp2k/src/manybody_tersoff.F : 849711b4e11a0c3e9e7051e66eec2d5615e6f1c088f3d7cf8e507c472d807e3d
+cp2k/src/mao_basis.F : 0ede10ff7811b110f4b70fde354adb9d5ea60c570db05a3d1f18ae692fd3ea62
+cp2k/src/mao_methods.F : 406c5da404bae15cc9efd946247beb504703a9d2f00f2e19b9cd5eceba3fcc3a
+cp2k/src/mao_optimizer.F : 0ab97d96977ad9fe8e0ef27459a678e3994831762460508ea874d772f5d5dac1
+cp2k/src/mao_types.F : 214157a5838aa37ada04831f943f8f3dd0439d44b09fec67cdbb8531b6803cd7
+cp2k/src/mao_wfn_analysis.F : 719c17cfa418263bf9bf855292845ea974338203350ca90437826f1f4134049c
+cp2k/src/matrix_exp.F : a283c1330e0e47dc90c78fc07291e6df638516bda33bdf54da71fa18f09a7564
+cp2k/src/mdctrl_types.F : 05890e8ac0e9bca678c631375b9699ab3f034d02f15ef20e86c8224d88b01163
+cp2k/src/metadyn_tools/graph.F : 94754834b579aaae66f58d04ef94beecaf53fdc3ec156a21e9f606d6930adf80
+cp2k/src/metadyn_tools/graph_methods.F : 49891b4ba42a13170e78ce49a3582742a119b0692c1274414d65bef3620f82e1
+cp2k/src/metadyn_tools/graph_utils.F : d5a7eb29b3820047119338a0c2eb281b2680d18f0f5da24dbbd06045c406c8b1
+cp2k/src/metadynamics.F : ca6917050f41c23db5b162d855aa024ae76ab1092662941384ddf500b5930043
+cp2k/src/metadynamics_types.F : 8577f474e9fc2b8adbf3e90949f3f9fa6eef17ded3fd3eaa9b1be84f1fcc0a64
+cp2k/src/metadynamics_utils.F : fdff5ab0245d59de31b8beeea52587e6e0b94ec7d31135c394f0798d33fbc064
+cp2k/src/minimax/minimax_exp.F : 7be51094996375906c32bd9bec4a5e3c40a2c617078f3165c361161a067401cf
+cp2k/src/minimax/minimax_exp_k15.F : 69836072777395f877d0d9ca9487e03309001e937be5139223b99a1221d09e6e
cp2k/src/minimax/minimax_exp_k53.F : fbc833c7fed1e791b4e0deb59eff35fb9b227d23ba5d991a2ed7bc02644d2895
cp2k/src/minimax/minimax_rpa.F : c5a6bef08bb7982303f73ce57d6a6bf1ac489d79d016f77ff8400e05c3b7fb7d
-cp2k/src/mixed_energy_types.F : 898bf960f332c9b7b81299911c77e0b594d9d8ba5fae9076e03695dcb0659034
-cp2k/src/mixed_environment.F : 4e38ec84281d37218cc433bd83aa80f829f06fdce05602f49b32009b795289de
-cp2k/src/mixed_environment_types.F : 92bf19557248b10dbb0ab6695a975300d8e5fdd399c6079573290c5492ee92f9
-cp2k/src/mixed_environment_utils.F : 5e605514da6a975aad3c5a04c46d4a97a4267ab60626176371007f01c1019160
-cp2k/src/mixed_main.F : fad8b7b30755571bb1edbd65b24bbb0a51b940ab38fd0e7ccc0a459358d299d0
-cp2k/src/mm_collocate_potential.F : 1f9719549a203e0bf9f6bad549e005539a2f78592fbce2da52889001bded5a56
-cp2k/src/mm_mapping_library.F : 0343924e0bcd7fbd6879fc62c2ad1b828e414c3d2b0be2d67f6588cc84a0c72b
-cp2k/src/mode_selective.F : 4cbdb3e56adc5f7c83a2adff0de976c09e1a94aabb46abeef45435f22229eae3
-cp2k/src/mol_force.F : 94aaf9be10c1a3b5c42218bc98eb9d13b1641c45178aa5aba774cd8de748faab
-cp2k/src/molden_utils.F : f2ad9eb3972e5399a4ad92f44da9bc6c8b60ddeafe46775dea7dd8e5623e5e3f
-cp2k/src/molecular_states.F : f1b6856dc478ff33eb55c90ad1f5248c33e0ccf787624df8e59c7f86899e354f
-cp2k/src/molsym.F : cb4e3d48d4a62376ba77543526461ce4708242fb39bf09fac98fb483ffa0e0e6
-cp2k/src/moments_utils.F : 5458f5a6ac586a0f89a2125c82e33b4ffb4264d397345ecbdf87085d5ee9b867
-cp2k/src/motion/averages_types.F : 54ce22897e6c98ad46d15d9ab8341d6ce4bba1bd64e32f8d1647426bfe266186
-cp2k/src/motion/bfgs_optimizer.F : 325aaf1e0b5cccee5bbfce16242c98e40a1785c49c979b43e7503bd5c2cf2641
-cp2k/src/motion/cell_opt.F : 2396f34e46750de4b99184f2cf8ef4a70daf3da40d5afa8297596bba161be00d
-cp2k/src/motion/cell_opt_types.F : ebae54f799d10e2188b278a5435ff0ccb16f34de4287cf8bd52b9486d4be5c2a
-cp2k/src/motion/cell_opt_utils.F : 8d22db002499374a8a5a28b45e9a559b932c051a7f1e8c96234a9372a51f1774
-cp2k/src/motion/cg_optimizer.F : 0ba925660294463a4ce9eca49b4ff7cdde228365342a35ce541c3f3796eee7fc
-cp2k/src/motion/cg_utils.F : 2c4bbb25eaf522269a5bb733e63b334e687a300106a6c9ddd8cb8cddba680f30
-cp2k/src/motion/cp_lbfgs.F : 2c0a0be8a9225277874bca730599662f5061d23f0253612d7198a7bca28d880f
-cp2k/src/motion/cp_lbfgs_geo.F : 5125b37a8093f5e621485104c9f68ed34a7bb3ba7c6f13f81d4f522311f6f7a5
-cp2k/src/motion/cp_lbfgs_optimizer_gopt.F : a81260744ab8c34de68ca7c6d08394ab6bfdc4e750796bdc8fc74156c6b9b9b9
-cp2k/src/motion/dimer_methods.F : 52d7182cdf6d3cbbd366121a9dfa60a3b612f140d9a6e5d1cb941e7e7b00b2b2
-cp2k/src/motion/dimer_types.F : 3b18209ea77441351c57593b23192bc7ab3bb686b0f1cd5680fa76d0ce9a5271
-cp2k/src/motion/dimer_utils.F : a6d64bceaaa766d6174440380248e4ed4a0bd9c9f24126c191ce8f05ebe2e2cd
-cp2k/src/motion/free_energy_methods.F : e253e9a789e0b61aed79fc2a43c9f70de25978029063086a4d12b60e48e795f6
-cp2k/src/motion/geo_opt.F : 225a5339db2104f9920e1a472d616c9dfdfc09b459ef96e8f4bf075ac936b9b0
-cp2k/src/motion/glbopt_callback.F : f180d6473a50f6cfc4b72221ababaf5e53d5da8c136ec5a9459375a44d863d08
-cp2k/src/motion/gopt_f77_methods.F : b704c03382d5edaa45b829fb8e64e8361dd95c04b20d2f6651ad53996797b092
-cp2k/src/motion/gopt_f_methods.F : fb3046df5697d8a77792f4b8eeb3e3462d2b69942ada65f0f8ffa6015978535f
-cp2k/src/motion/gopt_f_types.F : 5dff71e591edbcc0b58d9fe3d00d10ae19eaf6c64cae179346dda0191836f224
-cp2k/src/motion/gopt_param_types.F : 753dfbdb6b5843e95b9da874ddd2d10b758f7ccbe9d956fc2346b3e4395fc718
-cp2k/src/motion/helium_common.F : f90929baa81af9e78fc5efb724b5c866e13e56c2783b854b292d106d9df7fc29
-cp2k/src/motion/helium_interactions.F : 5a4dc4d4442eccb3b8d8d6987488e7a569700288b3b142c11639635fd0cbc08f
-cp2k/src/motion/helium_io.F : d7c5c9bf35f07c4930de8b955c345f38f49aa359fe2412dc02ad127b0fedef35
-cp2k/src/motion/helium_methods.F : 0d25b6b54fc0299d9f23c070d117425d8ce550a61ba852208c1648e133242023
-cp2k/src/motion/helium_sampling.F : fc092606f2e61714de5700c3070d4af77d919c39c70740e99bf0c19d223b2073
-cp2k/src/motion/helium_types.F : 9e61707f4f1c145665b5d7ef0b0e0781c1b4ada072d272f8db5e4d8ee83ddf61
-cp2k/src/motion/input_cp2k_md.F : 1294c98d4085d5511ea2a220a9d72316dc310d00476a25070478e75f229e11c7
-cp2k/src/motion/input_cp2k_restarts.F : 4cd24d88fb8b5fd43bf3198ad428ec418ac477d6974ec6e486725b22eb00f372
-cp2k/src/motion/input_cp2k_vib.F : d8fdb93fc22331996f20402528dbe99b468e0b96574247b05b248c0e5e7bd942
-cp2k/src/motion/integrator.F : 67eb5f099153095fe8d52daf10328056bf36daaceb6d21d5cd12203a869aee82
-cp2k/src/motion/integrator_utils.F : 4f42ff1a2a4d98478934b7b166aa8db91e295d151cc8353feedfb6558104149c
-cp2k/src/motion/mc/mc_control.F : 456117566f5dbb471b5ab3edf54b160c79b963a4e5be10a306d15096a6125f97
-cp2k/src/motion/mc/mc_coordinates.F : acd1aa883bc5d09c6ce58f75c051f239fd6f93c3e5226cac276ed4b4c418038f
-cp2k/src/motion/mc/mc_ensembles.F : d7dcbba59c346c8f68e783a6fd8944086089442e374efa09a0f028a411053fc8
-cp2k/src/motion/mc/mc_environment_types.F : faf4b5b1fbed3ceeeb23e692f99b85e59ee3a18c51c84266d764e7d0bede45ac
-cp2k/src/motion/mc/mc_ge_moves.F : ff9ba2d12acf868facb0edbf40fa008dda3a4d3938fc039b9f84886933d18d4b
-cp2k/src/motion/mc/mc_misc.F : 63b901fb8c6fc2c4403db7fd0a22f3dae0ba504bd97e33b1d4176a61017a0eb6
-cp2k/src/motion/mc/mc_move_control.F : 013b6ff475a9da5e9797889561144fd78e258eabbe67a6029daf62ae7ecb134a
-cp2k/src/motion/mc/mc_moves.F : 7b8d4a28fedb429ea3857d8822578910afcf29b91644a8d016616d22b2f3140c
-cp2k/src/motion/mc/mc_run.F : 4cfcc5063bc083acc64a04848aac7e10c28cb9f943cfd7e1c8cc6cf431769151
-cp2k/src/motion/mc/mc_types.F : a6700eb859b1f9463bb1af893e58047dd2d6b6a87d26ad7ed013931776d1c4e5
-cp2k/src/motion/mc/tamc_run.F : 151f098dd20983972a7babb6ece24bc8080929075e684ccf2962f78dbbe12c5e
-cp2k/src/motion/md_conserved_quantities.F : 0042c75bf9df9c3ba546ff5cbfbde913554579cff94d9b377d4b19f1d659218f
-cp2k/src/motion/md_ener_types.F : f25207e3cd5ad71b731f7a41e0ca5c578eb9cb2f53efb907ae0624e6257529ab
-cp2k/src/motion/md_energies.F : c9e2a2ea38d51c3ee96f251ce0e3f08b6b72e8a77fb26aad27296df24beb0275
-cp2k/src/motion/md_environment_types.F : 16a8ca24a43b53052b81a25390ed7edaf42f7d2bad749e26ada92c64a2e6ddc7
-cp2k/src/motion/md_run.F : 011713bf26f45fc6facec800c1e0d7a4b552d1071ed179a55520612c6a54233a
-cp2k/src/motion/md_util.F : 483124f7198bdf674852a8e1805c8c828b53eef422fde48a7e27dd973a2e03fd
-cp2k/src/motion/md_vel_utils.F : 212a2b7df976938e440dc0eebce5bb798e33c14f1907079a9f7898949c27c942
-cp2k/src/motion/mdctrl_methods.F : 37669749ba6c43f7180751f970aeccc4b2e19f025ba7020c2985d77223fa4e12
-cp2k/src/motion/neb_io.F : 3eb78813f5e9734e9c50f57dad0102cd906002d09b7255953b88bdb397c41000
-cp2k/src/motion/neb_md_utils.F : 54eef4ac9f5ccc3d310bef5571df925be90308137a293b0f569c10d811223b9f
-cp2k/src/motion/neb_methods.F : fa0f185abc2e019fdac395994ca05dfbeb0425e5d2dfc7b9984d3c2957dd2621
-cp2k/src/motion/neb_opt_utils.F : 9bf39a31f7abac4cd663fb74a832bbc86e2d8adca6724ade5d9ae48a6ea3f4e3
-cp2k/src/motion/neb_types.F : f22a971a30f9665199bfec5167cfea204bec44713f5e6e315a7b088204e77971
-cp2k/src/motion/neb_utils.F : cab9f04edfa6cef3efd49ee530fbca2f765a8604d4209184c8f62f6097129e9c
-cp2k/src/motion/pint_gle.F : ebc821df20c1bb76a7435ad3d1f7c572fcb5a49c2492f8ee2d902ae6124384db
-cp2k/src/motion/pint_io.F : 1db1f4e93c95ad8c8a8250fa4c716dd6144733d96ffa06c1f01cd51ffe66c5eb
-cp2k/src/motion/pint_methods.F : 563c5f5c997c1d86df6bc7bc7e78b2efebe261c69c8614f86d8ef01e22b65c09
-cp2k/src/motion/pint_normalmode.F : 8cad145bec5020d7cb79d1d9b89207b0737e8648218a32853e3efa754db5c225
-cp2k/src/motion/pint_piglet.F : cb5801c19d4ab1b067953406a40e12f0e10e96647c1b979697aecd7833d7c748
-cp2k/src/motion/pint_pile.F : 0ba4a25857eb0b7637db95e401409b81e58c0c4807c11a22227464c90eac34b5
-cp2k/src/motion/pint_public.F : 909ac193d896400f7cfd82896f033296b2f196e7f8e41076f4c8896397a6419a
-cp2k/src/motion/pint_staging.F : ab28362a3c6c6dd041e1b158a220fd610e5097dd60f6f15796593e10ce256071
-cp2k/src/motion/pint_transformations.F : 01f96c9b7b9127e178e1b511d0ab0f8ebebc86cd70f92309c6c0d3d51d29ef4e
-cp2k/src/motion/pint_types.F : 01180f96c5934a89d0b2621701a4b42232fdc589fa3ed7f1e20ef0b72ffb51db
-cp2k/src/motion/reftraj_types.F : 3c42dbef83f82c1949bd15342237f5e25b376a98864237fad6fe4f9406d49b29
-cp2k/src/motion/reftraj_util.F : 0f702937c6f1df38fb88f983ed37a8f21c314dd55a2341c95013b1071fa1d3f4
-cp2k/src/motion/rt_propagation.F : 880065f1579a3d20a6eefe033df87a6c6f4d93c7c28639ed4b0c1f3fa065b48a
-cp2k/src/motion/shell_opt.F : 9f025e3d74e5c27917e4e990ff5cf336faadbd53b28399e5dfbb750aa6c37b90
-cp2k/src/motion/simpar_methods.F : f9faa1cc1b15bd84b5b9dd027790daa7408e25bc9ce30e407a0831f292c8287e
-cp2k/src/motion/thermal_region_types.F : f5e6939d9a4cf4726efdd262a6a1a40bd0531f90d0a84be862bc18fd01be7d3f
-cp2k/src/motion/thermal_region_utils.F : 7cd0d41fcb85e59c42a86a613ee45c96e1416ff9971c2b8ac31dcef28e8e28dd
-cp2k/src/motion/thermostat/al_system_dynamics.F : e54b1cf19bd70f6c8dec6d4f8ab5a00d2c1f029cec1729bc873520fa372ee9d0
-cp2k/src/motion/thermostat/al_system_init.F : 9caee84cef8f36cf916ccc8f8f9abeddd74fb1d7118c6cc9de1c541aaa5804dd
-cp2k/src/motion/thermostat/al_system_mapping.F : 97a242fe09ca3137f25d622e14c857f776dd6025335b5ecd84af81470fb737a3
-cp2k/src/motion/thermostat/barostat_types.F : 0879efe98b15d43e6decc0f83df2f50ee9c3a5a6e539a20319b1430e3e90e22d
-cp2k/src/motion/thermostat/barostat_utils.F : 2fa8b91a55b71b924f8711f174b9f9fa6d592ffa5cf23888743048222ed5b5e5
-cp2k/src/motion/thermostat/csvr_system_dynamics.F : d7688595b9ab916a8e3d3ecebaf9fe1bb078418a01c62dc96863dd1b32965075
-cp2k/src/motion/thermostat/csvr_system_init.F : 2b3b0eaf13aa639573068a8a6c3a52a772d871068e7d2aad5c0f34a170bb7afe
-cp2k/src/motion/thermostat/csvr_system_mapping.F : 77e0855c4a7101b93488b608233236c4966034453f6b59ceb3d122f43d426fca
-cp2k/src/motion/thermostat/extended_system_dynamics.F : 8f4f6ff6bece1daed8ab203aab943fb5fbbc36ca9ffdbed34f46c25d18ddb839
-cp2k/src/motion/thermostat/extended_system_init.F : 687b34d4c9cd81c7fb9f5a960bb348dbd405d8e682b0aaaa58ba30815be9f073
-cp2k/src/motion/thermostat/extended_system_mapping.F : 138fd783b18af07db863ca20696ea6bc3ebebce46ca00f989ef1f0d959b71750
-cp2k/src/motion/thermostat/gle_system_dynamics.F : a1cf8612159fb558cf7957255815e28d4a823783dadf71f1ff168a2e2bd8b26f
-cp2k/src/motion/thermostat/input_cp2k_barostats.F : 8e53bdde04f831d73cbd0beabbe38495794dd3c3deff2e78fa032a0dd6949c36
-cp2k/src/motion/thermostat/thermostat_mapping.F : 7bd8c34d560941255f911bfbc9819df348cf27ef52252361545b4098898fc56e
-cp2k/src/motion/thermostat/thermostat_methods.F : aca9aaeaa0789f5fe02b3fdd74fd6cf20df040945d170cf9a547efe825686967
-cp2k/src/motion/thermostat/thermostat_types.F : 723b3c591e9327680475a9d081b37403fa72f70c2ef021ef541188c15b4349c3
-cp2k/src/motion/thermostat/thermostat_utils.F : 9b52b13fc7383de102979891af0a75b80f2257e1ec49e796863462d34caa4afb
-cp2k/src/motion/velocity_verlet_control.F : 33125f7898df7590a881133cf7319bc2f6a9eec7fd5330db275413718d4fba9c
-cp2k/src/motion/vibrational_analysis.F : 10562e9d33aa831a50de45e91aa141f8676ca22058577b29bc800441ed2965df
-cp2k/src/motion/wiener_process.F : 46c2094d7d7dd0acdefd41303296636a2440ac0ca92fc1fc2d5a125386ffaa48
-cp2k/src/motion_utils.F : 71040a408a70e0e89a48340df2e5af0964a81b4e58d9b675e3113b5ff7690862
-cp2k/src/mp2.F : bfdc76441d9eb8959b542eb35e727edaff070d38d9979180a3978ef13dca3e0b
-cp2k/src/mp2_cphf.F : 9abaf4eecf753594f26864a4e18a0b39d885f17a40373d937bb00a4186161148
-cp2k/src/mp2_direct_method.F : e96cd393d4bb45d03751ad6a20fafbe588f969a781e939e1b35fdd33d96d0fa4
-cp2k/src/mp2_gpw.F : 9b278a3f1881336fbe9f9e4c8b97bbaf66871b9dd86d6cfbdeb398f5e6d924d9
-cp2k/src/mp2_laplace.F : c551c75f3f1e4db0047dc8ef5056b33225b0786bf79ea4a46e861f17dfe9f92a
-cp2k/src/mp2_optimize_ri_basis.F : 4abdcc3372059272c930cb4da78da06d42723f858f7fe26ca7d75d5c2c3f81af
-cp2k/src/mp2_ri_gpw.F : e3a9b04ea792d5dd9d6791d715e38a1da875b2a9ed9ec4cbd8547c5f5e042029
-cp2k/src/mp2_ri_grad.F : 1109e04136b67345fd8567c95bae09810628372953ce6a86ee3e634ce6636d78
-cp2k/src/mp2_ri_grad_util.F : f67ef09e30a42494dc0f87da737da45225b32e4db4f24e02f6244a6ff21e24fc
-cp2k/src/mp2_ri_libint.F : ea01e0ef89b7e04159cf9fe56d3ceb419bca083bf6f9e1448091151b0525da2d
-cp2k/src/mp2_setup.F : 8733a855bceabc02a99ec3b1662d61a2c57637e310cf8018fc206f9ce4047547
-cp2k/src/mp2_types.F : 75fc7602344b725fa318e71abc803b78c6e3a7e503977ba63963e62105142e57
-cp2k/src/mpiwrap/message_passing.F : e95463eb4dd10290ea1e9adc2d706166e162d10cd49fbcab3a688dab50197c00
+cp2k/src/mixed_energy_types.F : ac6ababb27c105ab0cb0a2a57ca7c35988f683bb58f87db256b82a9f177ba99b
+cp2k/src/mixed_environment.F : fae392a0a18cf73f8074b38d25a1d41b4d150f193f65638157efd117250ca865
+cp2k/src/mixed_environment_types.F : 144908e8f8d57e0f8de9bc7c0d062927877e21592825237be72ccabb3964742d
+cp2k/src/mixed_environment_utils.F : a57a7cf081e68f5d48375c632cc04f527d36fb1fa333c16758506256dbeb643f
+cp2k/src/mixed_main.F : f6b7e99ae5e23f8f1a61493293e0e3340be32456cf5b109be0fa5702bc3c5ecc
+cp2k/src/mm_collocate_potential.F : 1527d4b690fa11f353ff68d268d73f51ae6c6c41c54f8f257e89e64860aa6167
+cp2k/src/mm_mapping_library.F : 4446c378f39bf9d44adb03125af6893661a48ca14aafbf206ac301abbf1effef
+cp2k/src/mode_selective.F : 3be16f21516c1b0a7602614eb42186e879eff57345ec612e582f1a20914131d6
+cp2k/src/mol_force.F : bbb67d4211f5181ce02104c10686fc3f359f651dbd5e1e0af7daf19d04e6ca17
+cp2k/src/molden_utils.F : d3751535a461433f3e3daee7a1e200584c8459e65025f4965dc22840cffcd7e1
+cp2k/src/molecular_states.F : 982fd85be94128f8201aa5591672e0cc10229203de5623b5cf22df496c91299f
+cp2k/src/molsym.F : a502b822af9bac779b06435750dc41880eed9381e46f1a6d211d1874113c0cb9
+cp2k/src/moments_utils.F : ca2b2427496c8e8d6aad43479439a3a2c8a497ade81ebedbadd493ad0b9f5685
+cp2k/src/motion/averages_types.F : 28512da635c9ea7c260286b9565f3c08c87d696eb72b1b7bff7e02e7dd83efab
+cp2k/src/motion/bfgs_optimizer.F : fa28addc0dc8ee44304f9624e7ed161d081fc72350c0d8d0155f7971b36599f4
+cp2k/src/motion/cell_opt.F : 4d45deef9a1bdf45a5aec8e6fd607be9ca8eea0c35c90a8561c7b9c4914e6879
+cp2k/src/motion/cell_opt_types.F : b7b38c8a9840ae952859f6cfc09f38fe4a6c8407d6d86f63aa6001ed983b38b5
+cp2k/src/motion/cell_opt_utils.F : 55f4be7c95017a4f106f82ff7641a2cc18540f85a0163653954d52f304cfdc70
+cp2k/src/motion/cg_optimizer.F : 4d02df5e8c97f1ed1eff58309eabda1dea93825bc719ee0bebbea6023241bf4c
+cp2k/src/motion/cg_utils.F : 551abc554c2319f914dd4eec9768b79788b42e68eada7ab110c277e1e0c9dbd0
+cp2k/src/motion/cp_lbfgs.F : 5db3a66257fc756855137b755a9d5f71e8bcab4b7e954eaadb04b4e84f1f8bf7
+cp2k/src/motion/cp_lbfgs_geo.F : 963892bad8166fb6a466eff3951c2d1d8306d90d888cbce2934338f350ae13c1
+cp2k/src/motion/cp_lbfgs_optimizer_gopt.F : 1ea81044bda17eb242ff1d134753c8ccbf268bff87711148f22f57df2b8013d0
+cp2k/src/motion/dimer_methods.F : d698ec6a7e1cd719149a0173952a85270eadabaefc331815802586d008b09538
+cp2k/src/motion/dimer_types.F : fbe8c3bced06a485baa8892c4ce0e0c69c0791a81c2ce147344629481e5e0c11
+cp2k/src/motion/dimer_utils.F : a9df313d320ff4bebf401854cea82cf01659c6b1da209faa70f56c733112b15d
+cp2k/src/motion/free_energy_methods.F : 8ea30c6063c62030c5027a3716d9f7b331e727f679753a8e9dd6c65296c65599
+cp2k/src/motion/geo_opt.F : 4307982347e1306f31514d98f6e74b11a5111475d2f6f2a597b382d7925ded5c
+cp2k/src/motion/glbopt_callback.F : 2f38a1115f3a5c76e5821f87b7a789fecce9e97ae4055c3651b04a10b145affe
+cp2k/src/motion/gopt_f77_methods.F : 927aff8347bb8a325f1204643ae649af37f9859a2ec681c0da61f1c5274faa6d
+cp2k/src/motion/gopt_f_methods.F : 23e30c5a38705737a919f1e13c403e4f5574735716e7393231efe62e2eee2276
+cp2k/src/motion/gopt_f_types.F : 6b71ab04fc317b3a142b08ed02dc2c8a309083d23b4c4cb9b45c70cb526d6e97
+cp2k/src/motion/gopt_param_types.F : 4c0b17875b02c309b00cf8dca7b025df33b636807b084c71524cbaee66bdb6d6
+cp2k/src/motion/helium_common.F : e65be32681e49d6a9a8177ddfd7ac7c9e67b93db8e1fb0a45e21480c7a1442b0
+cp2k/src/motion/helium_interactions.F : 1317f3a3b4a2e6e47f9e5cf918c62984e4fd1f913cb558f7807542df33c7e8ff
+cp2k/src/motion/helium_io.F : feb63337697f4f615d740cd81f3e46e62d7101f2811635bc247bf1b42eba7a20
+cp2k/src/motion/helium_methods.F : ef2f44e981c043deeb9f017897fea9291ffcc74cc1e960043e3f4ad0865a8d33
+cp2k/src/motion/helium_sampling.F : 545c753afc3aab78ec19ddb51281a1fa61522b9899f0c8a49c57a2a97fee679b
+cp2k/src/motion/helium_types.F : 45730077f6b18f29059926d647488eaecb909a7d24084f722a79c98331782166
+cp2k/src/motion/input_cp2k_md.F : 0e68a71bca026d885660967ff068e967268a3e43dc8e706831be71d64164e3d9
+cp2k/src/motion/input_cp2k_restarts.F : 2457acf8352bf93d304f6ca9e623a48721adc43cce99ec59d2f0c9123ab4884a
+cp2k/src/motion/input_cp2k_vib.F : 55b386b87c75f139222eec007280890d5bb3b0640e5fdce84b8c7f349ff05447
+cp2k/src/motion/integrator.F : fc727875d7da9bd9e0f46202cd3e82d585ae8128692d638a09ad8b4512ed0f5f
+cp2k/src/motion/integrator_utils.F : 1f33b508dd3755d7af3467890eee5682b0f2cf5672f0aa1cda6edebc3333fda9
+cp2k/src/motion/mc/mc_control.F : 845dd6c85c8300caa6002d7f4d492a92927a8c4f5961b02d294592b740f8608c
+cp2k/src/motion/mc/mc_coordinates.F : ae2cd32d44152b22a437d5814ba0d0c7c6e2e4f0749268f11d392d9900773e39
+cp2k/src/motion/mc/mc_ensembles.F : 8c4fd670433a2cd35a9bf1c202f7fb393d61a1774f4edc0d88155787824e6f26
+cp2k/src/motion/mc/mc_environment_types.F : db404ef77680f5cf780eed59d45a9de0d534db669fd034226f594ff80cd59050
+cp2k/src/motion/mc/mc_ge_moves.F : 72dfeeafee75b648cbd1d4d96603aafb0cf9a892dc75d0f15a677e9e673eaf7a
+cp2k/src/motion/mc/mc_misc.F : 83b6cf5a1556615f45afc6c815962915b898c98cedea7c43579c4b2fedc21315
+cp2k/src/motion/mc/mc_move_control.F : 0b6592d2f91f94736e6ba941b26d1f17746a3a6422187637ddbd9c4cc5086b27
+cp2k/src/motion/mc/mc_moves.F : 3bb663617113c5c3557c700b68c424559651befb49740aff74b59de8e4db0906
+cp2k/src/motion/mc/mc_run.F : 99af434c30720bb36903c3567e951589ba73a68479f3666c5a6602247ddd3c6d
+cp2k/src/motion/mc/mc_types.F : 391170b310250285c1c45fd7a7154b07bde19aa5fc40aae5e226a60449eb0e3b
+cp2k/src/motion/mc/tamc_run.F : 693fa650395e829124fe73db4a76267cc2762a6f30cd6891591fea57253b823a
+cp2k/src/motion/md_conserved_quantities.F : 2bacf433c1fb81ad39527a4e32a9a80f6260162394ae986f2080def3b9fac484
+cp2k/src/motion/md_ener_types.F : 3c809dc4fe35318a33b8bd46fd781f971fa1044f4c24262343b2ff9012a400e7
+cp2k/src/motion/md_energies.F : 092be3ada61216fc29ed3be430cb15de7cf5f43305c6a64b62c0e56be2616d34
+cp2k/src/motion/md_environment_types.F : bffb701e0889e715ec129d863d579c940e874578a78a6954bc931e63018c6eb6
+cp2k/src/motion/md_run.F : 856527530f0f64fca580f427c6686082b522cf5431c369e4717eed56434f9bb1
+cp2k/src/motion/md_util.F : f5a713b1b0fefb16a1f04e97bafe9389d1fa195b25344f3b82cd3ffb17444026
+cp2k/src/motion/md_vel_utils.F : 7113b3e79b457eea356512aa4b8e1a6be56ccbacab7777f7b684bc10448fc243
+cp2k/src/motion/mdctrl_methods.F : 45ac121388662c240e3debcbf65559ce8f57933566b601be8982f8375f5d47fb
+cp2k/src/motion/neb_io.F : a176d4eeb3076b54dcb52a82675d5335b41f44490d1c4bed6f260f6767948546
+cp2k/src/motion/neb_md_utils.F : 787f7333b3eb77f8d0a32fdbc5c5bef6f05f94135690b220208b0dc044f3bae6
+cp2k/src/motion/neb_methods.F : 4c8c3d5192b1d8778e091826dc00d05de874e233774cead7897339e2488590ea
+cp2k/src/motion/neb_opt_utils.F : cecd844dae37983fe5b8a9f0d107ce21d1113cb7db4e3c5a4249d90989deb0dc
+cp2k/src/motion/neb_types.F : f0ac26bb8e51a109a108acea0063da4458afda3a893467e67753d00672c2b3fb
+cp2k/src/motion/neb_utils.F : b366c2ee06d8ff234fd2de128a40154c2523d4eba0041fbfac704176b95f5810
+cp2k/src/motion/pint_gle.F : 80af2a8f184f8b2eb4bf9a83863b88eca5d76a1e75e434b92a687be2ef93fcb6
+cp2k/src/motion/pint_io.F : f9667564c74cdd5a52a327cc7c2e6ce1a1b4561e4d1179dd54e4f9a362d937fc
+cp2k/src/motion/pint_methods.F : 466d7994ad8bef4d29b1d7c7d375dfbcd1db82a2c70ad0302886656c6b20db76
+cp2k/src/motion/pint_normalmode.F : e86179d1bd11a965cfbe0d133901d543d64d583edf83f645b7c19e8d4d13f936
+cp2k/src/motion/pint_piglet.F : e4a08c8d4d4d4d28ec4688d98b2863d4d0a45a67cff905dcc19f85daf236e23c
+cp2k/src/motion/pint_pile.F : 5c2865a9fe3f54eb3fbe2a4868dc36b61608fb6f67088e4f448cb75f84b22eec
+cp2k/src/motion/pint_public.F : 6154af1abe05c8e8332b4fd8884eca984ff8ff504106eaa45b06fe5656b33d19
+cp2k/src/motion/pint_staging.F : 7c59b170b3a2d03b708fac4a5fd096f2c3747286fc36e6000dbe1064f110003c
+cp2k/src/motion/pint_transformations.F : 09115de1da07adc28d5f7b4474622e9e60a8e13cf34959183a962ae5939fbe8f
+cp2k/src/motion/pint_types.F : f6d8f796f1e4eb7f84bba0b61350fe4b907cf89d5ea254570a7718189486e923
+cp2k/src/motion/reftraj_types.F : a53b92d14e155c241773885c8aac3a83147e8a522eed95ef114d49f1df559f09
+cp2k/src/motion/reftraj_util.F : 0ff8d9381c1a7f52d7b716d8246fdd2f37db101dba7dbee1f90873afa2158aae
+cp2k/src/motion/rt_propagation.F : ec44e3d929981a0deedb08c016530e4d8599dc83cc388dfe3a284276fc3da485
+cp2k/src/motion/shell_opt.F : 25b46371501873df2f9ef5781a0cf2794f2ffb69bceda6d921fd500da9c0b2f9
+cp2k/src/motion/simpar_methods.F : 018d84758e4e04e7aae7abe994789352d331bdaf78aeef444bf4ef7ca124b84a
+cp2k/src/motion/thermal_region_types.F : 760ffa7827dd956e7cead6ff8dff55928ef65b74fd25de694c364838ea05c4f9
+cp2k/src/motion/thermal_region_utils.F : e5df8fb383252cc5ccf9b6b0dad692892e3bf638691c21b47de46a3050addc46
+cp2k/src/motion/thermostat/al_system_dynamics.F : dd5489843b6b22c382693add83c09eb74c1fedf74a7d5044b34f3201f606fc01
+cp2k/src/motion/thermostat/al_system_init.F : 591054811ccb82949f7ca04fa3e62d16a3fe4c63a8b29a97a225ea68734c1c86
+cp2k/src/motion/thermostat/al_system_mapping.F : d41d5ff44de32ae4957d296c4db30b564dc7f4d76c24fed3a7220bfbab3d92fe
+cp2k/src/motion/thermostat/barostat_types.F : a7ba5352fa8774fa7dd82c3854c9da493955cf57817c0239ee1fd63229d5d91b
+cp2k/src/motion/thermostat/barostat_utils.F : b39f2986561f03c5f156ad05fcf367c0d0f4c88e235cbd5134efe94986aaf8fc
+cp2k/src/motion/thermostat/csvr_system_dynamics.F : 30f30df7053ca11fb17b1b320b95d5c7dee846da5816ff5561ddfa7276bf5c1b
+cp2k/src/motion/thermostat/csvr_system_init.F : 0eeb1558bd2a0ba6eb2c5a6dce4ed4af055f8ba4a2a526a0de5db78ff5142478
+cp2k/src/motion/thermostat/csvr_system_mapping.F : b633982ed5815dddf9f75f03fd9f59f42d935bc972dd53cde0aaaf82d5a620af
+cp2k/src/motion/thermostat/extended_system_dynamics.F : 137899775859a28f466c61821bc8ea9e2679073ea28f4d439f4d4561d9beb9d5
+cp2k/src/motion/thermostat/extended_system_init.F : 89f84f182151af7508ac344263b09e2c578ed1a85895d17aee0a67e198468e54
+cp2k/src/motion/thermostat/extended_system_mapping.F : 85b55149acf4465a9ab3c1c8280df92eaae1a734c8a93575b2d9fa6ff302f903
+cp2k/src/motion/thermostat/gle_system_dynamics.F : 5ea2437f30e2635e1093851805b3c6234bdb2d232434f3ba05a27f761fbcd894
+cp2k/src/motion/thermostat/input_cp2k_barostats.F : 22aef35df3bd6133910be803e244a560ee835042341b34b96c3ab3fd2729f546
+cp2k/src/motion/thermostat/thermostat_mapping.F : d41fd89bd703150e8c85d19159c8364a175344b3f91a4d7c7bf20c09dd8d1200
+cp2k/src/motion/thermostat/thermostat_methods.F : 3b68758fd4031d380d1b8a83e7d2195a67d8c62d434d90e16900e3854d8ecd9e
+cp2k/src/motion/thermostat/thermostat_types.F : d34f5f55b935525ec7b9e0a1cbdc0891f4f23144c5134f1a8c92e0ee4f3bf543
+cp2k/src/motion/thermostat/thermostat_utils.F : 1e2e4394c1eb2bc7660fdfcfec5a414396524a6f68acf43d2e58ffe829d079c8
+cp2k/src/motion/velocity_verlet_control.F : c930fbd40bea977a202fa92ed732a09f8bc2364471d5f0e664c11b6bd2ac9ff0
+cp2k/src/motion/vibrational_analysis.F : 6b730a46608088c1f2a5efbf1b6a371f3347626efe61d727bde17d9d36b15ee9
+cp2k/src/motion/wiener_process.F : c4b2f82b442f46671052323cc499f113ed885055707c0610a81f17943b95a9d0
+cp2k/src/motion_utils.F : 664130941e200735a0a5bdc7833a777d1e5cdb950980f602c646c2155aae3fbb
+cp2k/src/mp2.F : 77ec0696fa67fcb1cb6ec7534f076ed12d5f38ef94cb51beb53880cb215a90dd
+cp2k/src/mp2_cphf.F : 5faaa7e8fd3d75d9eac046a31f8436737dde6f190de8b6ec1655b03e9f0ba49e
+cp2k/src/mp2_direct_method.F : 6df527d4a58927482c6dc5b838eafea6abb6289ab624ea52e8edbef63462b4cd
+cp2k/src/mp2_gpw.F : 335e15b183ca804d17bc7d1538f8109b472380667870e473a1a0f6634e3dfe7f
+cp2k/src/mp2_laplace.F : d17a9994cd24dbe58697fdacb133089d2d267883601280ade397b81e191b6e9a
+cp2k/src/mp2_optimize_ri_basis.F : a7e58bff7d3c9399ad3acf81d46b8648c1c0d72f272ec3f3086170e321f7504b
+cp2k/src/mp2_ri_gpw.F : b891c7fb21d3c7d538a622d6de6d631c841bc01f1110ca5cc01627995ac2f447
+cp2k/src/mp2_ri_grad.F : 3f1ba90d1711b396811629a4ec4158d13b8fbdc5109f222ec878aba4155fe227
+cp2k/src/mp2_ri_grad_util.F : 9b6d3b9d7d41cb7f13cd7110aac8d366d1e6cd65cbc6f262f1a5ba6067b6fd95
+cp2k/src/mp2_ri_libint.F : e5f93a8a41e51ee644dac9e168306580ebac5f50e9b82f2829f7f871034f17b2
+cp2k/src/mp2_setup.F : fed223a03a5bdc0211a431a0ed09b34e753ae42ae81cacab5555187f1ad49289
+cp2k/src/mp2_types.F : e33a84fca787b81225a53485f6db14db66283c334ff1817690663a9f051e3196
+cp2k/src/mpiwrap/message_passing.F : 34059237f3b01aa7bca19112c50bd097ba2cdc635387d77c866435446d36af88
cp2k/src/mpiwrap/message_passing_c.f90 : 76d46127e267be3375860a9e8671c5df9f0b2254dc450b9691828cc28ba29697
cp2k/src/mpiwrap/message_passing_d.f90 : d45d798282cac2fe8ec4f3c2267f4e1bb4789bb69030f4926e21fd14581b9ab1
cp2k/src/mpiwrap/message_passing_i.f90 : 1833f53e568d314f5ade6ee8c4f4c9cfe116ecbc68763baf34ffbd961261e012
cp2k/src/mpiwrap/message_passing_l.f90 : 15db3e44ab323882e00be40789c501dc4a1d6d5ebd3e475ef2a60b03cf5f4932
cp2k/src/mpiwrap/message_passing_r.f90 : b2fc0256422d9105a6563bb681cd7d32d9f7b2451c8d6baa72355d9f00352520
cp2k/src/mpiwrap/message_passing_z.f90 : cf39668a23c891850f19cbf0ec5feb9fe3816a8421116b7f6d3a927a779d761f
-cp2k/src/mscfg_methods.F : e616c7698fdd0374653c8a8f9ed0ab16e99b47b5f56e7fe2ffe14bad96321fe3
-cp2k/src/mscfg_types.F : 54eb64707cb13cbd24df46ebd04f2c158bcb4a53e20da200c215427beead67bc
-cp2k/src/mulliken.F : 933a21da99333de67c57619611bc686f9beb9a075b04b5a7e34a7f727b820aa6
-cp2k/src/optbas_fenv_manipulation.F : be79f3ff70f97c05f89be705ce2a0356f0b83f3a8ae356999b121564ef34d689
-cp2k/src/optbas_opt_utils.F : a5bbcc874946225a32b70e71bb3d0231aa08df741649fad21da04077068b8926
-cp2k/src/optimize_basis.F : b20fdad70e8ab08770ecad4b26cfcebd8225e3b445e58e546db34e49da194d5d
-cp2k/src/optimize_basis_types.F : 03b0000440402023d379e2e6226f339ffa3c7e81ef6244a84187b4583d361d6e
-cp2k/src/optimize_basis_utils.F : b59cd514de4701b555160f0d47f29519fa8c78dceb8b5d6d73c0bc6a0e94b5ab
-cp2k/src/optimize_input.F : d813e1431b928c7c6b955a4010e6fdb326c5d545d149b1b2e6ca91237c554b16
-cp2k/src/pair_potential.F : 27ed0a400cc98138dff07295cd127619b2c68072a20b27979990ca2af5ccaeeb
-cp2k/src/pair_potential_coulomb.F : c27ce0be0d6f824f4c6a8676139b62da3254f09c50191a4dc0283ec16bddac96
-cp2k/src/pair_potential_types.F : 50b7097bf1a408d03359082a6a5748302e95993878932e1794324a3269011b1f
-cp2k/src/pair_potential_util.F : 0b5a993f46c4e46454748360c38f0684952b0a61d6665806b8707f3819453726
-cp2k/src/pao_input.F : 6f055705a662a575b8638c9d4eb5b1401bd0d502e836ff26b9748dec89f82c12
-cp2k/src/pao_io.F : 2e2f0781c50e7ba83cc23d798c26cc9be06168fe6331fd5530a18b47b6a92214
-cp2k/src/pao_linpot_full.F : b7516022d6271acf69c0ef6a7b16c84c684a4d7600acbbe98c5e9cd5015bf5ed
-cp2k/src/pao_linpot_rotinv.F : 8f18f05b39b90d88894bab0fa0cbfe7f12b00a2f0929466fca83b4d83299b62a
-cp2k/src/pao_main.F : 6f839c8c0bc9d2e60543be9b994654f1f47e1610fc137f417b0d8c8653d1b06f
-cp2k/src/pao_methods.F : d9022b804089b66c3a4fc959d5ca58fc9703805c9e32a70b8303f049e125b983
-cp2k/src/pao_ml.F : 41df9a2975d113a3ae05fe0fceb9aa36ed3f475d5308ad5cd82d6c43cd316f7e
-cp2k/src/pao_ml_descriptor.F : 7b8070e6a13dde7429c1b761f9a3a8f03c101e948965282d6b9ec8b347bf510f
-cp2k/src/pao_ml_gaussprocess.F : 6f9157d0a9cee9b652d44b908242f37faa7999f942f1e5220d39989a57f58b90
-cp2k/src/pao_ml_neuralnet.F : 9ff284c1198e83a250ef9c03415b9f93791b9724f9c609208284eafa5b772d74
-cp2k/src/pao_optimizer.F : 675912b38f06f010a42666161bb23cec8fc6c55c00b361e492781f2135bf6a0a
-cp2k/src/pao_param.F : 4ba7739d93de77c209689b95fd3c6b9d29e02b9ef35f9a332a261ad2c87a2622
-cp2k/src/pao_param_exp.F : 42f7c32a5cb38a332f6c7f5c0bed1c6957ddfd42b09565b81b7aa23e640e0bf0
-cp2k/src/pao_param_fock.F : 08e258b0b2eeb84e5823ee77e3d789cea37fcffa0a4b598d51a42d9d35daff11
-cp2k/src/pao_param_gth.F : bb22cae3c1419bc405abf372b8e8c7ded0f1084df69135551c855cc543d37579
-cp2k/src/pao_param_linpot.F : cc50c3bf986f99d213cd1f6923d1cc2fd3c690f428aa117a85d6ceeb908a079f
-cp2k/src/pao_potentials.F : 599c62466be2c468430af0f59781dc974e44779888471016249d771ea450c558
-cp2k/src/pao_types.F : 4cf0fff0f991b5e5a584fe33d28b412e000ee1b0b5c14893e6795919c12dda6c
-cp2k/src/particle_methods.F : 0ec73a61808714d43881c75ec9c1b8ed58f5a3bc5980c6eaed14df0ab1d31462
-cp2k/src/paw_proj_set_types.F : 1a6008008a665adc84c2dde0bd1adc1d40f46ac879b5b2329be9ea255c0c347e
-cp2k/src/pexsi_interface.F : 14a4a2d2891fd828123c456ea9f4b18e08ad6e146cc2eee56437562fc381e11b
-cp2k/src/pexsi_methods.F : 8908c88cb1fa2fa8e36f569c22fd7c090e14b6225617e33065ba40906b742ae1
-cp2k/src/pexsi_types.F : 8e7206b7e71bd8c3c7ef0c6f2efd1f4d627e73119fdbe9a479119c300b4cfe38
-cp2k/src/pilaenv_hack.F : 3eaebe3b69c706bcbf08c4ead168d5b3630542cbfc83a879335c723feac3d903
-cp2k/src/pme.F : 401392ed3d84384fc9bd95c843376dcbd0c101f4066aab1c8a9071682ad0203b
-cp2k/src/pme_tools.F : 7fb8548034738f89cfe29613604f3754c778dd62237a32f80cd62e2fd600eb79
-cp2k/src/population_analyses.F : 9f2cba6ee284953c7f150eb9a58227d7493e059149e4801624bec8ec1f9a24ef
-cp2k/src/preconditioner.F : 8ec86f8cc5bb3823fcc2d9ed75e99a0c8d08c2e401b31dd067fcfb80cd0a6bb7
-cp2k/src/preconditioner_apply.F : f45485b14cbe49ab158622ef43c2f264399d48738b109779a8fd4cf81d9612c8
-cp2k/src/preconditioner_makes.F : 7c55a59450443da4e8aa5c1fe9c9b9266ca63ff8d63c5f3c392b1bbd9a4da7b8
-cp2k/src/preconditioner_solvers.F : 0bbf6071952bf9396d86bbbce602dab06b824bd1f6a989f8d2718b1b1b4e309b
-cp2k/src/preconditioner_types.F : 32aa6093d1ae63c711d791508163409420350dc06c17da11b5593a18d4ebbc1c
+cp2k/src/mscfg_methods.F : 3e4aa71349f89168e39b115597c41e58e4bba9d9c24478ea2d47fad295c10a14
+cp2k/src/mscfg_types.F : e9be6c4633ced76623f0470eeb9b8da748102e0f603e37f6b61641c5f4bdf407
+cp2k/src/mulliken.F : c26f699f130ba270cbc2a39f8683a2eecd523294c45c9c08a5ee2c2167c04914
+cp2k/src/optbas_fenv_manipulation.F : 352636c6fcb6011f5cb7f2a03db7a61c039201e5a87d823aacdad91de5a6daa6
+cp2k/src/optbas_opt_utils.F : 9fa2161e5e8967c5c8ac31042c3cd557e51c51e3c33748ba533d473ff773b494
+cp2k/src/optimize_basis.F : c8d9f273b88f7b9216cbb16016ff4ce18d23328df7e08b35e086a00f933e86e5
+cp2k/src/optimize_basis_types.F : 2f7a5b645de332141e6a0d98772fd101585b1de2777f804aa1ceb90d88810a24
+cp2k/src/optimize_basis_utils.F : 28297bff2f180b3c3939bd00a8562214532d25bf9d60ef66e2f41a1a23eaaa78
+cp2k/src/optimize_input.F : 229845d2174bbf586f2c50e6e89a883a9d8a69a7ea9bda92fefde2312cd17aea
+cp2k/src/pair_potential.F : 727781a8b85fe4de3a7accb1085b5392df29dbd021f46d9fcbd6b1ce66a844fe
+cp2k/src/pair_potential_coulomb.F : a9a8a7324683e2ed664851057cd325aa1923572bd3d19bdd73a5c13140485bf9
+cp2k/src/pair_potential_types.F : 5fcc09a4245b1e9602c16f87ca4c2c5d36531a0e7e4ec2d3a3bc6cd06d7b1bff
+cp2k/src/pair_potential_util.F : 130c14abe8880116c440fdf2aa7520f7ba3c497af6f0e66a75914381b4a692b9
+cp2k/src/pao_input.F : 83682fd60202a06040706065a4d2b966b586bb58bf50f93111ba6edbf9083436
+cp2k/src/pao_io.F : c8656bd6645359d3aacac9beef16190a2da7c1824ee55b50026c59eb0eec80cb
+cp2k/src/pao_linpot_full.F : 2b9368ab5afe382691cc3d4e8900ee295fd94068893e9bebbe33e31c97f842b1
+cp2k/src/pao_linpot_rotinv.F : 473600b7b580f92c847072838948a28d94b9cd3da5b20f30d08c45583e022832
+cp2k/src/pao_main.F : 79e8e78f003164d14df23355b6d66f479a3259de7f51e2014979c90eed471fee
+cp2k/src/pao_methods.F : df0384a603f10b2b62469b99a0a7d69f1c79ad50f2df6aa7757764bec6d9fba3
+cp2k/src/pao_ml.F : c81d739206e53c3c323c020ab13eac12ec40b060d40fdef2697cbdac696d6490
+cp2k/src/pao_ml_descriptor.F : bfa91d122105b4dc3cd3e7f0a21b2e32f72776c739339692f90532ba327340b9
+cp2k/src/pao_ml_gaussprocess.F : e61c3f6646031da9cf700521919b33281e572309081f856d0b87b32b92393f57
+cp2k/src/pao_ml_neuralnet.F : 434fb866c7d01c0e566d89850a469e7e2f457c27394e19db1e365ab4e4c2aec3
+cp2k/src/pao_optimizer.F : b8c4f0b83900a6e0647d95d0ae47e3a4c279dd5bc34a340ac42e5287306bd84e
+cp2k/src/pao_param.F : 027ce5cebe55421c4b3628335b1cbb7284ec9449dc15e8300c598820ad026151
+cp2k/src/pao_param_exp.F : dca2a415cf8eba7efa2c1fc12bd23f5637a158c4cb38e03b07c4e425e76d1f03
+cp2k/src/pao_param_fock.F : 4b65c2cd6ac5becdd8df17b94d413a01c45c55856f58adf096c3adfba20c2075
+cp2k/src/pao_param_gth.F : 89a71bc993b1da0c37fe8ba824faa49d729397caf2b52859a223e9f45e49c528
+cp2k/src/pao_param_linpot.F : 7bd69c285c685078c709151399b963d66c54f1d50c89951e3978b9f91ba19300
+cp2k/src/pao_potentials.F : bd1a93fe5527f8b6368030eb39b5c85f19e9ce523fd48bcedcd23592d12b6c6b
+cp2k/src/pao_types.F : 366e3a97359aedf4d18e258e074e974536696cfb047797b7eca91fd19d5fae5c
+cp2k/src/particle_methods.F : c56f60ea3390c041980bc27ffbbc5e889badc9a76fc5061b35c95f5f81da8e48
+cp2k/src/paw_proj_set_types.F : 0bbe07851c5e13eb9816cb732e65b0a5e2dc73b24df257f4db42bd4427e95983
+cp2k/src/pexsi_interface.F : bde841b36ca05ff5a35ba6e621223c91fdc1681a581179e4d7d65052108ebba1
+cp2k/src/pexsi_methods.F : 3d3565635e9e382f677e836b71b4ebc4a4d5423bb365dc2f4bf5b6034041a15f
+cp2k/src/pexsi_types.F : 37f539b1317fa7dce658ce81b9624b92e4ef32827184fd0ced3336f80aa7184a
+cp2k/src/pilaenv_hack.F : b5e5cec4a6c38147d30d65aed77fd42d3603c7304cfb52b6df5c51501b33b991
+cp2k/src/pme.F : 5fd089ec67ced33bb42a7383772ea89074854c6974b766d0863898666cfa62c5
+cp2k/src/pme_tools.F : 360531cb34f5bca88b25f4edfeb940adb08cd8987f3648e01d6d36c4a8a8e949
+cp2k/src/population_analyses.F : 86b68ee2ce761638dde04c751248aff1c567e7d88397a65daa13f915a560538b
+cp2k/src/preconditioner.F : aeedb4d84e4c451c23853d9e7bc5cd260d51626e5bc20ceacf7995dc25a1a58d
+cp2k/src/preconditioner_apply.F : 2bbfd7cd62bb7c3a16ea477dfb4267eee90c023f974b941ee30aef0a0727dd93
+cp2k/src/preconditioner_makes.F : 95f31e1c05c4df950c4422bb162ef34193c60b7a56d9a5d74ca72e880a13face
+cp2k/src/preconditioner_solvers.F : 6610a8289b414834e7d97cedb5e99755f377c318034924d4d3b8fe3de06f4cbc
+cp2k/src/preconditioner_types.F : c7312b6cc22bc0db383afba6c39f4ddc2f5bc605f2507a757df4af6aa84e9421
cp2k/src/prep.f90 : 1100cd3e5ef31f08e7ecef87149264e4cbe3c3fd9caca132993fbb45e97aace2
cp2k/src/pw/cp_linked_list_3d_r.F : 11b456b22585ae1b43da43c2aa944df4f69eb89cf5f631e9b88605c243b40040
-cp2k/src/pw/cp_linked_list_pw.F : ae2c52f24b0625e73b98da8912c54508571b308bd47ae1c09884f4c73de5e085
+cp2k/src/pw/cp_linked_list_pw.F : 979eba6bc4948f36dca27ec7047dc0d289d25016bf3aa5449b23c6676b37981e
cp2k/src/pw/cp_linked_list_rs.F : 23377e63a6deaaf92f5167e368fda1189e58312acdb36ce3781c41b49e534d59
-cp2k/src/pw/cube_utils.F : 0fb2ad37725f28bee9dfb5c6a3198ce3c56994870757c9e92a356a69b298555e
-cp2k/src/pw/dct.F : 4afb20588d514b26a581338cfcfbd89a00da7fc62a30cc6791eaf106efce2daa
-cp2k/src/pw/dg_rho0_types.F : cf3e02024f64d11657ae340fc763cb7d06960e5810a035d2dc355b9fe5789552
-cp2k/src/pw/dg_types.F : df4dc84ca1669449d713f60d44544b5353cea8a7912322389f1e988046310d15
-cp2k/src/pw/dgs.F : d6c934ac9105891038ac0840de10a39519744cc45691628c8b440966ae6d4f51
-cp2k/src/pw/dielectric_methods.F : 7e9a4f8882da19df4a7ad8731a75f017a0a6443b2643bcbe4676714b2aadbf99
-cp2k/src/pw/dielectric_types.F : 9d729bd2bf234b52989c3b0a8f6167dc7e99db77062963129be0ffcc1f549fab
-cp2k/src/pw/dirichlet_bc_methods.F : cf9952988f765808333ad3438731a5a1fa5f854d5ece7688d655621bd0f1ef10
-cp2k/src/pw/dirichlet_bc_types.F : 4a8cbc558cc7c93e319023725f84ff2915d0b5d4a8e7263449bb188ffda6bd22
-cp2k/src/pw/fft/fft_kinds.F : 556a27255f71c99695d00cf009128b04673f09a3c5e68a053ec25aa630fc1449
-cp2k/src/pw/fft/fft_lib.F : 0027e932161847bdbc22aaeb800e1b2946a9feb065f602b7f52af29f6574854a
-cp2k/src/pw/fft/fft_plan.F : 8c434ebaad7712994ce10067e3138376cf7b94da9b082947df92b8170f217a7e
-cp2k/src/pw/fft/fftsg_lib.F : d9b1a9f4e262dfc3cd1bcdaa3aba6e403d2fe5091227719fd7950d85dab67d4d
-cp2k/src/pw/fft/fftw3_lib.F : a30f7ef3bd2bfdf4234f728533cc2788b109d4141869778fe38d0fdd2aa5b645
-cp2k/src/pw/fft/mltfftsg_tools.F : 20cb8f00df2129dd3c90b180793e20d6fb800b47279d01b39d7ac765dd7d324e
-cp2k/src/pw/fft_tools.F : 3be121c1a68f19d701b7b7a2088f4bad2add26138587d3ffe41970347a7807dc
-cp2k/src/pw/lazy.F : 2fb677490f4373eb69a1e4820235008df31013325d92c1f4ba76813ae31cd066
+cp2k/src/pw/cube_utils.F : 17d866fea4691dcc16e649db06f0d75e57ae2f9a0f3519cdf0d865e635b5f68a
+cp2k/src/pw/dct.F : 21e11dd36d0962d488c01bc5f32bb183ab869379176542cac8d3d591a9db2a64
+cp2k/src/pw/dg_rho0_types.F : 657b505d1abbd20282b0d398bcc0170e21c8860107b20a389b0329b7f9b7ca25
+cp2k/src/pw/dg_types.F : 57d1d585ca4c3dc410463880d994d80058cb28bec277fdd7d4032fe884964919
+cp2k/src/pw/dgs.F : 7d353d70d3aabd8a63505492513ae8c2512d7a95a9de33d3c0cd2875cf8e0c17
+cp2k/src/pw/dielectric_methods.F : 0d95ca1224a1196e9b31a8b28311364ed90c747af31a3491926a23d17e9d0ce4
+cp2k/src/pw/dielectric_types.F : 6c975a74336d7249cea061e33992511e151de4234252861792e1d70a1fbf7d1f
+cp2k/src/pw/dirichlet_bc_methods.F : a185bda5e98ecadb5ce3b626a50c87987c55c0e38dc2fc986a3e03043c1e13f5
+cp2k/src/pw/dirichlet_bc_types.F : c0ced0cbbc29f82c7b14732d29dea02064a1190a1ec601eb26b57af5bbc973d7
+cp2k/src/pw/fft/fft_kinds.F : 4cd78d37ba08bb759265ed91a64e28408f528d6b35525cbb7a47b5fcd806f963
+cp2k/src/pw/fft/fft_lib.F : 61100978af9a78bc795204dffd5eaf36709691a55fae4398059d576ce460da0c
+cp2k/src/pw/fft/fft_plan.F : 057b9079e282b1e7e569f07320c99e3e285cb9d5ff37507041423aef3e7f2d0a
+cp2k/src/pw/fft/fftsg_lib.F : d94f35e7b68d20aed13ee1acd568698279cf0eaaa6d882a57107316e2f915e4c
+cp2k/src/pw/fft/fftw3_lib.F : 70816597b7ca40608da95ef8057c22ba449f386f54081ee449f826c40f7fc1c6
+cp2k/src/pw/fft/mltfftsg_tools.F : fec474de61ea3cc4aa1a171d435698d69bbf7c816d22e2c0909e853f76015d38
+cp2k/src/pw/fft_tools.F : e892d2d12310a893f86ff70d09b6fc8c0305382af8700d1ed7b26e29b5edfdd6
+cp2k/src/pw/lazy.F : 102b857b91b2178173281288e003a6bd0565a70535b4d66409b373bd2e7dc0c5
cp2k/src/pw/lgrid_types.F : 8454c245e2c5e23ae2c60603cbe5aa270900d977c0957df0693899839ded1b8d
-cp2k/src/pw/mt_util.F : 6f50a0b4a990c8ad5f2cae90cd512f185277228abac65325d07f6ce5699c02b1
-cp2k/src/pw/ps_implicit_methods.F : 83cfa70328519e24aafd3dc2c6f00a17b2c430142de88912d8d76b8edda8b618
-cp2k/src/pw/ps_implicit_types.F : 4531cfcc35fd73bab9f6c64e94034cf6747afe63343f29871f17a3ca45d2b969
-cp2k/src/pw/ps_wavelet_base.F : f9dbfa34d733383f95bc9d190b4413f0911afcfe1e9384cfd47a51062383b2ae
-cp2k/src/pw/ps_wavelet_fft3d.F : fd52565563499e23395b3864a8872aa379832b735056764a11636b4bc76dd16e
-cp2k/src/pw/ps_wavelet_kernel.F : 12f4b650e0aca8e28d85993bc4e9c9d0f60a74d67ad4c0e21f8e85148e922c80
-cp2k/src/pw/ps_wavelet_methods.F : 50a29f8ab63ad97c4e1f6dfd7cc69319b5d7ec07a7a0147945791a8a52eed17b
-cp2k/src/pw/ps_wavelet_scaling_function.F : 74e4933b32b175e22ad55a61ed7a502af114757580c56588d9f75034ebf5d32a
-cp2k/src/pw/ps_wavelet_types.F : 943e25fcd09d01b21dd247282f845d9def278f133d7224c27633f1cf2e90e151
-cp2k/src/pw/ps_wavelet_util.F : 20b02d99951aa3ee82c0be8273c081649224b19daf7f96425e0c12e5201c6fe1
+cp2k/src/pw/mt_util.F : a6bc61e30a822c11de356d69cabdead025ba80c9386c65b9079a8a030e062f6e
+cp2k/src/pw/ps_implicit_methods.F : 50a6a30a2c26face19ce44b254f6b5fcf5f4ef3d9f4373fc5408fd7d464e577f
+cp2k/src/pw/ps_implicit_types.F : 4bb196e13314c1cadf620ea075a43f40132384a1f5fa141ae41be9a24efc8733
+cp2k/src/pw/ps_wavelet_base.F : 9ba9c49201ce0bcde6eddb84f210339dc4b2c2b8cf512aba4aa79cc2fd59ac9e
+cp2k/src/pw/ps_wavelet_fft3d.F : 02950abfa54108f6cb77fc6a9b45f15e7dbebbfa8a6409a6e7b5b1867108c341
+cp2k/src/pw/ps_wavelet_kernel.F : e1cbcac6cb9838370f68c10f16be00d87e9875b0e52cb052892e041271c11287
+cp2k/src/pw/ps_wavelet_methods.F : be48dfd9fb53ed592783bed2ce0cbfbc305ab992e173893206c459dc95878b8e
+cp2k/src/pw/ps_wavelet_scaling_function.F : f9b9ac2072c6d6bc872f803ad6b649b7acab2f4b1d67cb61aebfed804e246743
+cp2k/src/pw/ps_wavelet_types.F : d88127a4d69633c2132af8e12c3bdb1bb4987b72627c03861f9b2a11ca2e75a4
+cp2k/src/pw/ps_wavelet_util.F : 11d367a5be5f3886b6829558e48f4dcdceb36952ae7ed88c7cdd00d11089d3fe
cp2k/src/pw/pw_cuda.F : 060b1fe0391833782f9b0f15a1915cf573199bae1ef38405eb61076a9d45a0e3
-cp2k/src/pw/pw_grid_info.F : c37f4648648e1cefeec52ec78a22c281ae1161844ba2ab3d7e5c5b89bab63382
-cp2k/src/pw/pw_grid_types.F : 1f9ec71ea8351fc94111633ea8a91a9443d601c423e23e7df328b2369d08ac97
-cp2k/src/pw/pw_grids.F : 82137d231624ecdedffe51c406e85abe2b5c6de07f957056d60a0858e81f090a
-cp2k/src/pw/pw_methods.F : 583bdec97160dc73e277d789d4c65477c828e1c5f1101d867d239ab767d2b7ad
-cp2k/src/pw/pw_poisson_methods.F : 19b531607aeb8a8363ab422ea29171d0e95a81599adde30712e8ce01873aacc4
-cp2k/src/pw/pw_poisson_types.F : b20984a0d26923b65da0386447c066458043519aaa58a158e2ebf066ba6b105f
-cp2k/src/pw/pw_pool_types.F : ca3362833fd44dc30f830297e59e2769704853ed9117e6741b37d0bb42c01045
-cp2k/src/pw/pw_spline_utils.F : f3ce5e9e19d37efb1ec0e7a9df1bc5fde4ae50d5353091b3e7303a56a1b209ec
-cp2k/src/pw/pw_types.F : f2a4bc38467fb2feb49a4747f60cb4e3f4920d0bcb53c76a19b20354794e2674
-cp2k/src/pw/realspace_grid_cube.F : 79a13c898be3ac6e1c95bae62694332adab5cbc4042c827e28dc139bc6abb537
-cp2k/src/pw/realspace_grid_types.F : 23514f82b0b00a935f98c3d106b9b225b3ca5424e4872327fa0943c2e8c97e24
-cp2k/src/pw/rs_methods.F : be30d23a756ba542a8e92517fa16bb6fadc54a72cc6332c500c2f7ec8e905e8a
-cp2k/src/pw_env_methods.F : 616402aaf6be0e6661dc148e044e5ec5e2469f2847cecfd7dd17f1c3ca71a00d
+cp2k/src/pw/pw_grid_info.F : 91610963f410b46b6a65adfa2b2421fb613389e38a35a2c4c30eb3c60fb838bd
+cp2k/src/pw/pw_grid_types.F : adb008f99926f732c559b11ab032d6a1dfd6506148ed98ef8595a7c3dd02ef5d
+cp2k/src/pw/pw_grids.F : 07be9134cbaa0331ce3624120324b6ea105f30d3dfe35684ed918b4bb7052f45
+cp2k/src/pw/pw_methods.F : 29555771c8e9c3c9fc0b79f0401ad6eee6711e8e81b00a93d67fc42677bd3526
+cp2k/src/pw/pw_poisson_methods.F : 4607435fd1a49bbb1cfcd0f314795a14d41f37a6060c3d585b4d075386440338
+cp2k/src/pw/pw_poisson_types.F : 7714202c619fad0b5f6e7f95c2279d9e378201ec15951e74b1fa19bdb000005e
+cp2k/src/pw/pw_pool_types.F : ce69b1414070cc1d30b0bda2ef99a9f7ea9140ba0407e9778c35c9f5b58adec4
+cp2k/src/pw/pw_spline_utils.F : c9e5ffe41b0b67bd6b84fc89442bfbf96cfa345b97e4eafc1ff25ff3ac00580b
+cp2k/src/pw/pw_types.F : b286cd738ebec8dbd35287800cc2f18d5f629cb4bf4fe340703e98b1fa8a48c6
+cp2k/src/pw/realspace_grid_cube.F : 296c84f2eb5eece44703ac10eacd4fe94eba1f5c48ee95e4ac78885266840a07
+cp2k/src/pw/realspace_grid_types.F : e86775df2e39e55ac9c0ff280dbfc4843b3ec4832a54818c93d0f989756ca076
+cp2k/src/pw/rs_methods.F : f52d8d83de7e5bf88989cbf619253b260ea0972279d5c349b89c96ecbb13af3d
+cp2k/src/pw_env_methods.F : 7a194e548de46e8e82d12f0229e179abf380667d16e5adcc0fb9c0723a644b39
cp2k/src/pw_env_types.F : 9865ceec681bc71681d345da2b64919bf3641e0470b41d943b12a67237c620ea
-cp2k/src/pw_poisson_read_input.F : 966541e4c9e6b7a04ba79a6bdf5c3ba7d606718cc46f2839408713bfbcff31b2
-cp2k/src/qmmm_create.F : ed2d1cf98bdbf54448e7dab12b1dbc523c14f0ef2e16591e6831a316a5e28d7f
-cp2k/src/qmmm_elpot.F : 0a42bc0c7b46150e5bd05199c4102259d0e22750feb31f374933c7813c94f2be
-cp2k/src/qmmm_ff_fist.F : 5f27930b62b32f4be54247c0e389e1f221022981b10d08bd84bdd1af3a1f1b7a
-cp2k/src/qmmm_force.F : fd02edc1f976fa58307e2e70e1155f5a223e6946aa3a63b0aa37cac691a7eb7e
-cp2k/src/qmmm_gaussian_data.F : 0d12a566af26eb85b71726d1bbad82d4779d432ea84c0abee946c3447f2bc276
-cp2k/src/qmmm_gaussian_init.F : fb9f4454e215ea0e7026021cb4bdfea3d48cc673662978d4a3bbf5c856b65671
-cp2k/src/qmmm_gaussian_input.F : 9847ba1317000117b7e2019481ddfb6a92a379f5b722393bfdaac5f1c31ee9c6
-cp2k/src/qmmm_gaussian_types.F : 7a5147d7b4b7cd7ec4230aa0eee67886030ffdcf394b995a83d6688593c35485
-cp2k/src/qmmm_gpw_energy.F : f0069936bfffdcdf481c05beea62704cbb2a361fc8d932d2bb34480182499fc3
-cp2k/src/qmmm_gpw_forces.F : 710a5dcbfad92fec43f815ae72a02a75ee8d0c8253deb345282bf2f1322636c0
-cp2k/src/qmmm_image_charge.F : 6c94c9e752c686463e2557f1567bd94c3e2c7611317b309ca21866548190f453
-cp2k/src/qmmm_init.F : 76c50560d4a618a04c9a24d0d5e3622381771a96e687695ab36688bb80d9361a
-cp2k/src/qmmm_links_methods.F : d82e3257de42870ecfa2a7627a6eb355f5328be8e1d7ca8a38b7e75156a71dab
-cp2k/src/qmmm_per_elpot.F : 88bb0bbb5f8353d39ac8c1a3270aa4ee17562ab4742f563766ffff758dc107d8
-cp2k/src/qmmm_pw_grid.F : 74a1e7200add59eb21f8fdd99ca678fe57f61f92149d3314f2adcec21e07bef6
-cp2k/src/qmmm_se_energy.F : c5b3359ea8bf684b4868735dacadf7b6816977e269515826d90ae297e888d129
-cp2k/src/qmmm_se_forces.F : c762844c0cc5b5bf252bdc1382738f6fcd57ac8773b5ac57c92c7239962c8278
-cp2k/src/qmmm_topology_util.F : 050cb3e940d6ab1f5b238a33b27668cfc61ef9affbbe30e5361bb645c2dc2114
-cp2k/src/qmmm_types.F : 51ece2f08236a48aa4224ca73e7338cdf21eebf2dd7e1c7902e96464bc709220
-cp2k/src/qmmm_types_low.F : 0b61fc8eba239f114ec9d79ca5c053a96b9d0277c634f3d53a35af297577c1a2
-cp2k/src/qmmm_util.F : d70664e16ef145958f89b3706a4b87bc4a144fd092afb1d05736c1dde8ab3459
-cp2k/src/qmmmx_create.F : 975846e3411074cccde9ffd88cdac6ad1b40979f1b153eb74f9c16d36d1deb2b
-cp2k/src/qmmmx_force.F : bced2b6c7a6ea8ea05251d7c2ab635c8a20711c476892bd8152240eb31c93125
-cp2k/src/qmmmx_types.F : 05ea201ba5d541803015c594d80132596b09a68abbf7ec91f260d165eeee3baf
-cp2k/src/qmmmx_update.F : ed260119ccf42b9da2dd703cf1c898359796646e9a48b012a36af9fff7b99c51
-cp2k/src/qmmmx_util.F : 4470856c57a25b7f2d86c6a58bc549e3608b414f25116cc124a77bab9d55a03b
-cp2k/src/qs_active_space_methods.F : d335cd3a89555d2d5345f346d34cee88494e715c115feed8240179890b5d5ab6
-cp2k/src/qs_active_space_types.F : 5bea141e8e1ff7214f3c7ce204e467771a7c0659cb851aecbe2f5330f5efdc03
-cp2k/src/qs_band_structure.F : 4b57402c72e67820f1fd639d9365d7c72c312e25cece6941a010ffaa48f5044c
-cp2k/src/qs_basis_gradient.F : 1b193e135f9dd8701eadcd99d87d7dcaa0bd3630c3a4db31690809d0edad3124
-cp2k/src/qs_block_davidson_types.F : 877d560d2e35f721635615a448037d97d59290f21ce89fa9fd78593b976267be
-cp2k/src/qs_charges_types.F : 9ac66114a136fc71d24ae83aa666671bec7c3f3af0000581cb6e324de45e14fa
-cp2k/src/qs_collocate_density.F : d0b4dab3982e5af46e17489a520d0e31c1d5cfaaf4f3c99a31dc4c54b862650a
-cp2k/src/qs_commutators.F : 60589af2020bf51820837259b96244e924fd529a11b90bbe48eaecbdbad67e08
-cp2k/src/qs_condnum.F : 95563b79990552488ad4847c5817eef056ac697c4e604644e7a621cc2740c6b4
-cp2k/src/qs_core_energies.F : 355c919b5a71fecfac5e7c4ad65824ac84feb6409f3d35b7631b6352587dfa05
-cp2k/src/qs_core_hamiltonian.F : 241539497f8ef48d2fea360beff29e456986fcfe044f84bae6dea1072bce8d55
-cp2k/src/qs_density_mixing_types.F : 717efa39a72da18aedb94e6b8ce2006d75a512254758370ea73ef5d848317080
-cp2k/src/qs_dftb3_methods.F : 6b00bc740a60a10ccbcf470c573b64d1a27e016eb9b486cfc97173fc6996f9d1
-cp2k/src/qs_dftb_coulomb.F : 9ab6330abe6edb3a0a58730ed5a3a8ef2d32e917512a823b2c7fcef0d7750563
-cp2k/src/qs_dftb_dispersion.F : e16838e6d984d098606a628fc321a299b922c000e04f851ee4f80647aa007a2e
-cp2k/src/qs_dftb_matrices.F : 0f6502f709da60594d04a1211eb899a9129f946ea8a3be2178c7b943b2759f3a
-cp2k/src/qs_dftb_parameters.F : 12f601c43a1ae8ec7228310325ca42faf70b28927dcf3c92edb2b778ba9e9bd4
-cp2k/src/qs_dftb_types.F : e065707310df480e364defc086c62c0c487c252e0ff318057ae76ca640a668d1
-cp2k/src/qs_dftb_utils.F : 7c68f16d6b7ff10db4e2a64988fab05ccaeb403e0e3080d0816ad80fb3c11787
-cp2k/src/qs_diis.F : 119be7f372b67932f3542680408eaa3f09e4c7af84ca603308e34864a8708344
-cp2k/src/qs_diis_types.F : 0d388d48720050475921bda2cdc96a21996a98dc84e0c6cb621b2e39ce03baa9
-cp2k/src/qs_dispersion_nonloc.F : 6916ef8a751b78fc14e1f252ee42ad9bbe4a6db0c3c1160dc7466b8d895ec963
-cp2k/src/qs_dispersion_pairpot.F : 48c78e67bccfa4a27a3eb57af0d753b53c203fb32537c9e26eccde4ed2c39e70
-cp2k/src/qs_dispersion_types.F : 141812ba88ca9c4a65756a4597dc0eb99f4209e8853afe6bd4334e20725ad7cd
-cp2k/src/qs_dispersion_utils.F : f80f4dfa515c5301a7ac5b28bdfb98acb61011f177cd534d59f133bfd76c0b8b
-cp2k/src/qs_efield_berry.F : 3d818f67332911f7439c21d4fcc777d8edf13cee7c69c2b95ba260d85a453b83
-cp2k/src/qs_efield_local.F : da3c89c0462dc7862ca4bc60e1c0b402a6bb0002f7b74313faea68e620d06bda
-cp2k/src/qs_elec_field.F : 0c38f9c31dddfcb8e282d499feb81f99fcfcb9aa4c2b54ad321c3f46f82d50eb
-cp2k/src/qs_electric_field_gradient.F : ce277913bf18f0c10f1bcc248a37a59eeba1632a0b4932b06150e5361778df2e
-cp2k/src/qs_energy.F : 3053f5158377689a0c2aeaefd0e5b75bfe7d2fd518f2d6577d87c50ae8bf71d6
-cp2k/src/qs_energy_init.F : f2c460e7ae2d1c1d64776faf072dc3ce0c72018aeda12c5cec84864196920315
-cp2k/src/qs_energy_matrix_w.F : 0fdb2f1afab81c5dd8ceb4bd6b0b2201a7c298cf8ac651bd1e1994d71964c39f
-cp2k/src/qs_energy_types.F : bc39c28f1c4793c3b8c7a39c0ecec42ee5ed853a846febf36bf52b64af81183b
-cp2k/src/qs_energy_utils.F : 639ff9cd3eea21b8c7996bc1ff8dd51372e55d9ae15b2cbf7979edff5d539ed9
-cp2k/src/qs_environment.F : e4d237a5ac868391eca35ce0c85775480ace1f7507806d55285da8497cc14553
-cp2k/src/qs_environment_methods.F : f13d396e90598d784260a031c9f2b859ae5ce30a20e12edc1c19c515cf4594fa
-cp2k/src/qs_environment_types.F : 19e983d08ad80455963a67fd82d977f6c0c66b0505b5ba4abf972fe25932a9a4
-cp2k/src/qs_epr_hyp.F : 4a344f139d0d43049f0b5cd48456e5d632fe2eda6897dec7aa532503a2855bc9
-cp2k/src/qs_external_density.F : 865805c0f1f4f561a52f3485f784167ca3bb1545cccce395d04ef6612565cf06
-cp2k/src/qs_external_potential.F : 03397a37970acc51ffdf40ae6097ca3f33f2af3a43dd99bb8346a37ec052dd75
-cp2k/src/qs_fb_atomic_halo_types.F : a2061b31839b6b9841cf11e13ac26b1ec324bbe4d4b0fd6ff368589e26c50f40
-cp2k/src/qs_fb_atomic_matrix_methods.F : 99324d4f635040113a47051d4b85fbcda440add627a11a19b5b655d80ce01c82
-cp2k/src/qs_fb_buffer_types.F : 406030192324cfdf67540df8f74de4f3c517b0f2008dbc5558ebc94869fe4c6e
-cp2k/src/qs_fb_com_tasks_types.F : bce7e53fa9d8be9026f219c99be7cf6a74d7d64561eb7c1faf65bff42785e050
-cp2k/src/qs_fb_distribution_methods.F : 25ab8e1ed42b0f59506afdeb2f2d84d833d85f7d3421c648268a8ffd093ad01d
-cp2k/src/qs_fb_env_methods.F : 2030d126be1af4ac81ee3f34040610a3332db2be2c89fe0be3ad88c516cd8033
-cp2k/src/qs_fb_env_types.F : d63e6cba6030df3e1f71dcde1871bde0369f5c8328c9111eb735356fc01ef5d6
-cp2k/src/qs_fb_filter_matrix_methods.F : 9dec24dbc6b77285f613bc43217c1e3d0ece0f9615ea6370e6794a5787fc7890
-cp2k/src/qs_fb_hash_table_types.F : 697a822e393663af3fdadf19dbda6c807500c93d66b4e730a3310dbd61d6f3b3
-cp2k/src/qs_fb_input.F : c77bb104325fa4cc7742f87a2dc6881df2fcc59f111dcd3331a55ee7a620ef59
-cp2k/src/qs_fb_matrix_data_types.F : 6f50a40458479e34e33f54b028812f4f1a5c2995de9367795a05797ecc95e9e3
-cp2k/src/qs_fb_trial_fns_types.F : 9eae78e345cf7df2ae135cfa4298f867969ff90827032250fadfe2d7a728b14c
-cp2k/src/qs_fermi_contact.F : 9749c57ca2b0cf93794150b85a6f30564b0289e278b737c658d58761de066c6e
-cp2k/src/qs_force.F : 9299a3e1e11e5ff14e9003e225599bad28faf1f1c5b57d05afbd8159edc195c6
-cp2k/src/qs_force_types.F : 4eb649cb1f23a88bed8b041fa2faf9f90208297be04a2c5155ca91a75a4bd72c
-cp2k/src/qs_gamma2kp.F : 4f690beb0a951bb51bc8fae8c6b18a2440e69177bfdbc9dbf01e6b629805e0b4
-cp2k/src/qs_gapw_densities.F : 0f80f23c667c8800c9dce088f75c0c9a37f4bfd885d49e602c99fe8b3c93c068
-cp2k/src/qs_grid_atom.F : d4e13049ddc0e989324c3ab4eb5d10ac8b03f632f8af4eb63cc8f2e3234d2b00
-cp2k/src/qs_gspace_mixing.F : e688546a61fde23261bc265f2c6edd36062d0ce339732ff91812ab74b04d9e87
-cp2k/src/qs_harmonics_atom.F : 621dbe75feead7bd8c2cc790aa82ea2e5a1887b8a7a7678d7705fef159847fd3
-cp2k/src/qs_hash_table_functions.F : 41daf05c0203efb5fc09a64136bc6cbb3282e29a3abeb94d3ea8b455e9481fdc
-cp2k/src/qs_initial_guess.F : 8faf3cee529b42bb7174c6719206a71174aeec457d552b991885a5b704265a32
-cp2k/src/qs_integral_utils.F : bc62c653c733f0244153cee6ab165f188a992233df870244cf38f9cca9ad0720
-cp2k/src/qs_integrate_potential.F : 89e517881eabf9190b2da4a10ceecb7fc99005a72cafdaacbf28e77ca112f398
+cp2k/src/pw_poisson_read_input.F : 47977cf14f89803d0dc4c1e7082e56bb3a5b8e602ea474eddf5edc042f1d9f0d
+cp2k/src/qmmm_create.F : 5df19106c25481b1f0d6a4128fc94d2af183881371dd91b13eb1a7a7792d776b
+cp2k/src/qmmm_elpot.F : a056df5c963c33bc7623f953191aea72c5066b11fc6fc96d9e520738261a1540
+cp2k/src/qmmm_ff_fist.F : df2adbc039a4b1ec1a346e07f8af75ac2b9a4a4dae4381f8a827291d969b3942
+cp2k/src/qmmm_force.F : d1b1294d0ad3fbdc7885ffd5cd4f8a1d21f4a2c8c2c4e74896679bcdc6d36633
+cp2k/src/qmmm_gaussian_data.F : aba36d6f420275f4d2b17817d8b78abe5afb50626173f6bd51a25ae9912123a1
+cp2k/src/qmmm_gaussian_init.F : 99d457ac8cee0f0ec4bd427bcce6a0622ffcd45fc1bc43da27ab1f2a2eb13051
+cp2k/src/qmmm_gaussian_input.F : 5b3599673c791a0e1533f483f8175486e28eecaecd827f894cdb8a4019ee1345
+cp2k/src/qmmm_gaussian_types.F : df4660b03ddd451fb543832d082b3f6a8743be80a1387f94386314aae105a243
+cp2k/src/qmmm_gpw_energy.F : bd15aa5a4090b72a15bbd6686f2439c2b8756e1b1adc19c710ffc2dc6bd911aa
+cp2k/src/qmmm_gpw_forces.F : 06891cc51eb9d87bde1132ff612e6da0fc8e801ddf251314dd00695659f7b844
+cp2k/src/qmmm_image_charge.F : 54bacdbef2e186c194ed86c28a91168afcb222e831ea051203ba0dab0bbf9cc4
+cp2k/src/qmmm_init.F : 7e808a3b87bfbb1d1e37c0492089dc0db8c41dc7c9dcd3674074e1efc1cdad27
+cp2k/src/qmmm_links_methods.F : acb3f832ef406415ed533a11a9b082fe199fc01a2a40b6959e853a601cc16940
+cp2k/src/qmmm_per_elpot.F : 2335a53bbc0697a1f2f0336290d95e2ec7f7e408a7dc66831374b622f0877982
+cp2k/src/qmmm_pw_grid.F : 241c9b55ca58a2946aaac2f4ec8bdab0b568d0164a32190078bb123b4b725cd1
+cp2k/src/qmmm_se_energy.F : 7c12c417237afdfc3092b1ecfdbd480e354716b0041d7143f25e77c047b1d8a2
+cp2k/src/qmmm_se_forces.F : fb293c913f828c8a448bcf845b15161a31c888023eee5dccd469ab59321f02b0
+cp2k/src/qmmm_topology_util.F : 4992cc55d56581a6e617e95b67e1a7a56fac500515c7b8f9f57128e41540da3c
+cp2k/src/qmmm_types.F : a198635eedb2be722c5a94aa18955896ad778a52dec1e0773f7edf9ef4f00455
+cp2k/src/qmmm_types_low.F : 7511b6d62a1395b4e07bc24d9302b575a8db73159509adeac3c6d3c6dc284550
+cp2k/src/qmmm_util.F : dc99fa99de24fe555ddcb4b4d96c9ceca2412002d65d87e9df183c46e6ea3a16
+cp2k/src/qmmmx_create.F : 1135963585999225c73363e072aab59e9ad1203bebb211ae21077e487a7b427f
+cp2k/src/qmmmx_force.F : 5edac100f7cdc8c546f10ae701d0199ffe09c0a7b49fa1cd4267b803aed08d9f
+cp2k/src/qmmmx_types.F : 69a8db8857086a673a7ac98fb16e5533210734d3ba79e84437fa2f57cc2d2f50
+cp2k/src/qmmmx_update.F : 3095cd3e0b78cf9f703e02b9487e67eb993f77cbc38ebdd495c71548930ae58a
+cp2k/src/qmmmx_util.F : fc6b85fa83ba4972e514464f9125580514f1199bd27faacbc2cabd710592006c
+cp2k/src/qs_active_space_methods.F : 3f16273c29317ab4a19d8cad53a77953cab62de84d523dbdf8c60ed83048e6ea
+cp2k/src/qs_active_space_types.F : 87bbec0acc2a009225e00a8ed0a54a9c6f28a4fecf6aa8864ea6eaf003e3d21b
+cp2k/src/qs_band_structure.F : d7628f4dafd390c3a47b495c66f235cf93a61c244c7473e0672331f5597f9373
+cp2k/src/qs_basis_gradient.F : d927336fbaaf8d47b4dced8c4aff0058b91fc2f0ff787627953b37fe7abbb6d8
+cp2k/src/qs_block_davidson_types.F : 601153eaf683f687453d9435d0b09bf7d220cb294c65eca6e99b9a55d809b4b0
+cp2k/src/qs_charges_types.F : 2ac1eb29e07aa9f1f08be4338b702797c32536d56f65dff6203d911d63006e32
+cp2k/src/qs_collocate_density.F : f70d5b62db1d4e3dbff27103739f01e07eea66d65356ed40547d28b6e4e324a5
+cp2k/src/qs_commutators.F : bfd8652e49953b85fde933e7805a4086cf120c38c16d5f0d2db5abcf033b023d
+cp2k/src/qs_condnum.F : 5a9efe5193d3ace9208d718d8d4f18395d34a86ce72fa307bc48881f3e57da01
+cp2k/src/qs_core_energies.F : 67129061be88ee3fce7c4441bc8a4d47ba3c60b002b7ababf5e592d06f73e5a1
+cp2k/src/qs_core_hamiltonian.F : 703e087fe98c604d7da8e6b76614c945dfea16c6e9c2a498c851334709c3052b
+cp2k/src/qs_density_mixing_types.F : 9380bcc9af59dbdeb30ae5465c070b754e1c32647109244dc258328182144918
+cp2k/src/qs_dftb3_methods.F : 71cd300039e7915c563609c04256ef29c04dff06b795843a130024cb6e20a4d7
+cp2k/src/qs_dftb_coulomb.F : 0789071f646608a3ab9a6b76d3f86ffe5fde6b975516603d38a415433894ab44
+cp2k/src/qs_dftb_dispersion.F : fd856022dde44c27837a9b70f794f76f1abcbcb9d1c403f9c06bad78b44bcedc
+cp2k/src/qs_dftb_matrices.F : ebf3f1e474d3eadcd25591d12515038a210e0d8f5790f66e720c4c56363a8fd0
+cp2k/src/qs_dftb_parameters.F : a8a1a345f057a957fd902eb64ee8974d8bef98fe217f209781e6abd1d4688e60
+cp2k/src/qs_dftb_types.F : ea9ea6df2cd4698178be2d3b96801bf7bf59b9403b05eee772f55f29f940ef59
+cp2k/src/qs_dftb_utils.F : e53e1ecd7a45c658372d5ee6fe34ddd40a7ab93b1d47cdcc0918fdb4cc8e67c9
+cp2k/src/qs_diis.F : 168c015e12ca5c231a42bc2689dc67b8863a895271a0248fbf514a82717a282d
+cp2k/src/qs_diis_types.F : 8f43d9af2852751c60086c67b40612a6802dee10dd957e7adc0646c2e195d184
+cp2k/src/qs_dispersion_nonloc.F : c3ce39959f8af052c0fe699824174144f433c16637e1492470e85a7ea9116335
+cp2k/src/qs_dispersion_pairpot.F : 4ff9590963526d1e4c47eea97b7f12055f795e0fadb53c5c2fe2bc0720404874
+cp2k/src/qs_dispersion_types.F : 31b9c5404fb0caf6318375fb40cf7d5053cb5d5a6071c4e02ad5535e7ccd6227
+cp2k/src/qs_dispersion_utils.F : 236710e99f54bf79421b922e633e5da4f5a3d174d99c82e98f542d5c2177277f
+cp2k/src/qs_efield_berry.F : 7da275c2fbda12fba2fc9391afced6fac454a57c8190cda3262c93d18f7b73b2
+cp2k/src/qs_efield_local.F : e2bb99a80530f50cfd65227d5a48aa2a519b26d8f2d83725f245975ffc7306a8
+cp2k/src/qs_elec_field.F : 7a6a14a24821bd76c6866d5f58130c97314e3b66822bc66ba85dc7ed698319e2
+cp2k/src/qs_electric_field_gradient.F : 4955b26fb124c6c39842bca52c94cdd62fbff7bb7774fffb647ac650556a36a4
+cp2k/src/qs_energy.F : fb263bdb545bb47d967a9b7d31b0216d2fa9ef8dfcf186560f3dea7014d5bf0b
+cp2k/src/qs_energy_init.F : 1c0c843d181f1acdeea852ef88eb38031acbd50b0bd2fe643e1ce96758158b94
+cp2k/src/qs_energy_matrix_w.F : 8057e3b36cfe5898ae90ba7af5fcadc3576c99e461f3c15cfb89d039d8692f1e
+cp2k/src/qs_energy_types.F : 679ed5465dc22b94b4920902975306c09cd64e58f2d6aaabb5449a06a945ae71
+cp2k/src/qs_energy_utils.F : a26a479510bffd4f73f466b28a0b1142f32a6d936b0826ec8239129b9fd8e0ad
+cp2k/src/qs_environment.F : 5b28444b44f2bc572284d2422ca945cde77a36711eb0392b3140ee915b581cf7
+cp2k/src/qs_environment_methods.F : abdce8b6487c87faffbc038ecb95d5287b9aa0d01195a52a98abfef7445bf231
+cp2k/src/qs_environment_types.F : 3c650fc2d1490fc83ab34a3ceb4c19087c1843f3a4e8c10d892d92f00cd50ce2
+cp2k/src/qs_epr_hyp.F : 9d6de77bafcef2886b2d910b90e98c4af2ab53dea93a758fb3978d13fbe8216a
+cp2k/src/qs_external_density.F : 3115cae0374e5ea86a9a286015fdf7d35e4a226412d64ed77b5d3e3083652624
+cp2k/src/qs_external_potential.F : b12d212f564e63d3c978c5828a2b48cd09998ca1072875a317099d421c418602
+cp2k/src/qs_fb_atomic_halo_types.F : d68139c68207b223908c4e8e0b9418d554ca212dca80be9c9439b53da76072c1
+cp2k/src/qs_fb_atomic_matrix_methods.F : da806d50685cf8bc14476951910a1676e5f4c42e8a90b55be084271af2f5aff0
+cp2k/src/qs_fb_buffer_types.F : 8572c15bc18a59836105ea111302d8be64d4490c07aec4c5f021e90c9dede75e
+cp2k/src/qs_fb_com_tasks_types.F : c52d94573426e9fc04b4839e66c1bfea7181441424ab3000084664597332da8b
+cp2k/src/qs_fb_distribution_methods.F : f6b8aa3b54032bfeeca0495c3def0db0b5d3baa9181e7a4924b7764337f82b80
+cp2k/src/qs_fb_env_methods.F : c779978e19e5adbac5414bfa288cff8815fdff6a43809510c8ef01f2e0d1180d
+cp2k/src/qs_fb_env_types.F : 227379fba0caffa137f3bf60a9c5122ebc2e26e05692f7f0dbb79caab09e75d5
+cp2k/src/qs_fb_filter_matrix_methods.F : 131fc1318cb691349a3f47894850e4a024165143bdf271cb918fd685b2086ccd
+cp2k/src/qs_fb_hash_table_types.F : 1c188b4142625dcd8f01ba9fd6d526bf7839524d6357874617d381dd0750c5c9
+cp2k/src/qs_fb_input.F : 994d27a1d3949a451981d5f23c23dbda8010d6eaf72e5936b2b4f110f2fc796f
+cp2k/src/qs_fb_matrix_data_types.F : dcf832826e74a0983b04fbaf82530c08ed8432190067f0aa90cb256b39221bd3
+cp2k/src/qs_fb_trial_fns_types.F : 6b07136ac8d1d3c23cd75279c08872f3ccf6a419160a02c68af66f20d45989ac
+cp2k/src/qs_fermi_contact.F : f899f70642ae126e696d36a219e983707adeac2bcf4a493433b1a1f0cbf1c323
+cp2k/src/qs_force.F : b01a5874670cf94e48576611802e642420e9b301e0ed6d1c2a578102fe86770e
+cp2k/src/qs_force_types.F : fe19789f6b919fd14e42d01de8f7600d79764674c461f975cd85e50a71489a08
+cp2k/src/qs_gamma2kp.F : 3b99381a435ffbe7d666f5ad8828c69ec855428ac7abc54dddb8be756d89efe3
+cp2k/src/qs_gapw_densities.F : 9c34d4b446dbcdd1e6f913fa2ec17b68e23e20cd591c6fc935ba238d1f1f0d55
+cp2k/src/qs_grid_atom.F : a324ed007baad00a19b556ec359da176612aa83ac19114bbfbe592c1e2bb78ca
+cp2k/src/qs_gspace_mixing.F : 954b9f5799350300dd01babca8ee2e20fda0017ce3d1d159669f8a9ebc95853e
+cp2k/src/qs_harmonics_atom.F : faa68163b6650188d04569fbf5f7793bbc4b79eb0ed431c06e8c3c95a61e30f3
+cp2k/src/qs_hash_table_functions.F : 85c82f8f6b993a4a4c363440b102063d992dc1d1f71999771b53f2a570e41915
+cp2k/src/qs_initial_guess.F : 6bdce95dc19b23bed7b316e4ee8aa2ab290a5de71c3b0089a1f01f28288f0b22
+cp2k/src/qs_integral_utils.F : 9c037f289318eee7da9a63cac87030668c9b4af02e3cf79056efcad53277dd1e
+cp2k/src/qs_integrate_potential.F : e6bea6ed6ea8701818ed57abe8a7629cfbc67df23e26150f0f435d844329f2ff
cp2k/src/qs_integrate_potential_low.F : c5ea587ee83c56b2d6e107ca0c9a96786742552ce357b92491571258c586a908
-cp2k/src/qs_integrate_potential_product.F : f2e009c0301df2328e395863770582f8e22a8c928be9dc921cd23c95558de6a4
-cp2k/src/qs_integrate_potential_single.F : 39d77b50c24b5e112be8d37246f0025b9d818e6e2e27a468106a370363e22139
-cp2k/src/qs_interactions.F : 2205d249ee0c8ca150e10741e1d6449fb930c2654c63e65ad2b7ba53fee1923f
-cp2k/src/qs_kind_types.F : f324cc1477b7ff0c14a01fc58fc57eee8b4fa76f82afe1ae45753cc72afcd179
-cp2k/src/qs_kinetic.F : 33ae2f898eddb3505d909351282cd685c1042bd273b58eceaf7d99662dfe81ce
-cp2k/src/qs_kpp1_env_methods.F : bde33446ddc64843f364a86defaad7976887b317c42d37b7380226969bbcc791
-cp2k/src/qs_kpp1_env_types.F : 8428cdddb6863d357ebb49d515009663634e9b190c518e58bcd4dd23ebb49c7c
-cp2k/src/qs_ks_apply_restraints.F : 4dae5369193c65f2742c0bf04319e6e365280d53b0d758db790a9ac79c0756a6
-cp2k/src/qs_ks_atom.F : 49863b7ab386904a911bebb1379cab6f6fd455b06c4153dbc221fc170741f44e
-cp2k/src/qs_ks_methods.F : 596fc39440f463ec71ac0581fd3c39b2b6ced8d4e20b7bcd6fd383f0c4429f06
-cp2k/src/qs_ks_qmmm_methods.F : 12ae061af7bee5d7f5b52c00c9b817d0e298c9b34d8b93dd60de6a7ca53942e9
-cp2k/src/qs_ks_qmmm_types.F : 7f9aed74d3d498bdef8d8bf40ce500496b7dabe4690433271b9b7b0c80f07325
-cp2k/src/qs_ks_types.F : d1d562ff450dd781c8b727697a7e0823d20f72aee5ac12203cd522a60fdd3c4e
-cp2k/src/qs_ks_utils.F : bd2430f806d65eea0d3a45fc403e7b88087fd67311fef98ee8f4b90378da682c
-cp2k/src/qs_linres_atom_current.F : 3a90d2b585b40fb59c3beda6c291d192c97c59ba4b6892032d42050a1c3b4b10
-cp2k/src/qs_linres_current.F : 407ca826db71cb07e95c70734f5e57e223ebe4c32aea3468e49c567f6c57c2ef
-cp2k/src/qs_linres_current_utils.F : dea4bbf2db2b0ae762e8f8760616e3c99947db0ab2302b801789507f07c92587
-cp2k/src/qs_linres_epr_nablavks.F : 10161ad35f9718f447c8386497507a1168ff85de115e1db06263ff3482a68cf0
-cp2k/src/qs_linres_epr_ownutils.F : 5c049704c35e746390690018a861b44a0ca3000a383c64ab40696acad3167e0a
-cp2k/src/qs_linres_epr_utils.F : 0a64599a3b7c6b25a137ba2824fe095797805b3d7b29492686f626ade62a66ee
-cp2k/src/qs_linres_issc_utils.F : 905f5b8d944d9a46bd13a158b9e844a2e8284b1c3a879fbd0ac2f87636608020
-cp2k/src/qs_linres_methods.F : 806a899a07c85afb5d34b978fe835c3378d24e56116b51cda62eb57b3b50575e
-cp2k/src/qs_linres_module.F : 3eb1140e9cab4985875860512b14d60851425d0925efed991cfaf29bc79df8ce
-cp2k/src/qs_linres_nmr_epr_common_utils.F : 61791c65f76809ac869a82ac92dd4f52dba8cb056543e37fd4016276f2a4003f
-cp2k/src/qs_linres_nmr_shift.F : 929538aa455569897bac3d17c964bca3f7718b4fcf0f6ac1e0bb9b1c3ecac663
-cp2k/src/qs_linres_nmr_utils.F : eeb89697729b9b8b37c282f9011c8dcbf358870f28de327c4339f1ccc5290a3b
-cp2k/src/qs_linres_op.F : 2cf0b21ba3172ec986d4e40f536409c24d685bff682144455cc9cfdeba108eda
-cp2k/src/qs_linres_polar_utils.F : 8264ac016f914cd855a01cbe9dd0ff65564d33579137d6116ca1fccda04aba0e
-cp2k/src/qs_linres_types.F : 9aebf0bae784e751cd7bded8fc053d636efecf5f784ed2e0b48517c2b6b8b057
-cp2k/src/qs_loc_methods.F : d5e2f2407f0f1fe6b06d408842e57e5f75242ad9c8863f04821a0cf22efbb0fc
-cp2k/src/qs_loc_molecules.F : 66302ced48847b91c1f566d8b1ae8d392fa8b257e9ddc735aec450f573aee86c
-cp2k/src/qs_loc_types.F : 285918e962d0088f27ec46ab2a6b21160981edfd0503fa1e976c4f2b8486b383
-cp2k/src/qs_loc_utils.F : e50737ca7f92b41cc2cf2ce9e1e8938ab0e3f6cc1a1af80d1d79e8e7b387de02
-cp2k/src/qs_local_rho_types.F : 7355a5f58483dfa87b5c4dc3935a482ddb9f57820d23d76f87310da265b10456
-cp2k/src/qs_localization_methods.F : 377feab731596bd6c9a5decccd7d75bab082931563ac7e6f84705c17a1e12ba9
-cp2k/src/qs_matrix_pools.F : b27cfdd5d3d8e5151553e6cad537e3812fb2fde4d7a5ae7d39ea795defc57e76
-cp2k/src/qs_mo_io.F : 863597145589782353766dde1e24d3bfcd46e6ab8a13acb4f9118b3620064e02
-cp2k/src/qs_mo_methods.F : 789a088f7573b2f46d9e662c58a228989a7916e2e784a67f533fd16d3a9fee4b
-cp2k/src/qs_mo_occupation.F : 5058d748ca91d2c8b2d983977880eae46cca94acb76a05155c014af723304182
-cp2k/src/qs_mo_types.F : 7566416c8dcebcde0efb9554f0ba257d3f4a265c9f623f34e2629706b7e54836
+cp2k/src/qs_integrate_potential_product.F : 8915fd97cc52ba62d60c626a821af39e77e69a5f9bdd9bdeba544488052e52b9
+cp2k/src/qs_integrate_potential_single.F : 65ab68cebe5e224ebfc311aca65792d90fe7698802a893ecbc226f24d593f851
+cp2k/src/qs_interactions.F : 2a3efdcd7cb9880b1e1732661a58791fc652b8a53bedd0eceefd85c35812cf97
+cp2k/src/qs_kind_types.F : ef6701c6d90e9c1a482c0c8f8f2269d5482d5715f92af2ba0be460b8e27e6677
+cp2k/src/qs_kinetic.F : 03ea6068c10c08ad555990a16526daf04a13e20c3586e556600c819cd86e4920
+cp2k/src/qs_kpp1_env_methods.F : 80251da49e3889054ed856f41d7dea5ef3ee4483cd7ba4cc0e1b3330e6ffe06b
+cp2k/src/qs_kpp1_env_types.F : 369594dd4f9f8dea861d5fddbc7f3022b713a4bf12e7d274dc8f5831317ef58a
+cp2k/src/qs_ks_apply_restraints.F : cecccfb1bfd68b8a456fc36ad1e40016c8ae85d12bba7194c4ab0866b5e392b9
+cp2k/src/qs_ks_atom.F : bb7c3b707ec9678ab83ed61d5baa82ac175e1f2a82d23e5fc1ee8c53746edc6d
+cp2k/src/qs_ks_methods.F : 23a3dc2e524be0820c37b33e41523b7f0fde36db120727a8d1e5db24f5056083
+cp2k/src/qs_ks_qmmm_methods.F : f7ad0f5904a84be755e160075d03e3077e9bff83c317697147acb5341df9e1ad
+cp2k/src/qs_ks_qmmm_types.F : ba1e035315b1bc779e1ddd2be3a55dc84345e95c862c07bde4c71e554c681d6b
+cp2k/src/qs_ks_types.F : aad3d6652db10c1db7e0042ac98f775f949672efb61f26eda5609296c9cddc22
+cp2k/src/qs_ks_utils.F : cd2e50403dd5dc5abd26d8884da845640fee1a2855d25fbc3860ee8a5b4633b5
+cp2k/src/qs_linres_atom_current.F : 586637e93325041657d0638da2581dbf12ed625e01cce406ac9b0490738805fd
+cp2k/src/qs_linres_current.F : bd4d579816a81bd7670db940cdfd47060f2bea7b105f5965fe2b637f3313c141
+cp2k/src/qs_linres_current_utils.F : fab72f3c5affdec7051da39d1a24a46a09823a4c2b85f62ddcd0d5529421ca8c
+cp2k/src/qs_linres_epr_nablavks.F : 61ce239a0ea4ce15ad870b1e2b0e4cac61cb27e62cbbf5bca5bb2f99344cf085
+cp2k/src/qs_linres_epr_ownutils.F : e2ea9bd981498444ed4c45fdd15f6ef2efbd3968eec910e9f83dbbbc240d468c
+cp2k/src/qs_linres_epr_utils.F : 4e4cf8490d7cdbd4ce96ccad8e84e8bb4e1a8ce4d2070d06cb1228ace91b455f
+cp2k/src/qs_linres_issc_utils.F : 82b73abbef64c70bb2c8664538d0ff76846da306e856cfdcc2f096df1a9ee385
+cp2k/src/qs_linres_methods.F : 831deced51c01ab26c1b7381ec43ca77440faf72a67684c5e23a9ae98c8bd1dc
+cp2k/src/qs_linres_module.F : 4db6aa7609c05ff6518e4a13daad7ca8b5e3cea3db47930b91a0722f95c3bcdc
+cp2k/src/qs_linres_nmr_epr_common_utils.F : ccb262f6e0d94ec79cc0d26a1aa5c62a0099011993050fe5155cd566e5d65e38
+cp2k/src/qs_linres_nmr_shift.F : 668e9a6878a361f476c4c712c5e0b9e75ec7403fe9a68dfe1d3cf5409ef749d0
+cp2k/src/qs_linres_nmr_utils.F : 1bf91c1526658b8ed131be134010a4fbf444935563e61452ed2f4ecc7a2ca7a6
+cp2k/src/qs_linres_op.F : f0ad8298e26fef3aa6b1e8b3592578360de4d65cab550171336188e43ee24fb3
+cp2k/src/qs_linres_polar_utils.F : fd622ad8fa5269affdee10400563b87b924d2cecec7dce658d62de748eb7a423
+cp2k/src/qs_linres_types.F : 6abe3f5553586949775033bddea45fccab416b7aaf7d97eb6ba4da3b54702938
+cp2k/src/qs_loc_methods.F : 6ad7dedd34cf0f637be9094d92ef0567a31a917c3d32aeea7442f703b33131e2
+cp2k/src/qs_loc_molecules.F : 23468c8db773fe85257accce4f807b17d8eaa9acd2e8ba9bf50804e67a9f3d44
+cp2k/src/qs_loc_types.F : 27841e7c11d54af125be8011a99fc6e3b4404c236b5c824be43a958ec3d05fa9
+cp2k/src/qs_loc_utils.F : df61291251b99520cbc74d93161db7cf1742afd65e5874c0f59960a13c0b2e71
+cp2k/src/qs_local_rho_types.F : f88bf544e47f5b18e2859c9c2116e664442f97ff64cd7fa2301f175d030abddd
+cp2k/src/qs_localization_methods.F : f82fd0008ed9c587fe4dd97f0d3f7de127e0a29031b93d4324ce1e7179f05e42
+cp2k/src/qs_matrix_pools.F : e34cde3520db67be81baba32c39500bf179dfaccd18856894753593f71b73d28
+cp2k/src/qs_mo_io.F : 8a9becbf29e7dfd26251c673fcc8cdda021ea2a9f3fcca62e2dfe9700fc55b36
+cp2k/src/qs_mo_methods.F : db1fb91c804b14adc1a49567fa8be2a10cc553e9a5d4f625e94c9990777a80e2
+cp2k/src/qs_mo_occupation.F : 05e39bc161039c0ab5af263f37988ef15225b943a1872679c531831ed6674c54
+cp2k/src/qs_mo_types.F : aaedc06a167a8737d8e747b34def7865d465656a044710db725620af00cf95cf
cp2k/src/qs_modify_pab_block.F : 34b9c7a4e63bebec3251e1d2db6a93908ddd43a74a38ab66ed54ab078d610274
-cp2k/src/qs_mom_methods.F : cddd8b87782643b70c69a9d24ca0306e8e31fe5b0350581973776601ad067f38
-cp2k/src/qs_mom_types.F : c2ea51008ba423deea619ae51622556bfffeb9e14f0cd41f4a0c3ac782131ac3
-cp2k/src/qs_moments.F : cd98c467c85d53bfed911a879490db69fa6110c6c30a53d944a9838a52490b43
-cp2k/src/qs_neighbor_list_types.F : 998beffdff74831910fc7c6f7c63d77f0195e69be0482e0d0aeacf08a1a8ceaa
-cp2k/src/qs_neighbor_lists.F : 27377ea9db164cb0563908f9adfbfded8929b9dca29c2a87f00388dc35035f2f
-cp2k/src/qs_nl_hash_table_types.F : c099e35642f3f2ed216952148208f99092a7c3de7e4313e16be04210bbbdabcd
-cp2k/src/qs_oce_methods.F : 94e900743abf0de0d3fcc550bed28b67152efda02c74b3f8614a97a2ccb518c3
-cp2k/src/qs_oce_types.F : 015f09f5d751cccc2afb83e47e178a6c81ebc96b7b0f9047790833a7ad1b4e60
-cp2k/src/qs_operators_ao.F : df75b8201706265c5b26dea21ef36877987ebd6e80b56c7c37990d73f7911df0
-cp2k/src/qs_ot.F : 9030fbce667563403bcfd526d545c25a9ef395b0d67a3f60f756d71bca6ea136
-cp2k/src/qs_ot_eigensolver.F : 00d7e527c7b753efef90b0c051cd1c3146f739d1343b8ca32fa20a1169666692
-cp2k/src/qs_ot_minimizer.F : 24a7c9fb9e3887781ae0a2d8acaded40a52a0a44ef4126da5fba3d9658ebfdec
-cp2k/src/qs_ot_scf.F : bfb3e041654adf75ec7168381c919998ade06467a94c1f20225b7d254f037ad6
-cp2k/src/qs_ot_types.F : 6877d499890fb3b830df7089f056a1a3d8dd253c3d26609e3b54e58fb74a832b
-cp2k/src/qs_outer_scf.F : a1d8a14cd30fee75b8869bd9f76a7aa89a0bb4d70095745d4cbac8a94773ad71
-cp2k/src/qs_overlap.F : 105ad3f7ec7b24608bee60c151e8129c9b945bc58130ea456388c4b9e39965e1
-cp2k/src/qs_p_env_methods.F : 36f18b7c7a60e420d916c53fd4041e369ec68e46164db379bb1b228f725ad415
-cp2k/src/qs_p_env_types.F : de0e112fea3572da9e7fa21fcd404db8105a2154646728c465327e07941c9a8e
-cp2k/src/qs_pdos.F : 81c0e437b69b5e5da7cb0086cd9de8f55eb401c885075a2a17e18d08dc4d3f5d
-cp2k/src/qs_period_efield_types.F : 27949b6e9f03e17f6fa6356726e4b4b962da0104fd3bdb73b2995a9dcc40713c
-cp2k/src/qs_resp.F : 2d50c52e32ff2df34c4fa384b4244b86c41ef1057cd52dcbdfc3b419f0ab174f
-cp2k/src/qs_rho0_ggrid.F : 701480e2b54d269ad9ff026eb88ebb204417b9b34dc74f5f724655ce1075880b
-cp2k/src/qs_rho0_methods.F : 06d891e850015dce8617c92d08556bcd5b67ebfda55b5e39a8eafa7a5345870c
-cp2k/src/qs_rho0_types.F : 2c1ba0978edd4385049135e17649839e01d006dec30d92227a5d595e795a0466
-cp2k/src/qs_rho_atom_methods.F : 7c5448726812240359914c8a76ee4f497fef7834677d44d8329f1f292b23ad7f
-cp2k/src/qs_rho_atom_types.F : 03d2e1b3114e8ccf30acb4a9c7481913312d78a4d1ced20ef7698b52292c3437
-cp2k/src/qs_rho_methods.F : 47a0d4dfd983e98a31edc2f6c3b377cb1b2a3c519d5b10a2672faef16e7fc20d
-cp2k/src/qs_rho_types.F : 18cdc6a9079a2931df7f778779b7950e708a49c95a9123c40e3fdf5a821ff277
-cp2k/src/qs_sccs.F : 307ac8c0bd2103b4fa952edb3f58fff519aba9036ca4f988b44ea9b870189ce7
-cp2k/src/qs_scf.F : 961155d8d5f60f843667b86c093dc1c1549bae45ea5aaae2d43fc86e8a770f0d
-cp2k/src/qs_scf_block_davidson.F : f2546007fd04900511084b58c612646edc3cb40d42ce94faf7ae4be480c4d3ec
-cp2k/src/qs_scf_diagonalization.F : 8c354288052dc107c8a54ae10df4c4851fa66b56a60421fd33217b9a4bc6c590
-cp2k/src/qs_scf_initialization.F : c3024463bbec5e9eaded6eb83d1ed4f64d4855d2d4d8703f98c29f9c91a68ec2
-cp2k/src/qs_scf_lanczos.F : e8e9569452b2ea4c29f7e164f573bca547f0e3bab03fdffbc56cae86c51f8b7f
-cp2k/src/qs_scf_loop_utils.F : a141cb5899da3bf9be2aef5e9948fd6be1ee26843ce1db75022aedb3f0fb52dc
-cp2k/src/qs_scf_methods.F : 34db1e0fccbbe8d4e5b0a735586749fa20996f83dcdeef990c32d9f7afc3ade1
-cp2k/src/qs_scf_output.F : f1583516497bc82f544c14dde0aa5e84eeff5ba4c8c87936339d159558755e4c
+cp2k/src/qs_mom_methods.F : 10ea50cedf4cc59981ccf26295ab98c4af990eb444d0b53b5af366981d9a5979
+cp2k/src/qs_mom_types.F : 1d1161ff6c98ed2a7ac50e4011490b3b2a8d04f0715d59758d05e9671ff1a7e8
+cp2k/src/qs_moments.F : 6bb21d48dcd0ef9b366eadc40d628d426c93a76d516f6ca263f160945477b8aa
+cp2k/src/qs_neighbor_list_types.F : 918d791cd84457de2ee4dc3d850bdc1a76d7ba76b6d6cbd5c62f5fcbdd78c126
+cp2k/src/qs_neighbor_lists.F : 3446263464daca6271eb7c618211369323e84699091b7d7ff7cee33e2d17ee00
+cp2k/src/qs_nl_hash_table_types.F : b5909d5fe8bf4afd8d4364c851e3b304f120caaa958ec07ab9d84a1e1800ea72
+cp2k/src/qs_oce_methods.F : 8a48a3a457b84feb6651bc07e21a36ce9ab4b9e3c4bb6c6ea75d0c0aa352ce6a
+cp2k/src/qs_oce_types.F : 07677c71f001ff03260e4caae751cb4774dc1b36215bf0b10b0126330fdde56c
+cp2k/src/qs_operators_ao.F : 4f4559daf4fa9d915c4e73fd244059c5b09751e472127bf7f330b64c64e257f4
+cp2k/src/qs_ot.F : 6f7834e73b26c16005643926f365ade1216ca99730ea381c719a049451666204
+cp2k/src/qs_ot_eigensolver.F : fb39871d61de29112b73342139403012bfcce06b4fffbe23936f6748b3c0627d
+cp2k/src/qs_ot_minimizer.F : 49ecb36bd471dbd1d689470f14bdbd7a0aefbfa69ceaed3e409b1989fa0640ce
+cp2k/src/qs_ot_scf.F : 426535c0f4a7b95f6bf565a05f04247cf43a6397e3288d11aef31cdf45b66db6
+cp2k/src/qs_ot_types.F : 8cbf753bb6409ed9a54186fb404fd0baf528528dc92f51092670028d55cc55f3
+cp2k/src/qs_outer_scf.F : 0e36ff54d2a79dedd1e502d9d8b8e4acd71cd781bcf7a8478b81905675c9376f
+cp2k/src/qs_overlap.F : df4d1e6fed5a7ab78b1d68fd9c6032296cfac9126fbf4baf32525248ead010ce
+cp2k/src/qs_p_env_methods.F : e0b489f56e98f8f9f51cae9bbd48b497678d1d7033f87046d4ec0a6c4372919f
+cp2k/src/qs_p_env_types.F : 4307d0e8afbe3f00d3adc09471c1827184cd03802983e291e2a837c3d6575968
+cp2k/src/qs_pdos.F : 7e8200d3f96dd90f60dbd0d8a1c5d94ee4c211b3abf66df1e0231ba8ff75fb92
+cp2k/src/qs_period_efield_types.F : 67c278fa7f181de5675ad3f33c699c7d3c734f451c49009c252f9713f25409d0
+cp2k/src/qs_resp.F : 8eadd8df115f06321b23d91c43dd05c4b9a492931b574087834ed28a15a439c7
+cp2k/src/qs_rho0_ggrid.F : 88e0257c9ad0a4b7613645c5a901e4ec9acddfb1bebd49e2aed21f13d534d617
+cp2k/src/qs_rho0_methods.F : 435b8b985d00eb613f5ea0af8e8b7963ca2ea828a36f0d0de16124522a92c31b
+cp2k/src/qs_rho0_types.F : bdff793e6020ee84d713e926c60fbd6e82a56bd292af71a4aaacc344caa9548e
+cp2k/src/qs_rho_atom_methods.F : e3cae8048b7388c4acfdefe9f3f009000023c2415e7060fe42ff512f2535abe0
+cp2k/src/qs_rho_atom_types.F : 3e20172696457b233357b0b470e6c87573a97f0be83ac454042da68e0ecd2f01
+cp2k/src/qs_rho_methods.F : 6ee29c936135581c40b25fe1e3ebe6d6d83d5fe16202fdb7d03ce28b3beb839b
+cp2k/src/qs_rho_types.F : b35e1bdb3fad97addc6c71dc99adb9633d550c083c599998eda2db63e8cb6894
+cp2k/src/qs_sccs.F : c54f98ae0c70fed5eb0f3dcc45465118a0789e7e32520f7b99c447f54d634a70
+cp2k/src/qs_scf.F : 8364cb76c49ac54a7c9f824bf06c15159057f9d0c3eee8b5ed1bfa487170bd87
+cp2k/src/qs_scf_block_davidson.F : e97602a049eafb7ff495c9dbe2dfe0821006b62d22a4b8886c5ebf2e985c33d7
+cp2k/src/qs_scf_diagonalization.F : b95e952c815bd13493c55e700daef969654a3746b1982e45f42cc93a5e088ac3
+cp2k/src/qs_scf_initialization.F : c477dd188fef8aa33a1b7776ba984aa2866d156d7777681a7172656dbfd6ce02
+cp2k/src/qs_scf_lanczos.F : ddab2668958cd57298097ce152fef546baae9992ce8afeeace228839a7ceb11e
+cp2k/src/qs_scf_loop_utils.F : f1be5cf341f9084dec9e9405873f7c96666e5daac33febe7e57c5a0c7aa22816
+cp2k/src/qs_scf_methods.F : 478b89ce47ba73d625ae15f54ed1878b69c78ee0241eab4b8d08e4a07842e2ee
+cp2k/src/qs_scf_output.F : 15cfc0dbe785b662db2fa3ca23dddadde69926386475c7ca5ab96279628ff281
cp2k/src/qs_scf_post_dftb.F : ea00488a6b2fc50869fbb95a955b5be6d82d08f8b2f75fba8cf41b62c8621263
-cp2k/src/qs_scf_post_gpw.F : 7a1392df81ca0691e4a66898b9d183917011888dbe63fbef073c0bc031e356e0
-cp2k/src/qs_scf_post_scf.F : 99dcd2f3ff4f128649c5c2d5cdb5c526f46b61046962fa675676e5f2f624de46
+cp2k/src/qs_scf_post_gpw.F : 07272136615f3490fc889671a2b1645c76f4e8693aa56ce29743f54f4db1aa2f
+cp2k/src/qs_scf_post_scf.F : 5b7f566e9594b43deab2873bcabbcdddbee457c9ee00d7d536808b0dec9cbd93
cp2k/src/qs_scf_post_scptb.F : 989013eb535eb041f0b97b57b3d5991f5aaa31aa7ddb5c21f466a80b823d6f76
-cp2k/src/qs_scf_post_se.F : d44be42d497c21fcd40182358c7a0083b97b2efb3ad6e7018d9f27af6dac7e95
-cp2k/src/qs_scf_types.F : 66f1fd23d4affceba3d402104a79a763367ffce9b0006c377b2c4ef82c4716c5
-cp2k/src/qs_scf_wfn_mix.F : 182546eec7f04fcbc13c6345aee671ef693a7753538f36fcf721cfb73b2851c4
-cp2k/src/qs_spin_orbit.F : a6d12c5909de130398aea2550eeaa7242f2071d1a44343b2b21330e3aaaf51af
-cp2k/src/qs_subsys_methods.F : b2fba6c0bf189a856a3c7640e25a3e72393149e6eaed95cc8aba1163719547c1
-cp2k/src/qs_subsys_types.F : ae8be381eec9db6c14d5af18b1df64c301d40215f864f4ad22ba02554da220e7
-cp2k/src/qs_tddfpt2_methods.F : 7b8c2d2bcd30d045e6e5180f7592af688e6648ed7d066520b12188522b46c167
-cp2k/src/qs_tddfpt_eigensolver.F : efa121e192d1943b9aba842e89c312371cda7a48eb3896d9655cf22a941ae5bb
-cp2k/src/qs_tddfpt_module.F : 2df23f1a20583516f778fc64fd2083165dc97f19b12596f13f24e162b69e1271
-cp2k/src/qs_tddfpt_types.F : 35f09d67ab06ffa10834ce18d629d930eac67a8feb8b87d0bc30047d8c2a9b99
-cp2k/src/qs_tddfpt_utils.F : 439dc8b25959bc488243b5769b3148b2898b4859b6d4f32f9c19774607adfbfb
-cp2k/src/qs_update_s_mstruct.F : 88bd518c50776593b0c8fe5b6a8f6241beaa75cd5f322d21602bfcca3be33cf5
-cp2k/src/qs_vxc.F : d319d833a84f02059395e542395b846b88c60fdc7e3af8563d7c81bcf9307961
-cp2k/src/qs_vxc_atom.F : bb66cf712bfe7bbb61f1541f7c00cde9ab46426c6b341cdf9f6699fe1b3083a2
-cp2k/src/qs_wannier90.F : d6ca039f1f952ec147378addc29e10d696332f1a4494a385a6bb244dcb5c4edb
-cp2k/src/qs_wf_history_methods.F : 4a3ce43fc3446de6a989e3700e2fffb5d9398a48eea50b81dc10385de0aa1e80
-cp2k/src/qs_wf_history_types.F : d010e40a88e48b7573cfe7815c65e8b1fbe3ea156cd6778f9d80b529ef8dc6a9
-cp2k/src/rel_control_types.F : e088296b62a90a7b8c786db5949156d35106b07f0a4e3acf1d6589e1a98e2c52
-cp2k/src/replica_methods.F : 3390fd999f55d148bd76fe1f16967c86ae12e8463fa90498d47551e530791464
-cp2k/src/replica_types.F : 229d32f80d064b4e15abfa7e70bb7f0b22df1373b718e9004ae2fb815f05f664
-cp2k/src/restraint.F : e2a72f1efe8ba7f09045d045f8852b9dc00f06aefcd1532dbe4457fb2ffbd069
-cp2k/src/rmsd.F : c2f13da634b8edde31101bdcc1b8c639ad708c47d1ceed0c9cd8273664ddc47b
+cp2k/src/qs_scf_post_se.F : 944ca41b8c6ef7324536ec68ecfa19e563b8f2da68b7e66f11bc68547e275602
+cp2k/src/qs_scf_types.F : be57c508351ad9730a9bdcbad0acba9d20dc1cfe19ef636962d8c2c34b55168f
+cp2k/src/qs_scf_wfn_mix.F : 4d66e2363b610d0deecc19220fd3fe80cb2d88a0ab21634f36a46752e829fd3c
+cp2k/src/qs_spin_orbit.F : 5e3e4aa80154d3026eea835ba5ea60c5ec97f4fd246413ec9b141e4c17386b47
+cp2k/src/qs_subsys_methods.F : 14b628ff1abcb0a018bd7f0626421d88eec82ccd1a78d9fc474582034b79d973
+cp2k/src/qs_subsys_types.F : dd9bc5221eee1d6b21c8d1b5e973a9853523a9476d1020417e7efbcfc4407e19
+cp2k/src/qs_tddfpt2_methods.F : 1aa60079e813a841e6de70a9f289ddfecc72c5c693e4d4b544a718fa163b2c8a
+cp2k/src/qs_tddfpt_eigensolver.F : 7a89bca86930e7d7d3a20a68b91f139d28c2c34f6ac3142aa84a67c6943f9f4a
+cp2k/src/qs_tddfpt_module.F : 0a254973a0105798aef00f89aeceb7abdd328d68afeb7edc4dda13bcb866f3be
+cp2k/src/qs_tddfpt_types.F : 07864e357d388cc585aee47897f868bfa3ada54789fc0fcb93fb0fb800e9789d
+cp2k/src/qs_tddfpt_utils.F : aca4c50a1c5d4a32bb6328f05289df4fff08967f3ced0fcfb3c304fa78813c86
+cp2k/src/qs_update_s_mstruct.F : 63c600f6ac3ca9d149d6e99d83a4eef6231bcbfc8b2562789f0a86acb7bb3521
+cp2k/src/qs_vxc.F : 1852f03a92f906037487868ab3ead42c96683337d22d164ceecf21142532218d
+cp2k/src/qs_vxc_atom.F : 7480c614725a303a8c9933a5563e4ca9e26a6352d60158071ac46d785ad338f9
+cp2k/src/qs_wannier90.F : 23d872805d184b240c353afc6931655051d56cb1e8802b59e3fe83e8720b3d4f
+cp2k/src/qs_wf_history_methods.F : 16fe85f0470cf6489fd53b810b4063a2f934e300eecf5cd9ea6417ab1a3724c3
+cp2k/src/qs_wf_history_types.F : 86a79b9cd3bdf4f939e721ac429afe5d270760d3c705dca47f39943e9061a36d
+cp2k/src/rel_control_types.F : 2595a3f7e37219557442c449645699a239df650bbcf50a50bace15560ad7200b
+cp2k/src/replica_methods.F : 42f02df73459cff046d8a64341af5eaea4cf4c9df9b42598f0896dcb88b86565
+cp2k/src/replica_types.F : bb5e2f92dda3db6b3c4a2250d091a707cab9c1b13218b9bceac048fb2d1885cb
+cp2k/src/restraint.F : 8f5e041b4ae8c6fc9ef872713c5fb5502415da60911b410cd195ca54d89872e0
+cp2k/src/rmsd.F : 7ad1907f65c0a881803635c752bc3d3e46e7794e11c0be55ac740fe47b4c2d7a
cp2k/src/rpa_axk_util.F : 6dbecb3ef9739e16e19cc73b31a3451a861e3d6c94b4b9d1097cbbf8a5a083bb
-cp2k/src/rpa_communication.F : 1d06ffd89751c95c673d22e43cb7c38e8a5f6996f058e1f5a246d894a53bced0
-cp2k/src/rpa_im_time.F : 3780654436a3352905f74c440c8cc373845feea1e6ce9451301b0468e2619982
+cp2k/src/rpa_communication.F : a18e3d0bd6a9d4401c0cf6c2faecc458e0e9545c66590b81436d5050834bc86f
+cp2k/src/rpa_im_time.F : 4394322b9ae15d72a81795822aed7c786e8216fcabdec09d3e8df361fd4799e5
cp2k/src/rpa_ri_gpw.F : 27cc7a76bdcc818a5924cbe4236b76dd764e2184beab7f6793a106b779d9f16b
cp2k/src/rs_pw_interface.F : 74de80d14e89091874a6b87a712548fe91b99b80de97731a360c72547ce0aa2d
-cp2k/src/rt_propagation_forces.F : 8b8533d01bacd4aeeb976389ade5696d24fc3151498798b90bc6812e84857e90
-cp2k/src/rt_propagation_types.F : d09b0f60b55324e675810e3af6632457eac6f2cb2e3a3421da7004d976c9f8ea
-cp2k/src/rtp_admm_methods.F : d1802410ba9a3748696439754599084be17fd7aff270504843cdc17b1eae2409
-cp2k/src/s_square_methods.F : a7811d13bb7c91cfbfc897a6d98e5d58b79c6cd8122da3bcb04aa96c16601452
-cp2k/src/sap_kind_types.F : 265ce2e5997200034793012b8538661fc1ff0cc27ae78cd0776885c4403be1f5
-cp2k/src/scf_control_types.F : a7f8e67d8c56c4d1cd1421f8adc69d6fe20bd51da209cc49d808643f36901799
+cp2k/src/rt_propagation_forces.F : afc4983320f7e680a9641811c54e62e13693329a761cf36406ce9abe84d04c3f
+cp2k/src/rt_propagation_types.F : 74a88d5dae73e8a9769930dec768726e261d627c15892ef23229247da7780aa1
+cp2k/src/rtp_admm_methods.F : c9f0e797d1df6fd51f9cf1ad5dc09539eb3b05e1f98dc38517701b67934795f7
+cp2k/src/s_square_methods.F : 7436da1ac662fb1e081d82c139bed3f11f4a03c614965a6c8b94b0e197017439
+cp2k/src/sap_kind_types.F : 41d5ebb9f029ce0de69599a962c15743b0a214dc1b6e5ea82b884c0c303936dc
+cp2k/src/scf_control_types.F : c7d66c03f052c55d5dcd355adc3c4ce8547de9ab9c38a3d5cfcf54418738832b
cp2k/src/scptb_core_interactions.F : 1bb67701c1fed8456e9fbeb7da2c46c0939a3c56fa6c6aaa6316d621fdd899ab
cp2k/src/scptb_core_matrix.F : ab417b70a7aea01fdbb190be7b4856795f76b376d4c614d19423c8ed7eb631a7
cp2k/src/scptb_ks_matrix.F : 006e17716e8c4d5f9f8f0b6e358dbe993019be7708bb51d7806f0716ccb9a8be
cp2k/src/scptb_parameters.F : 7b61bce21486fef2873ef9862b6d7bd5a88ea82881325ed5fd3aa540dc1d3851
cp2k/src/scptb_types.F : 2f4ba5146e94db692a1ae6027b5cb4beca6143ac2600bd58ab8d6a318858dd9f
cp2k/src/scptb_utils.F : 43c5933bf35b4e955d77b63b59d7ad87d69e800633d59c99e28b9016819dbb94
-cp2k/src/se_core_core.F : 849e452d5c03e907ba5f94b6af87f6ffe9c6fc992b8b8dead64aaad381de7f69
-cp2k/src/se_core_matrix.F : 895a22e714c1d6732850fa3c662472044984ed11436f07b4f02b2bc67f56d44c
-cp2k/src/se_fock_matrix.F : cc1fafb8f008810c507c776f8b948b5c9c9ea25caf27632bd0b11c5399a1a88b
-cp2k/src/se_fock_matrix_coulomb.F : 6bb716c763a0c8f31ad37e191145412bc916a4b7c8093e0f582e3c887093ebf6
-cp2k/src/se_fock_matrix_dbg.F : 239883eb60a653b91370fde1c45274ba82c62d283358f46415646b135d6ba4a3
-cp2k/src/se_fock_matrix_exchange.F : 7efd281966ddf2a446a21068e348a9ac23702af1847880f6c0b205284bca0871
-cp2k/src/se_fock_matrix_integrals.F : 138b16149d4d2abade403b133a68b6b5f5154470158fae4af714dc98b4fc8572
-cp2k/src/semi_empirical_expns3_methods.F : f47be89b2aef9ec556c3ff3536a8d07104c2985a064a4fc82641c7ee69a7b31d
-cp2k/src/semi_empirical_expns3_types.F : d8e8dedea2cddcd2c7b2ea94c43c0aa0af0ec0f673a0003f1610b76ca6d4207a
-cp2k/src/semi_empirical_int3_utils.F : 67e8544a084ec3b7e75113932c5da4c8844c40e0e6795d3dc18f21d11e4f9c8f
-cp2k/src/semi_empirical_int_ana.F : 53ae49b656a80a5cb2b2e78bacb1a7e20ccd5b68304571ef7e51d2e1f453878b
-cp2k/src/semi_empirical_int_arrays.F : 1f8479548aea189b2a51c6e90b3fb88df69ad95b8412415ac93e132a7e7eddf0
-cp2k/src/semi_empirical_int_debug.F : fcb97238112de4ca182fe0be7acd181560484920b037c777f332275d68d00694
-cp2k/src/semi_empirical_int_gks.F : 4c45fec0cc24e997340d01740a47ea7fdc50ca55bc84211e831a330d4a97ef03
-cp2k/src/semi_empirical_int_num.F : f5d7c789bd620a32c69ff24b81051a5ea4635d5154a5042e291e6b4c983bc62b
-cp2k/src/semi_empirical_int_utils.F : 9a506d37b5e288af22855e0b4cec917e20e56ea31d905221f1ffef3f3cd526a9
-cp2k/src/semi_empirical_integrals.F : 860c6dc39147952c34c2f82d250f69e4ff18a1b679aacf678d29cc2374468149
-cp2k/src/semi_empirical_mpole_methods.F : a46bf560443a115f9ce27a6154dc940a4021aa5799551d4f11c366901baf3a3e
-cp2k/src/semi_empirical_mpole_types.F : 09aec76e7319c92fba5e198a8a44e58ff66a6c85415a3c09a4a5251ad99d4a77
-cp2k/src/semi_empirical_par_utils.F : 3d85dd73ba6b14c93390055b26efa9b3ae892b3fbc2ab98c09c7eea726da0a72
-cp2k/src/semi_empirical_parameters.F : 86b37464c31edd6208d96bd140a7d9d3f3ba056f49770c7c83f4866f0b9630e5
-cp2k/src/semi_empirical_store_int_types.F : 823872783cde53bd6c72998cf71e7f0696179773ba777eca6158a987d95e29e6
-cp2k/src/semi_empirical_types.F : ec0169ff371edf3e1fd093a1fb4e1aff7fe036efdaa4ecff2ea79ed0224e0a4a
-cp2k/src/semi_empirical_utils.F : dc82db7839da58762dcff7055606fe7b2fe23d477aa25415845ec601aeae5139
-cp2k/src/shg_int/constants_operator.F : 5d3fa5948f1818945d98805f88d5a256f5f58943a2c83c5549870707f493bbf5
-cp2k/src/shg_int/construct_shg.F : b8490ce5281c625f831111fb855bef49c111aa2b3187eda54d30bd2ad8cdcef6
-cp2k/src/shg_int/generic_shg_integrals.F : 723653102cab7129191d973f2a97db70383f37c20dce4f1de467674835980e6e
-cp2k/src/shg_int/generic_shg_integrals_init.F : e6f062859bf3ef4f7ea4dd29eb32b97b6867e6b00aeb40820b4d9c1901ae1471
-cp2k/src/shg_int/s_contract_shg.F : 902258b20f10361990088f215d12752933ffaeeb75cbaa8d72d11ca1e9a4d074
-cp2k/src/shg_integrals_test.F : 940e3ba88540951edc7c992b6a1961c6eeb0f4391badea47f0bb36a031ebc375
-cp2k/src/simpar_types.F : bd6b04f2c79d87cc3153eb41fe647a11623b0dbb33c686b86c82c4bf3c0eabce
-cp2k/src/splines_methods.F : 908a97d196d0dfd45429090da6967e2cdc2bf4731ce53023387bc16f978f1a12
-cp2k/src/splines_types.F : df3761b357ba6183fd29abe5eb6d784c1550739b3fdb7ea990480eaccef2085b
-cp2k/src/spme.F : 7157c5fed8f154dbec9562ed0844a50240b8c11de8d3c7443193c8960b406477
-cp2k/src/start/cp2k.F : 2404c5d98554d27415774a522814462b1a6d3490172e1d150a12278f783b100e
-cp2k/src/start/cp2k_runs.F : aebeb809e08f1274369b53874717ca653ec7cdaf726af0399a380e06ad93252f
-cp2k/src/start/cp2k_shell.F : 98b0e95a724339abd5ea85e159534f5e3156d6308fbf8ad275b26696a89e8cb2
-cp2k/src/start/input_cp2k.F : 8016f9e5d8956645b04b305d15bbada8ce024d6158104a4b8d89b903d723f919
-cp2k/src/start/input_cp2k_motion.F : 8eedc83b16ab896205e01d846bf127f7a453714b0c212ee854c693319051b820
-cp2k/src/start/libcp2k.F : f54985ca79ab9d98a1e1b7836bb0cdf903601609d3f9ae673630065bbaddac45
-cp2k/src/statistical_methods.F : 9d181f149c34cbb1e76a617cf98f3453b5845cf4ac582c052c67abdfd0e3b0c5
-cp2k/src/stm_images.F : d453ff77a63d5fd9788357943f77c7c7c38f335ca0f9e5b0a2ff08023f1a0b48
-cp2k/src/subcell_types.F : 49ef561a5570da0f2c188a40699491182fd868568c6319d3aebddf1c9232206b
-cp2k/src/subsys/atomic_kind_list_types.F : c7934283d91ce8d9d5f273e251eaf9533c0f39705d7f7984dfe247894c8cd84e
-cp2k/src/subsys/atomic_kind_types.F : f02d4273a174fe1185622e0c3085fe743d99b001885f719ba676c7ebbcb21fed
-cp2k/src/subsys/atprop_types.F : afbc7e845c2fdf4ad22bcecc7241ef8b8a774e578c517c737e187deca6070f54
-cp2k/src/subsys/cell_types.F : c310cf8de302a7fac023ad7af2dcf3bbddc1645e52e2d4dd7ebdc70f07f256b3
-cp2k/src/subsys/colvar_types.F : 258898d1c7a4c8fcf0c532c729e998333b1e17069baef50408c7d3ab0e2fde92
-cp2k/src/subsys/cp_subsys_types.F : 32be8889f6f21f34eb96eae6529eac6e1c4ce264118d4264575f1109defdcced
-cp2k/src/subsys/damping_dipole_types.F : c3ca9c536b9cb81efc6a039bef346c349ded6b607d349db71a8230e1b624a532
-cp2k/src/subsys/external_potential_types.F : b76f1dca4f59b7e15124fae8deeaa075f0b9d9226212fa93ea6cd58faa66f767
-cp2k/src/subsys/force_field_kind_types.F : f585f6cc118bbd4dafd66fd4d4af54c96c6b08f5da91578154d23897067534f1
+cp2k/src/se_core_core.F : 7601ed76f7380b01fe02cd11d72d8f9c1cfff3166ed86db2d80e2bf1fdd15644
+cp2k/src/se_core_matrix.F : 18601bca69ecaa9ade5fe24089fdfea2446ad12a02f9360f246a0eddf1cf5403
+cp2k/src/se_fock_matrix.F : 1922247a9e2ee4b1913a9dd5c0762ee6535aff7466b55a60f045fb61fd3beaaf
+cp2k/src/se_fock_matrix_coulomb.F : 8caffbde04e4cce9bb37bdfdf09e480591a25588f16494aabf1e86258c3f59c7
+cp2k/src/se_fock_matrix_dbg.F : a7203a2474a08dea6a8841ce9c71a1189ec62344a75b6e846bda0f8e71432597
+cp2k/src/se_fock_matrix_exchange.F : 9dd29565f35074b4c249cd2c1f87dcb8358e5010a2522194a6af95e814fd2a68
+cp2k/src/se_fock_matrix_integrals.F : a285c365601e4e449390738a0b4cd9d5d6692328627110a99dc5d8de4c011411
+cp2k/src/semi_empirical_expns3_methods.F : 8d234c9ced546163ce0711af9d7e475594c8d499eb80979a88488f41d48c149b
+cp2k/src/semi_empirical_expns3_types.F : 490d40948dafd302302d2084cafe0b8cdb673e08a7d88e50a0f3fe719c400ba3
+cp2k/src/semi_empirical_int3_utils.F : 9cca29302f3c6eb04ed35a36b7a987d0c1b616bf34912a8e61d480396e73370c
+cp2k/src/semi_empirical_int_ana.F : 0c0281499ebca8ee9be773864f327946dee7902ff41517d1a06c05c54cbec60b
+cp2k/src/semi_empirical_int_arrays.F : b63109f494c3c4aab18206dc3a990d8434fe4e6bd898fb93a90f3d0665d8ba77
+cp2k/src/semi_empirical_int_debug.F : c092f1f58c017a372a7d8f2ca9c63ca2979445c077e0288c37fecb31c6dc234f
+cp2k/src/semi_empirical_int_gks.F : a54291a63e8934ada5d61760d8c064588de8ecdd6b97f07a3d7cd64179ee6459
+cp2k/src/semi_empirical_int_num.F : f0078cfd9a31dc7f2d85ef7b7f5aee9842a4b94caf22e595cc0e16966d6436aa
+cp2k/src/semi_empirical_int_utils.F : 52ecca35ea61bba5e7b17e8a26ca72d73e6ea12414d81df51a77326a79171bfc
+cp2k/src/semi_empirical_integrals.F : a24191ff99dcc70c4ce877cca30d20b63dd3fcba95d2403f5aab4f61fe4539a7
+cp2k/src/semi_empirical_mpole_methods.F : e1d3ff7cb82964b661b283b9bfc294ea280b6c45bd3633402bc06f6a283327c1
+cp2k/src/semi_empirical_mpole_types.F : 0fcdb35c8d6bb2c0b4ac7c0500042f86ec4baf7c8aa439e19d1e2ff76ea7a13a
+cp2k/src/semi_empirical_par_utils.F : 5a8ce47a80c89371df102166fbf26cfcfa5b9d611cef0f2e59bf97b474323c78
+cp2k/src/semi_empirical_parameters.F : 88ca0b3fcae97b908319cca714bf0c02e8f0f547fe54cd492d0bbaf10800fb68
+cp2k/src/semi_empirical_store_int_types.F : 5bd971f4117e3d5c29d246fdae910f0f346dca8b2622a55957e3bb68eb7b4b46
+cp2k/src/semi_empirical_types.F : 02307245a096ea049ec8b1b4d32dddc1cfc349bf5d2704f044b2d62efe8a2dbe
+cp2k/src/semi_empirical_utils.F : d7e031769a91073fd3c0436c61af2fc18b57f9de0eccfea0f951ca792e02d5c5
+cp2k/src/shg_int/constants_operator.F : c091054351afa20bc3ee0b92f74b3accafbfdacd9232cc802aa99f5407d38290
+cp2k/src/shg_int/construct_shg.F : 334381eeb83ec39421120d75680b487ef052359e2da913451cab67ea9d958464
+cp2k/src/shg_int/generic_shg_integrals.F : fb71d6ce116f8b801e819d3180b6076d85e3a964fd2a7a6a8c075cb6a8dbc089
+cp2k/src/shg_int/generic_shg_integrals_init.F : 98b2c1c74c107685a49a54c662dccc61b358b61b44f49331f0514fd3bf2d3168
+cp2k/src/shg_int/s_contract_shg.F : 28be3a4979686cb617c72179c6622ff8603971027dd645f89e5363c4b7d3a198
+cp2k/src/shg_integrals_test.F : 51dc1c27d5dc650996ecef605fb5b31b798c3f33f4b55dd5e028696abb9cc164
+cp2k/src/simpar_types.F : c53fcac0559df1eb7b3ce85d3949af8c813b9e9da1bf74da241bace8c6f27086
+cp2k/src/splines_methods.F : 669cb8ac668376f5bb7ec1666c67841d081dcca4335361b159214446c495d8af
+cp2k/src/splines_types.F : 5279bd7b4155a62fb2a4d209cec71a2e45363b8c766dcf7fec1087e70f7d7162
+cp2k/src/spme.F : c4b33d5d40596bb37cdc30db89b06a1958c0b0ed1a1cc5e395b01c0c00f7d410
+cp2k/src/start/cp2k.F : df8c2501cbcae43bdd15cd696924b0637ec09970eb36603378ad37ef5734ead2
+cp2k/src/start/cp2k_runs.F : 2de59fddf297fc861641d68fb758c14a26ca3add078beb69e2673de50574059b
+cp2k/src/start/cp2k_shell.F : f750d12b993c4bf712359cca328583eb7cd36e98dc4a8bc82a7c9d2408bbf4ae
+cp2k/src/start/input_cp2k.F : 6d86d384773b16615b4f1d05c1277c9575e06ae0032ac912f2b1e47db0b7cacb
+cp2k/src/start/input_cp2k_motion.F : 117c01a585c1224079e40df1d45bbf47c293097cdaa5aeabb89c7233e42dc08d
+cp2k/src/start/libcp2k.F : db4cd328d3e110959bd3c7623801a7eeacb70ecd8e95c10397e11de6a8385477
+cp2k/src/statistical_methods.F : 5a202fb1ecc166d66963aad8f9e04aafd7558a0cd986c35c6c7b60bb52d0ff2d
+cp2k/src/stm_images.F : 040cb2d402fc6037a04904d1117f63155dc49b903f3c8d2cc5ae763f8eda6bae
+cp2k/src/subcell_types.F : 669de93d8e97242e53018dc80fbda5fb6ca55b846fdefe19f9599a4bcbd32b66
+cp2k/src/subsys/atomic_kind_list_types.F : a15365830d1c70d2640631bdb46a0c36dad94021f452b4d79a63d4d16e968c8a
+cp2k/src/subsys/atomic_kind_types.F : 89c298a6b6b8caf991ac32b7d517a9ee4687672147e91a386f19f950be38026c
+cp2k/src/subsys/atprop_types.F : 0ac6dfc6986ffb665f7783ad474a56da99ab8a8af9c97e4f9682195651b16114
+cp2k/src/subsys/cell_types.F : f5d9790ef3fcd75e36c8f5270a3ab8018b2f50e6946e1717c00f4523a27eda0f
+cp2k/src/subsys/colvar_types.F : 0e13c82a54d70049fe356686467d2687e77531cab6cb7af95cf3afb44d9909d9
+cp2k/src/subsys/cp_subsys_types.F : c8cfeb5fbcf586a0e4fbc7e0d9aff415752f31d651df562c52c9845d54f567bc
+cp2k/src/subsys/damping_dipole_types.F : bb027389d8efe3a53319d553b6ecae81a77130c5270a265fbb15f4ea0af4b6e0
+cp2k/src/subsys/external_potential_types.F : 54bade1c3c11b7c2d27959ffae9c4e2b1907a2f790d1e409350b00b5e91d5b29
+cp2k/src/subsys/force_field_kind_types.F : 12e9d6e9b6908e19c6bdf1a6c964083af86cc8bfed8314912a320cbbd4f87bb5
cp2k/src/subsys/mol_kind_new_list_types.F : 86c421cc942d710c4fbd5c48aa31fe5d7a5015856d61c6d332cf2e36cfbf0168
cp2k/src/subsys/mol_new_list_types.F : e185020ae50742ff19444d2e124bc1a80d58e54fad902795201d5ddd3662304c
-cp2k/src/subsys/molecule_kind_types.F : 87c07d6e22a5bececf693669cc9a1893255858d7126856a23f76e293ab3533e5
+cp2k/src/subsys/molecule_kind_types.F : 7a3cfe784778401d88a1bbc63b4513334262c9841f460af72e26ecb35c03d5e0
cp2k/src/subsys/molecule_types_new.F : c27532f407e39cc691f6c6ec07ea0e4b1f38b70b753f58dca84797b9da491222
-cp2k/src/subsys/multipole_types.F : fa79871a1610a367daa8d2d1e39786cf9a0a52000e576783773c9737e1fffce4
-cp2k/src/subsys/particle_list_types.F : 8cbb5587a6f60152f52792b610ea0d87fcfd3e561a3f72e5d1f9e9c5d90a2ad7
-cp2k/src/subsys/particle_types.F : 20fa3cd8d45d865f08cf9b28e6bc4e8c4b36dac4f39c375efd7052b8193fb1e6
-cp2k/src/subsys/shell_potential_types.F : bc10cc587e9f1f7f0f4a9bb9ed9724af0f9d85e327a09484295a118abcf2ccde
-cp2k/src/subsys/virial_types.F : c202263fd19193a1fe31559179666f6ee976f43d8ca4741ca3114037441bfb7f
-cp2k/src/surface_dipole.F : 5b7cc3064c179fac754d47b3ca5a397848f79dcd1f4c1d6cff0bdf73651f196c
-cp2k/src/swarm/glbopt_history.F : 3089997faac25ea1641ecc3bd0c71def1621c99cf45c9db804efe305c72fb0d1
-cp2k/src/swarm/glbopt_input.F : 7f7ec393cde62bd6f2d45c83d9be68c21f7a040c822c38af18fa3314d97463c0
-cp2k/src/swarm/glbopt_master.F : 6400b708411c5f6a258974a34e3b47aeef1f53a7726b301c3b0ec4098a67da2e
-cp2k/src/swarm/glbopt_mincrawl.F : e0e1a317478f02a6d1a4b599ee966790f08829c32d52601a90065bbadff8414e
-cp2k/src/swarm/glbopt_minhop.F : 06c1f68852c672115c3b12a7db3f615fe26dcb232264fab421a80fc24c7dcac2
-cp2k/src/swarm/glbopt_worker.F : c372da3ca47ab579924a7c114fb915dd81dc18bb99dd9f9c45705ca5bc251d10
-cp2k/src/swarm/swarm.F : 1a6353d218377525d63597c31c6c35888accbe0aa09d1e2a715f27a2972851ef
-cp2k/src/swarm/swarm_input.F : f417350407b74317f45c3d177ed20c3734a051097eac9ff130e847d8be74d095
-cp2k/src/swarm/swarm_master.F : 56ac6930e537978c76990290ba1be4d3e1eaa547128ed0fc740f6a78dc6b6697
-cp2k/src/swarm/swarm_message.F : d3819d1537abb50bd3c1a63a62681936701b4b2952e357487cceb002de9cd7c8
+cp2k/src/subsys/multipole_types.F : 06ccc848f7f93ab0146d29d269064f941b28e3956c46fd21f38fd55766e30a52
+cp2k/src/subsys/particle_list_types.F : 7d5d9147b8ae8242ae42704dc3a104a4f49f262a0e29afdf0cf2f9bbd1032972
+cp2k/src/subsys/particle_types.F : 60027c18c501c557f90a966f4cdbd7df73ba1616d4f8eaddddf243415bfecb8b
+cp2k/src/subsys/shell_potential_types.F : 0fadb8cdb6f2a8bbf21a1777aa98b35a98a6375275ad36245073e7264e30fdcc
+cp2k/src/subsys/virial_types.F : c30038cc0a5d90b4a81afce9758bed2e2f14856b01ec081cbb853d5a2522cf0a
+cp2k/src/surface_dipole.F : 219294b6a4ad4b92a23873831e4677c2c3cd04b8791c26d6745033caef951e99
+cp2k/src/swarm/glbopt_history.F : 89a891ab62cf5ec35ea12bbb0da52154785f4073310c996fcc36d4d09d0c449a
+cp2k/src/swarm/glbopt_input.F : 309c5491d5aec7ffad36357046b816e2f2f301a02c424809dffae39567e79d49
+cp2k/src/swarm/glbopt_master.F : 9f48eaa460479850a1ab8506c2ef0409559305f5a59150133000ec68ebcae789
+cp2k/src/swarm/glbopt_mincrawl.F : 18e5b99f23f269e816a57969e1b485f255ecd98534148a98e5ce126a6ebf3c2a
+cp2k/src/swarm/glbopt_minhop.F : 2ef7afdc9dd800988a3b3ac2dd76ce3987226f60ef8a8c9cd28f7084206b8c84
+cp2k/src/swarm/glbopt_worker.F : ca2aa5366d01e52b28e6916b727e84751d46d344a002cc95e335afdb59f67be8
+cp2k/src/swarm/swarm.F : 45dbec4a8c19962bb3fb35282fa1c8a7b3bf51b6c215f9e4003214c09c38a5ca
+cp2k/src/swarm/swarm_input.F : 14e32801bb1691b74e0193951b4d8743da5ab5c95dfb425e0995513c9814e595
+cp2k/src/swarm/swarm_master.F : 5e2a29df1e82d170c00aa208b44f69d72a488968a6e2c5b368d1d85e4bb3a237
+cp2k/src/swarm/swarm_message.F : 4aef09957359be569fc73d3e36cd467ff70404a84a3a918486323468a827f4ad
cp2k/src/swarm/swarm_message_1d_i4.f90 : 240f840d0da06c49bb39bc6afb5a4dc74c88d1c7e1b571402e1692d35ca68a9d
cp2k/src/swarm/swarm_message_1d_i8.f90 : 5634fa218e66302f8b9a3dbb7a23fe339644787777be0b5a60dd4fed3def9445
cp2k/src/swarm/swarm_message_1d_r4.f90 : 263254e50ccc60ca499a675cdcbf0f11be384a29c53798df1161a21887b376e2
@@ -1784,109 +1783,109 @@ cp2k/src/swarm/swarm_message_i8.f90 : a124d3d04b9c1e86c3052913cd3f9b4a44aa4cae1e
cp2k/src/swarm/swarm_message_r4.f90 : 5bcb824af49feae369b56752e9f8ce185bd83946845c69309ce19c60757dd61d
cp2k/src/swarm/swarm_message_r8.f90 : 712fc2f69976c7f5d7ac247f2a3a4f04ebf3b39559cb168313531bdb3ff086fb
cp2k/src/swarm/swarm_message_str.f90 : 2b6f22b2a92f162d6290ed9d21f65140dfc0c94a75513e6501475807d30ee76b
-cp2k/src/swarm/swarm_mpi.F : b1e1ab52a4c544322d068d7d98de8a2016d544efc670f4ad0cc2d46f703f26a2
-cp2k/src/swarm/swarm_worker.F : 509365aa70c83e6bec4ade0b2793acac4926132d4d615aded8b392978ad958ff
+cp2k/src/swarm/swarm_mpi.F : bebf5a18a113641ea5ac015c3ad689693b860e55c6b169bc86de97d8744e54ac
+cp2k/src/swarm/swarm_worker.F : fdff614364460ec022be5cc0503257976ab68a0250e740ed43c17c925533c54b
cp2k/src/t_c_g0.F : b2b4fef854ec08f6fd571181b0d06b3fd35b9b3afa5eed45ada7735d7c7c041e
cp2k/src/t_sh_p_s_c.F : bae817d27e7a72e47e22683a6bf885ebc4c89e5c323c588f6575a303bde572a7
-cp2k/src/taper_types.F : e5420b68f89fb8cb34bdf3325119042b204446447e81bbf7f4c4b2e5d2af0c49
-cp2k/src/task_list_methods.F : 8ddb6bd36e50888be1e50db54195403c954155a135cc006ae17146229ad141e7
-cp2k/src/task_list_types.F : a82341d1e11baa68932e343704d35c0ebd83e5398f29193c629bb4f02af4025f
-cp2k/src/tmc/input_cp2k_tmc.F : aae869a29b8f8e7dc9b204b4d31a466494b6597c5d978b4dbedd0eadda8e5bff
-cp2k/src/tmc/tmc_analysis.F : 056c4d2b49871c84e4e04974d1df6dae13c3d047468f3ac031d937ea62ce8bec
-cp2k/src/tmc/tmc_analysis_types.F : be5307396b42a6c03998785d27e86f13e3087c50b007aff61c5952ce36e226a1
-cp2k/src/tmc/tmc_calculations.F : c3c1d292932fdcc396a4b48143d11a6e8e57dbe378c12dd83a180ff876ae3c15
-cp2k/src/tmc/tmc_cancelation.F : 9063b7c7269111867ef2f3ea25ecdf4f1dd92c6a729bd2d07a0b1d5c8555b462
-cp2k/src/tmc/tmc_dot_tree.F : 8a2d34bb5092c1aadfe62c19e8b039d730661b7d9af8fb0441072ab83208ba5d
-cp2k/src/tmc/tmc_file_io.F : 2e75b4f3caba9145646ee9ecf0260caecbf7bd7312c1dc22eb4b4e0bf8a75efc
-cp2k/src/tmc/tmc_master.F : 8fedb46749777bd3dd11a3e09e56389845d6e1e53675195c01c8c9e59ab2c42f
-cp2k/src/tmc/tmc_messages.F : 8b278f3394f74d81caf25fa3e3198a835b64ac8e8d7ac0de0190172683f83683
-cp2k/src/tmc/tmc_move_handle.F : 258515e3b0b16fc33d4f74c072312a6fbbd1ea39b5eb62f0c04f48ba6ecc9d5e
-cp2k/src/tmc/tmc_move_types.F : 4f588e36298d501bb679eee1ad4fe91a966ca70058ef314159d99ad558fa22fe
-cp2k/src/tmc/tmc_moves.F : b089e7b712dc4ee40baf8bad8193f5507ca7000cc36ea885d87689a3e452980e
-cp2k/src/tmc/tmc_setup.F : 9abd714ed8fe27840796bd0bb625b653aafb44f73eab4c34df67a54627b000f4
-cp2k/src/tmc/tmc_stati.F : 5f04601f555769f7519ec79e842cd1e5f848bcaec4694592d631eaac0bfac7a5
-cp2k/src/tmc/tmc_tree_acceptance.F : 202a9a9625eb009ff28fe9b897927db765cddcd59c8450d2c1bb048f40c4cda0
-cp2k/src/tmc/tmc_tree_build.F : e531f329dbbe7fbabaa01abe6a4d69c9a262a3a41eeeae1e37ac219f944646d1
-cp2k/src/tmc/tmc_tree_references.F : 22d9d6f2eb2aba160b1efc34d5bbe71337c4c7a6131cfe7cf149f15205f21730
-cp2k/src/tmc/tmc_tree_search.F : cc7887d3541d813fba8b74acbe7fb3011ecc965b91bb873e5ef38ecc8dc6569b
-cp2k/src/tmc/tmc_tree_types.F : 00189041efaee23ae2178000300643a73f50ab00dca0028e25acced47230394e
-cp2k/src/tmc/tmc_types.F : 3dbc62fa3e2fbb00baf015b692237846e95ab9db16c92e721de46369958f1fa7
-cp2k/src/tmc/tmc_utils.F : c2a96f0307ca50bdc303711949cbf24070d02242a8885cbd9813391e448acb15
-cp2k/src/tmc/tmc_worker.F : 5625a11b91d1784c0b685bd81fa3c2b7301589e8494dcb2ac9cad12d25b31038
-cp2k/src/topology.F : 2b7eba67c4a1a5f59313da3be8bf976f9109bfa417570422a7ae24db3a7589a4
-cp2k/src/topology_amber.F : 43edfd60c03cbedc8bd9411f77c82dbcad3436980d88813b7487e6b2367492ab
-cp2k/src/topology_cif.F : d97c36872e65f8fecae7a2a279f9255e9f9f98d4a2298de3b00b88da0e89d8b6
-cp2k/src/topology_connectivity_util.F : c2e28bdfa4e43bc75aee9a4297069259bf2da1853d80cf5e9dab5fc2bb66589e
-cp2k/src/topology_constraint_util.F : 733986d0298e7d1e649100dbf65421a283070484381ff52c2793e46a70055739
-cp2k/src/topology_coordinate_util.F : 8a0b67d729dbb3e9b609c344ca5a54909220b2997161ed449017b6bb1bf1b041
-cp2k/src/topology_cp2k.F : 03719d6c32811f320bb4b3ae67ad13f8d5c47b1e920497bca65fbec0f23da344
-cp2k/src/topology_generate_util.F : a733f7ec558b59fd76019c5368743db23afce407089c770bcaa055b4837d35cc
-cp2k/src/topology_gromos.F : d87deb7801dcc78560805a590a9ab37d47f57cb9e77f941124ba1a81e0765464
-cp2k/src/topology_input.F : e5033c84da03cbcb127b8917367f1fe1dc3552afe32be8021b7938bf4ec8e090
-cp2k/src/topology_multiple_unit_cell.F : 97e24e8404c0af3a08741a5a2d4cae5873a0531d87275b0441ecbe521e978808
-cp2k/src/topology_pdb.F : 58ab25cd5aba533541f2fa91027bb101a943b77e1ae631313e44d04d940e3604
-cp2k/src/topology_psf.F : 2c4d65e2149974664c39bc75f8f93bac9b8c35c76db294eb370a62d29df8f671
-cp2k/src/topology_types.F : cdc6b8fb061469f2cdaaa5a36f51c1fa5029575e67d482a3957c90ba903d1c3f
-cp2k/src/topology_util.F : 39d50da78fdb7e1b2d1b6db65a35637745acf4df54015f6314d4aaf13daa9d4c
-cp2k/src/topology_xtl.F : 2926182bbd9f8b0dee6924eeb06b98090470aa583757ec01feca99fef692c957
-cp2k/src/topology_xyz.F : 17dd45f2ddac6455b9a3e7bb8801b78fb2f4707a7456ff203aee2617c191f172
-cp2k/src/transport.F : 238fe82f551897816134a0ffe0f0231ce60c349430befecd9ef777b782aae791
-cp2k/src/transport_env_types.F : 485312b3de7cd8c6e7bfa228ea0b5603053f4c4fe2c37fc63769f779afeb1492
-cp2k/src/uff_vdw_radii_table.F : 1b50d627413f4294f2c26bbc27427a781839ea048a7c575f1f325a504e090e7f
-cp2k/src/virial_methods.F : e577b4821ea0d33c6bf168a9c00ba6f4bdb437c5eec52619d8f59c829b1234a7
-cp2k/src/wannier90.F : 1f3a306f1a5ed7dc458a18d2c0a59c762f275420e6ba7c77a1ec203e1b4749fe
-cp2k/src/wannier_states.F : bc7feb550c7baf939c394bc2aa11056ce279277c7e9179257c759ff443e38605
-cp2k/src/wannier_states_types.F : 5a25543f6fb98837a9420ddf10d797d5bf8d65eeb6a0a87d1677263939257965
-cp2k/src/xas_control.F : f2a12379056700069754e53e59a2b163417fbbe43b5032fb4bdb4bf14c82898e
-cp2k/src/xas_env_types.F : 99bbbc03c626966628dbb3b524f53d84173879070b56dd12a92041932b416853
-cp2k/src/xas_methods.F : 6efc08ce4eb5443e8b88bac92014143ad408ef631e2a84898351a6615552d6ee
-cp2k/src/xas_restart.F : ec51a15515ddca1bdf9aa503fc0a07b7c02036cc93e704f668edccd69aa526f0
-cp2k/src/xas_tp_scf.F : d11a1cd0022c4196692fd81a48899a370e46f06ae34170e7b9a24149e4cce42e
-cp2k/src/xc/cp_linked_list_xc_deriv.F : cd033cee6e077e8ccf0d69389c4241eba7ec7bd1ec75295719e4bf6ed9daf2a8
-cp2k/src/xc/xc.F : c5cc2747dc0e8971b3069326d395912a496e17e6c89d2843fd1edd324af26dc9
-cp2k/src/xc/xc_atom.F : 2be6a77600b7c17cd64afd95b8e8a785f0ef0694c9d3384fed8546e7a2120689
-cp2k/src/xc/xc_b97.F : 6bdb176c4fb56a39336a69d29b28ec99c7cf7ac3358e8d3a05c147eb4d964544
-cp2k/src/xc/xc_cs1.F : cb40dcd5f79531008d1f18a734d42bcbe5e1b65bf25587a863f6512c4ff26d2a
-cp2k/src/xc/xc_derivative_desc.F : 56f0ea780ab96e62c92d31ee0ddcf1a30503b61b4a29baa1b94ed3248c673e38
-cp2k/src/xc/xc_derivative_set_types.F : d643155298b95733f6527896c450c01ad9f317e8b300af0cf47a7838d09128c3
-cp2k/src/xc/xc_derivative_types.F : 522de89de933001d77902d6a1bef2b656803c35521215e6a1c38df62bff056b1
-cp2k/src/xc/xc_derivatives.F : ca19c311cc1050ea0a5b193fbca69f01bcf4a8005d778eaca7f7a145906ff632
-cp2k/src/xc/xc_exchange_gga.F : b2f9b02083b346ac5a23d4717bc1a8818a9a2871fd879c3177e87c7f19dfadbc
-cp2k/src/xc/xc_functionals_utilities.F : d1a69436f813c50acdb9a6316757daf893a7985e72cdbc3aaaabc653d3bf9864
-cp2k/src/xc/xc_hcth.F : 44290007dafec7796ac4730a7faa0118f9baa667b9b76fea9d2e9dedb3495344
-cp2k/src/xc/xc_input_constants.F : e1dd5c3c45b9f938493512e2d192092bbf8e8ea2a8653bc75bae634a67aaa7c1
-cp2k/src/xc/xc_ke_gga.F : fd88a0927938c70cceeaf94ad59f24a96a5a9aee5a2813b288793ea331e3d750
-cp2k/src/xc/xc_libxc.F : 523b08ebc1aa8dab920a0aadf4d465238080414a7d599b4da096ab1c5f8c6950
-cp2k/src/xc/xc_libxc_wrap.F : e40c488c7b60dc66b9215202625b1446b2923c867cdc32f417868af2b46f78a0
-cp2k/src/xc/xc_lyp.F : 5d956374d3d3e1914e1a450793ac79e44d782d1d98e577c2747b9bcb108cc2a6
-cp2k/src/xc/xc_lyp_adiabatic.F : d539fbd2db3bda8dcfc56c1b4ca5abb954a9321abd2ec6da1bb8db520d358eb1
-cp2k/src/xc/xc_optx.F : 0d6bc045e82a781b8b4ebf41c2635341bf24538e3e786871d151380f1558da9c
-cp2k/src/xc/xc_pade.F : a841625817838602e7d62c886cae209803595c5bbf5a8727da23c60c833da789
-cp2k/src/xc/xc_pbe.F : 4a0943bb12e542b969263a67761d9e7ca1e905a147e6bae8c638f061e40837dc
-cp2k/src/xc/xc_perdew86.F : fdd04c10b0f7c11cbc24e94142764222cbf6c4f324008aeb2aa9f99216148f0d
-cp2k/src/xc/xc_perdew_wang.F : 97e2279dee472895411eb2e68aafc31175ab8d7b1429d81b85d78e049e56943b
-cp2k/src/xc/xc_perdew_zunger.F : 1101eb340cf026e5acf2a082b5254eb60f9fca49826fe1117aac576c2e0d21e9
-cp2k/src/xc/xc_rho_cflags_types.F : 176abc63784041c047deabd008fdd58202c51240fb96fb42b7912db4c7992d38
-cp2k/src/xc/xc_rho_set_types.F : 08323975b224f075385ed41d2e70be8e0b57f146cc5db95aef540831ed12ba48
-cp2k/src/xc/xc_tfw.F : b3101b1e2b4b06270821dbc68d8b8ea599711b39ef2a2cc18bef63a27179c1ff
-cp2k/src/xc/xc_thomas_fermi.F : 9df5f79e4c3a030c25299707310400dd514ea7a89ea1ed2b51191b652a2ca0e2
-cp2k/src/xc/xc_tpss.F : 14c9c8a7a63ad15dff8a33ce7448a103054a29baf4496456576921d539898afe
-cp2k/src/xc/xc_vwn.F : 16eb819943b003e139832cbc96eafffcc5197239149a5737734bd9900cbad876
-cp2k/src/xc/xc_xalpha.F : 7bfc66bb893a9c953278a106126cf8f10c95a1cd7220bfc2f4db7b45eaa177fe
-cp2k/src/xc/xc_xbecke88.F : 32f89fff8e9eb74f704e34e9f0c934b430214ca717c286a6df6ab3f4cb871eb1
-cp2k/src/xc/xc_xbecke88_long_range.F : beccadac53f974745a372f0981124202ccf670a3246a7d7eec15ce43dfa6ae4e
-cp2k/src/xc/xc_xbecke88_lr_adiabatic.F : bf1933d10e5f5e32b5a8094f80167e4cf8dda3c24dbc5a1b86acefe2ffb764a9
-cp2k/src/xc/xc_xbecke_roussel.F : 3aede61ae24883504a76aec860f60cd8547d1dae186e0a6bbaef8cee757e846c
-cp2k/src/xc/xc_xbeef.F : daadee27a4d1308a732a4c8bceb002e9d3f039e2e7892d3a96c327665a90b788
-cp2k/src/xc/xc_xbr_pbe_lda_hole_t_c_lr.F : fb6f4f8675c0f994662f175a0c19d4a361f46fec57f0c7b2d3d5b13930cef71e
-cp2k/src/xc/xc_xlda_hole_t_c_lr.F : 9fbddd48b919222e0a8f178921575dc9f29012b778452e72857f1ef2265f52ff
-cp2k/src/xc/xc_xpbe_hole_t_c_lr.F : 2b1db1b91c1121a9beb4bf30ae2e1e513376e71c0223e3c18da2d7f1e68e8b7c
-cp2k/src/xc/xc_xwpbe.F : bbc0a00bb815b198e65252f6822cdf380eef9942debb377e1cede2a0010f8c69
-cp2k/src/xc_adiabatic_methods.F : cab226fcbced9c5cd8762814f7c741ee2af482f75c442ef19d8cce959675a1db
-cp2k/src/xc_adiabatic_utils.F : f7b713333e332cdef91ce8a94af7cbab2817cafd6cdc00cbc64a6377d5132270
-cp2k/src/xc_pot_saop.F : b0932411aa7e85ed5ebde0841a618fbf1e41d5d036b44eb0ba3703ae0b8e9c95
-cp2k/src/xc_write_output.F : 434edefbd96a016fd2028cee13efbc798ed16993f09b0da3f07c50cd91755501
-cp2k/src/xray_diffraction.F : 738e17256b2f9606b4f3c3cef6626724690bc09d9c259eeacf1b9170c45aaf2b
+cp2k/src/taper_types.F : e329a11117ce28d09b26f900a2e2141b3d931aa85cdc8461dba6478036aa8164
+cp2k/src/task_list_methods.F : bc598229b4969ff11f673e2d237bc116d325c71b2192d296705bd4e2541d31e5
+cp2k/src/task_list_types.F : 0a6ab473b501c593a2943c7108c588f124c8f2eb31f552b5d67ac4c8bdf0cf62
+cp2k/src/tmc/input_cp2k_tmc.F : 6e43ec18f312018ead8e7ba5bc7764aa9ce020c6db9b9bfd4957ef8c8feb6a07
+cp2k/src/tmc/tmc_analysis.F : 05b94810309feee122c70907329411052b6832f431ef6c2f78c41cdaf8d801f5
+cp2k/src/tmc/tmc_analysis_types.F : a36adebb2ad4839d87c83b91e1d2341e8058de083f5f2cdb1ff0a4af0b12d9c7
+cp2k/src/tmc/tmc_calculations.F : e30f21afc7d12bb0869ec9cc92c41bb799f0c516fd1f2511a83f19e7fc95543e
+cp2k/src/tmc/tmc_cancelation.F : be57586a5e54882d81121ae39e1fc5603a645fdc0771713c1e65f73c089a6ed5
+cp2k/src/tmc/tmc_dot_tree.F : d28d9fe97947c618f33cfd75e1700e8044e2b501aebc57815bca80bb7b496b40
+cp2k/src/tmc/tmc_file_io.F : 7892a71a310ac5bf0016a0be7f89a0c77d29ab2b88cbc83903c0fa593e50c9cf
+cp2k/src/tmc/tmc_master.F : c3b40ddd5c2396f5f40cc37b82499d495b310a0cbd256af7bdd5611af8d130ad
+cp2k/src/tmc/tmc_messages.F : 0e8a9a5e38cac19c866d26d422c24de98f73a3b29019eb16bdf5b9d76eb9fd3c
+cp2k/src/tmc/tmc_move_handle.F : de7169be9cbd3c30a08a77e408ca802fff8fac9695a8de5b3ab3860ddd506717
+cp2k/src/tmc/tmc_move_types.F : 1651c7e1e21f81f9225cc12838fbbe1aaab96dfec9c6aca1a60a832fb4c45105
+cp2k/src/tmc/tmc_moves.F : 8107f46b255546d972015979b17cf73addf3044afa4ab761e06d76bb1cfe9189
+cp2k/src/tmc/tmc_setup.F : 4da0975d1ba64c43794e89099f1b4fbf3e0c3bb3bbfa4aebd1561cb46fa7b321
+cp2k/src/tmc/tmc_stati.F : a4eb4ebdbe2e6927a571d7a354c3665750f78013b47bf44112ca50caaa63719c
+cp2k/src/tmc/tmc_tree_acceptance.F : 33dfb1006728b8c453cb41e7fb29a035da32ec0ffb82589cd24998dbe3745b59
+cp2k/src/tmc/tmc_tree_build.F : ddd87ce67a052cca45ae902938d3698b90672815e51cf82aec8fb285bca67bcd
+cp2k/src/tmc/tmc_tree_references.F : f4d015fa9f974387f25aa534b6018dc71c47904ed93ca4d8f221d803c6ef2142
+cp2k/src/tmc/tmc_tree_search.F : 7f663c40b86249517f615623524924dfa55397f32d925553c366c3d979191d17
+cp2k/src/tmc/tmc_tree_types.F : 519ccc6f4f8ab0ab58b0a14a3a14ef0c15f258aeced7e485da1735474650f316
+cp2k/src/tmc/tmc_types.F : 9503ab5ea1e531c4c2c70e332eb38ba21724843ddb58720e0e130a670c8e1cc6
+cp2k/src/tmc/tmc_utils.F : f924beeffce1e241315bd7882b8640af9cdb39675f922e3015952bc2dae97d9c
+cp2k/src/tmc/tmc_worker.F : bb236d6456fdfdc38606d82150966fcef0be73fa4843b02e2006de1fd8a03352
+cp2k/src/topology.F : 44f837a26f3f54468d76c4aef9134786e6c6fd6180092f7b712f43bec3ca50ec
+cp2k/src/topology_amber.F : 68b582f305ac17dcc531093f9bf406b5af37dc25011382c97c2f440363aca9fd
+cp2k/src/topology_cif.F : 745046ed2504f52b57604171c17259e382a35a11cadaa0ece439ece283cee5d6
+cp2k/src/topology_connectivity_util.F : a66abb8a6a7757f9b768571ad07e7bc703d59f158d966de47274a8219139e1db
+cp2k/src/topology_constraint_util.F : 866071431193531a62bcd9b95bca8e9cb98db04aac4bda1f19a9e8dfad4c0a56
+cp2k/src/topology_coordinate_util.F : 0bdab337b21e9298f4fbd4734924a19e8fb20ef251b390dfdb753b42ad03a2e0
+cp2k/src/topology_cp2k.F : 6632921d43b43c2f6e4a5cc179cca323d28363ca2f82b4036d5d44e84edd1346
+cp2k/src/topology_generate_util.F : 7c1df0e1847fc822b23c6f0c541de639d4e0c87c1409ef11842466548b0da9f5
+cp2k/src/topology_gromos.F : f66f16a52128d0cb5c45cd8b9483aa0237312f57c4a39f4d4540461c7b599a7c
+cp2k/src/topology_input.F : 340b1be9d4f38d3c7a91c48b296ca0e0bede2dbbb464baee08f3b94d2a966d13
+cp2k/src/topology_multiple_unit_cell.F : 4aa2bb4f906d7b2a482928037ee228a76ee57c7f5f28563195ccf40ca2aa11c7
+cp2k/src/topology_pdb.F : ef074bc7cc34850db9f3ba026dd7add528bfe924bc595a0b8567bcfdd1aa6dab
+cp2k/src/topology_psf.F : b95dd91e5fed41613863caf3106a8e25202015e9f942ddb74d14740401d1a32d
+cp2k/src/topology_types.F : 7e1ee0bdb2b2edf13cf55169885c2be0e084146e7878e773b7c0590836226c5a
+cp2k/src/topology_util.F : 5f0b2593804657bdb1a3f2c0c8c1a0062f8b80d80dbb0708b4e075d76982696a
+cp2k/src/topology_xtl.F : acfd4ef0098488e174affbe92e2c8516d70cb6e6bf066958fc2873e76863ed90
+cp2k/src/topology_xyz.F : 56605aff933a40940d250ed2e44573eb30a012f55eaa8adebbc7007ba366544d
+cp2k/src/transport.F : 984526bacfd0aee79678f49a6ebb46e1fc6a05aaef30c994a3e047f7da12e613
+cp2k/src/transport_env_types.F : e37459ce13d059ea4083fe714fa4e71cc4656263f73e342c4929adf49ec4ea8a
+cp2k/src/uff_vdw_radii_table.F : 892fa9118c1b02e9ebad3ed0d1002fbc17cb98ccd13d7cf4cadef7ce64dd3c32
+cp2k/src/virial_methods.F : 3b6ff5e8b612cc4726d9c787fe86822e300fcec5b6540666158957d455ba7dd0
+cp2k/src/wannier90.F : f5c7bf400cfe26fc803581dbd6e5f59f75f393b465e053f2a56fcbb26a3b3438
+cp2k/src/wannier_states.F : b9c4f9a2a606d7100408562a9f32192c7c7b4b7a73bd5236275cd5b1dc0595e7
+cp2k/src/wannier_states_types.F : dc18e9c51836fdb9b1c0542d84188f7c30e9d508aec3fc91b825e7922e339435
+cp2k/src/xas_control.F : c58d3c48a7cb7d4edede8111225059342667ec53fbc28e048c54e737500e51ca
+cp2k/src/xas_env_types.F : 6c47e762c8b24c669aa78d081ed4b1dd182d9820db672b59f14ffdc30b4845ff
+cp2k/src/xas_methods.F : bf31fbb2657f59f59f6b5062e4fcb6e7ea56f91c7efb5fda1a14d03a329c4aa0
+cp2k/src/xas_restart.F : 59ede011215ff610c9c3a72406ded965d0d65b95452ca77bdc58c41e91e131dc
+cp2k/src/xas_tp_scf.F : 2c79992c0b1a4110bc7d09f037208705c2d21772342e2edc591969212fd1ae63
+cp2k/src/xc/cp_linked_list_xc_deriv.F : 779ffb378c64b81d9f62d278825bf7929d34fb07e2c341916c2da6ed43278f96
+cp2k/src/xc/xc.F : ef2603cecf2f2a7afe32c0763f36f39d4c78cfe76a0dbdfef8653f3c356eea02
+cp2k/src/xc/xc_atom.F : e85e3a3d47eaf4b50fb13a338aec6c66428f3f6ab51c014f0fd83c8b608a08e3
+cp2k/src/xc/xc_b97.F : a101df196c71197942b986ca296ab45afa575e7faf4690a8fe9629482d98b0c9
+cp2k/src/xc/xc_cs1.F : a754ce3affc6ee98458dc93747a9ca856dd712c036b9b0dbc2bddf7fb8e6f846
+cp2k/src/xc/xc_derivative_desc.F : ad4960b00f5cbbf812caec78c99de28d90441bb94e1645cb862055995530150f
+cp2k/src/xc/xc_derivative_set_types.F : 265009d8dbadbb9f40e21f35793ab7a8f214d4283537fb5145d8852ef907f3de
+cp2k/src/xc/xc_derivative_types.F : 9443d2400fe71b2cba42958ec0154f868c5b2ff735c155cc22ade0287d6e211f
+cp2k/src/xc/xc_derivatives.F : dc74fbeca52e0da73cc651d8c2ce90a0b4ef41bc01da93fac52a0236cbdee263
+cp2k/src/xc/xc_exchange_gga.F : 78b3173711ecfc52a8f6f3877556c3ccf6097a342cd7889e531dc482bcf752c4
+cp2k/src/xc/xc_functionals_utilities.F : 3a324939f60b887b480b98d82792ac5683a54c5feb472d06a672b68d1011ec68
+cp2k/src/xc/xc_hcth.F : 682856de53482c5c831cc91669cadd0d430160c5f3e596ae4c18bc41ff763831
+cp2k/src/xc/xc_input_constants.F : 69c991db6e640ba0f4461a7b6c17c5c3e0cdd9be41c73f9c3d5753525138fd90
+cp2k/src/xc/xc_ke_gga.F : f4b0a3b106387fa8aa59302f561d0c9ba946d787c685d462ee8a236420ae2850
+cp2k/src/xc/xc_libxc.F : 853cfae42b5f3d6078e14b9aff2183065f64a8dbb42d0ea582691e53fcb2823c
+cp2k/src/xc/xc_libxc_wrap.F : 48db1b95915f2bdd91b66d88aea853c622b212801598cf818fe53073dccf70e3
+cp2k/src/xc/xc_lyp.F : 15b831319d487264a2ddea96a0f45a48b004dd2fedb82cd2ae6e66746b3d8056
+cp2k/src/xc/xc_lyp_adiabatic.F : 5331afc2014b1fc84f7a1f3e311742682b4913af78dcefcbe16390f13d1af0da
+cp2k/src/xc/xc_optx.F : 533aacd81ec5846c8e9830bb1583bdc87f7ed53dfbf07a88dbeb64bfc96094d1
+cp2k/src/xc/xc_pade.F : c7c0e6285d5a9804904e17854cf6d7501c44f7b97f73c7cd0f8241ec742a747d
+cp2k/src/xc/xc_pbe.F : 67a23b72ddbb3baa15e5153ca2fb3766bacffa38de6b3b609de23df4e587ce4d
+cp2k/src/xc/xc_perdew86.F : 2abbfe0edf06f6ef72c80b161e8c466629d6a0fb366a968f357acafc21a3f9b4
+cp2k/src/xc/xc_perdew_wang.F : 63008251ab90e9fe18dfb1a838c803b8a981afd6dd5076bc19cbdc63ddcd77f3
+cp2k/src/xc/xc_perdew_zunger.F : ba7acaa7ad7048fbbedf6ed41563785955da405b7c3bb55da6cd2d54026ce555
+cp2k/src/xc/xc_rho_cflags_types.F : 2f53f26deeb15f5928a5e96673ab89856c820a54d400ab72e1e2981bf99f01ef
+cp2k/src/xc/xc_rho_set_types.F : 7b76280eadc842eea4b63f6377acd1a29747b61d836148f863d17d4998b6c305
+cp2k/src/xc/xc_tfw.F : b9dc6fc29068aae58bdbe306b299a64945ff69d7c0d1bb7eb7532b699ec4393d
+cp2k/src/xc/xc_thomas_fermi.F : 5f103d76beb68e41b4c3a05bb8304595e52e2c0fdf5421feb87c889937d44de3
+cp2k/src/xc/xc_tpss.F : 93c230568081410787c84f5be98f6b37190e4fbcfe8e2c1bf32b6b31431e29c8
+cp2k/src/xc/xc_vwn.F : b9001c0b40c651c9812efe121d06ee4b4dbadb6515db6a505afeac2f9c8b1bc6
+cp2k/src/xc/xc_xalpha.F : 67f495b8346cad3803b31ad72b3eef73f5037c908939cd42a796362185ce1382
+cp2k/src/xc/xc_xbecke88.F : dff0a436a34f4975cc3cafc15ea08394cb9e377d836ff4a4c00422e7c02c43c1
+cp2k/src/xc/xc_xbecke88_long_range.F : 66b1b8c952536ba7b071163436b8a7799574996b22784f8f4ea0bd4b2d1d6fce
+cp2k/src/xc/xc_xbecke88_lr_adiabatic.F : 67d794a6b94f416c5044e80013d8fdfd767a01c92d751e2df3c8544fe3aff138
+cp2k/src/xc/xc_xbecke_roussel.F : 1b475e0d81683723d016d5d347e5e28e40df4ee774cbe71c226c3e8ec6754d61
+cp2k/src/xc/xc_xbeef.F : 2f8d0a8f22100510f20d1c1ebcd2cca8547168fc712a418379a9b574412725b4
+cp2k/src/xc/xc_xbr_pbe_lda_hole_t_c_lr.F : 6ae6a280c55230c2e413c92ae4c5de8227d4708e55f2101985b4d5690e7c31ad
+cp2k/src/xc/xc_xlda_hole_t_c_lr.F : 4fab351f23ae4ee664fd7dcfbc2d535788857b40f27c41e5a4f76953146b4285
+cp2k/src/xc/xc_xpbe_hole_t_c_lr.F : b97e3209f37bbe0d13918b32f1481f15d214f0719584d0c1b4b7c56593d34256
+cp2k/src/xc/xc_xwpbe.F : d4b55e04047bc5d5eb6c728019a8b6c4ab214c77a4e50461d65f8c7179f40faf
+cp2k/src/xc_adiabatic_methods.F : fd69958605b109f8b8ec0c5fc08840419749e39e373e3bcf11f19303c6cf9829
+cp2k/src/xc_adiabatic_utils.F : 626cd4365d01f6c5eebd7890bd908e8c948a044c301476eeaca558244736f8cc
+cp2k/src/xc_pot_saop.F : bac7def451e45a25f1cb686993e0e6c8c893537a982cc5457e23b99b42c00f20
+cp2k/src/xc_write_output.F : 3f7288b77006972dbad3803d21327e8cf4d40611ba92663ca75a9a158e221f85
+cp2k/src/xray_diffraction.F : 65c15b6b15c5dbe0e8c5d991752da0ee640549b50c2e2ec5bf3a64364830eff5
RosettaCodeData/Task/Accumulator-factory/Fortran/accumulator-factory-1.f : 0eb4b1d8535ad761efe80bf0cdf86261849a4f921441c9233121380094268c0c
RosettaCodeData/Task/Apply-a-callback-to-an-array/Fortran/apply-a-callback-to-an-array-3.f : 2d7a98c4abad8c946812df76fc3c4d038172859dce10da96d8f47b19358623b1
RosettaCodeData/Task/Arithmetic-Integer/Fortran/arithmetic-integer.f : parse error
@@ -1920,17 +1919,17 @@ RosettaCodeData/Task/Define-a-primitive-data-type/Fortran/define-a-primitive-dat
RosettaCodeData/Task/Exponentiation-operator/Fortran/exponentiation-operator.f : b78877382116a2bd0d60f89f11c3a9bd8670f97c5be28ac28eb6d6e9d0bd7f88
RosettaCodeData/Task/Fibonacci-sequence/Fortran/fibonacci-sequence-4.f : 4cc861277a2859987b55db779bd15af9be4418dc01ea1277f5f95e1101d37270
RosettaCodeData/Task/Grayscale-image/Fortran/grayscale-image-3.f : ed4d53de1d0437d3fbc830ac7b75a48dd373f181183cbb35dc0c1fa2b23569cd
-RosettaCodeData/Task/LU-decomposition/Fortran/lu-decomposition.f : 22f355bcbb4085283f812c3b80855daea688ad3861f882c4148a510231bf085b
+RosettaCodeData/Task/LU-decomposition/Fortran/lu-decomposition.f : 762b77c67d3d64805356c77b38a87bc65ab9e8bda75f0ffbd26f44951dadac00
RosettaCodeData/Task/Long-multiplication/Fortran/long-multiplication-1.f : acbc61418d79d708837c1dd7780007bca8de3390e5474c5c3de7c4e6abf04f2e
RosettaCodeData/Task/Matrix-exponentiation-operator/Fortran/matrix-exponentiation-operator.f : a45ce9e65278545613d72f1cea16406f5484ec12ad5e721fdc4e9ab83c1f27ce
RosettaCodeData/Task/Polymorphic-copy/Fortran/polymorphic-copy.f : a5a9a5568a06157d085f5f1879a6b91bd1d102a0a63951ba451bda00fe2d702c
RosettaCodeData/Task/Quaternion-type/Fortran/quaternion-type.f : a331a9ff10e9cbc8b2d5fbdbbd56e2540a555a029aac61425250bed548fc28ab
-FLAP/src/lib/flap.f90 : ede822789085ebf4020e55ae99faaaf95aa83fbb8d97b7adf0e46ed83b284a8c
-FLAP/src/lib/flap_command_line_argument_t.F90 : 62b5ed6b634debf32335d1a34a1ee789380a9288d8c09c78af602b9b835fbd58
-FLAP/src/lib/flap_command_line_arguments_group_t.f90 : 4cec59ae5e75db56eed6b64619d7b1d0a3e90ddf548392ddf45c67080a9a4b44
-FLAP/src/lib/flap_command_line_interface_t.F90 : 486ac2a82ba1f73e973735859a1412b78866d1cea376d918c727b460a4aabbca
+FLAP/src/lib/flap.f90 : c58b3b5cef0ee0236afe6b31a7df7a98d8dd1470779f5eaa79f21b5cd527a351
+FLAP/src/lib/flap_command_line_argument_t.F90 : 46b79cfabf4277aba48f1dc8367b7816f37a3ceeb57ecd191b84d976093857c4
+FLAP/src/lib/flap_command_line_arguments_group_t.f90 : 123296e964c9395a86ab97bda1648709ecdba9a2cf8e4ec087fb763f69b2dd3c
+FLAP/src/lib/flap_command_line_interface_t.F90 : d4555c5067c530c9598b3e8455299f90068a2c4f6d8eeb8cbc09af9b84109ed2
FLAP/src/lib/flap_object_t.f90 : 243a91989d3936da04096e529d4d4361e5f5b7d5c25d013507309fcddea8a852
-FLAP/src/lib/flap_utils_m.f90 : bd18b5f6226ecd9cab045897ae9d732d005f62073f8ce2ff276776b1cadabf8d
+FLAP/src/lib/flap_utils_m.f90 : 19b466984db02e26ccfd9d218d9a070154bd9fe361c4999f918bd907dfaa9d71
FLAP/src/tests/test_basic.f90 : 2e9a6df732135d38e4d28a2c07474ba36e74ce5ed507428bde3b6ce6e4ed5b72
FLAP/src/tests/test_choices_logical.f90 : 3f110cd34af712ea6b13bb9fa71df09a24222031778633b3aa48d5a21b0f0448
FLAP/src/tests/test_group.f90 : ff70c14558f9f12d16d085b1e8808e0ae1f288a8ded89f363db38089708d8ce9
@@ -1938,20 +1937,18 @@ FLAP/src/tests/test_hidden.f90 : d7ec93d37518ce41f035bb4568c67f3dff7085d22fa2e1d
FLAP/src/tests/test_minimal.f90 : 9bc80e1893e060514d3ac3aa46de0064dcc697abc1ccdabb6103b4e94c40d9de
FLAP/src/tests/test_nested.f90 : f1fff1f3dedc2d19fea72e1b443f0bd62c8ba9ce9d653773c0bdbf0235b6084b
FLAP/src/tests/test_string.f90 : 02cb543d9f2ecb27dee616b3e5a570ae026f4e8d2c6556fdd9aa868f29512a94
-test_invalid.f90 : 45514bd722d41f25504452820ced31106e4551443f410246be55e84429939daa
-test_namelist_block_select.f90 : 90257fe1108c8689002b470e2e2620c2a0652ca6465ba1a5bbbd6667e2339be0
-cp2k/src/aobasis/aux_basis_set.F : 65083615048c6b27ab52da62e7cc6b7ddc6da437917c3b1167739a8194577ead
+cp2k/src/aobasis/aux_basis_set.F : 7ca38bb7e9fd097984b8e805cf70f6824bdb8668b72ff55d5f0ea5d987627bd4
cp2k/src/arnoldi/arnoldi_data_manipulation.f90 : aca384f26bf61dba98b18313c5b82c30573d1d8989a25001b3c55aac33abd29a
cp2k/src/arnoldi/arnoldi_data_selection.f90 : 8a821f5d55cb6aac362f6c5f73609c3769efdc6f3a61c33d43bca376435da0d7
-cp2k/src/atom_sgp.F : fd3ab40964f812e80f6f11e66106c631c3b911347a7e9560dbadfe422116b4b7
-cp2k/src/auto_basis.F : 6e1887cf65469e6ea6f8282f44d7589da92c42f258b4501271da78b00f68dc8a
-cp2k/src/basis_set_output.F : 4152fa51a9b455e77de68456d2820036d5a5a577dd90df555a64aa8152bad0db
-cp2k/src/bse.F : ee67a80b01ef2c8029d65620f50b9dcafe59ba96d2c0f9ff366181b4017a0e55
-cp2k/src/common/cp_array_sort.F : d0867a2133e51558707f652b32ee31415b9408f1fa09fab3d7181f69a7ab621c
-cp2k/src/common/cp_array_utils.F : 175b68ad2bd9881e71bb55a3dbfe6f3b5157db4cadff60facb4630c2ad4491e3
-cp2k/src/common/print_messages.F : ab85a2a33c5e06f2f4e9b025970495bbe62cf19cfa5266a43b6110c6bcdcce49
-cp2k/src/common/splines.F : adf4d4aa13b336402191212808fba0c1a0f94558a389c191e6548b07c2f7d252
-cp2k/src/cryssym.F : f1381cc217730f21366c16d4e257bfbe4da86f97b0897cdd4342f29e81adda09
+cp2k/src/atom_sgp.F : 21f3dca907304a790128b5ef51de58c6cd51a81458a3ef9d52f8433160b22269
+cp2k/src/auto_basis.F : 23e366d56a9a517a9945fdf559c6fcde88db14101e42cb412478d17760a59898
+cp2k/src/basis_set_output.F : 904a8f5400582edf469d34ec500f8b1f5cd06dd766ce62f1bc8cc44105ef3331
+cp2k/src/bse.F : ab9f7afd0842609a602ec8036ac822dd398d51408b94f6c5a99eaa7cc1122e87
+cp2k/src/common/cp_array_sort.F : 5e9a000fc3a2b4709b804b38e1ffec3c67d68db6d4322411bf899b0fc19284c8
+cp2k/src/common/cp_array_utils.F : 7b4d74603ccbcc4625e26b5ae1a21476e27e59c685935112e8530df1b5b2bb25
+cp2k/src/common/print_messages.F : 75fc7804faac131886bc79e2e90df05eea5b8231b99505fc68ce62b8199171cb
+cp2k/src/common/splines.F : b8e5778e2c885e259879c2f0419677b9ca2f144b4f7c132743c94a8c96b54b53
+cp2k/src/cryssym.F : 66d31aa36404302e2633e96a2a7a1e26ca41cf95f5d790df9af0ef9508239e54
cp2k/src/dbcsr/base/btree.F : 2639cc168593518edccaf98bf0814b4ea328f041f8c2a62bfaa8294118b3608e
cp2k/src/dbcsr/base/dbcsr_array_sort.F : b901582d39b0cf110158accb36c11032ed5c52f593a41e3a12178ffec5af1b0e
cp2k/src/dbcsr/base/dbcsr_hash_table.f90 : fcb9d16554914dd1292d4698997a99ba04fb10f726e17a1d685a57e2e2462fee
@@ -1970,62 +1967,61 @@ cp2k/src/dbcsr/mm/dbcsr_mm_hostdrv.f90 : 53a053119d024fff8933693d87c813d00e35789
cp2k/src/dbcsr/mm/dbcsr_mm_multrec.f90 : 603263a159608befe6ccfd9d1eaef3a917c8a26469db12526a4f5e1e7fde0784
cp2k/src/dbcsr/ops/dbcsr_operations.f90 : 888ed22be29afd4e055fc925c7a6815c0469c9472aefa4cee2d9ee89a645c11c
cp2k/src/dbcsr_tensor/dbcsr_tensor_reshape.F : e0f8c8cb35f894dc0deba6b655cb6f295c46b5093a5406be7c539bfd1b2247a9
-cp2k/src/dbcsrx/dbcsr_vector.F : e97c4ee6e4c405eda0ba560a066a5c849b4e621554a518fed25117c7790aa921
+cp2k/src/dbcsrx/dbcsr_vector.F : 8c1801f0861e40463f7404f6e652b05ce30c02647d36c9d190e99619592279ad
cp2k/src/dbcsrx/hash_table.f90 : a1ac17f5a65054510fc36d39698d50f005698c92b5bc09439d6fd29703f3fbb3
cp2k/src/dbcsrx/hash_table_types.f90 : b95451ee9710e1f3569aea34197ede390eec326153a2498d7c60f0505a159371
-cp2k/src/embed_environment.F : 7af7d2897e2c321688e53f64ee312a71c9f4520de9ceb1caecad245fec959faf
-cp2k/src/embed_main.F : 43f98cc44fd69da2c10bc8dfc02115f24ada0281b8e96c22ae1a5f705a7e77c9
-cp2k/src/embed_types.F : 5af488eab75b6f7c9b1cff5904921ad034b437a870fca3deffed170ac5a01e5e
-cp2k/src/et_coupling_proj.F : dd9ee19656a9e16c8fbbbeccc6ea1457b5e01f1a06e7f45141ced038079902d1
-cp2k/src/fist_efield_methods.F : 123ec57413c1071c67c32622b894ef342af937b86e915d1c34fe04421d4258a1
-cp2k/src/fist_efield_types.F : 9f311fcf5a725fd470301a674589c5851ab87af3e616a3d2d53ba59ada22e2d4
-cp2k/src/fm/cp_fm_diag_utils.F : b8d4d5041bf4bc06cd5c5f2b3bf40b8555798464a70b2450854c4f3f67fe1032
-cp2k/src/fm/cp_fm_elpa.F : 8f4562fd029b84c96f12e75f4a45a5ce213506a0b50ce9eb7ef3698efa2a2806
-cp2k/src/input/cp_linked_list_input.F : 5c1d4b48d70b1bc39ae6e3373e775def0b540a5cd9406b5e621345a6f60fb366
-cp2k/src/input_cp2k_embed.F : 4a46799866e861fa16689e2b4225140bb80d60e317050797c73dc17330726320
-cp2k/src/input_cp2k_field.F : 0d7ed5b331260ed1c012e9f6b173bf84c40680003b72c947e816cb15623b9896
-cp2k/src/input_cp2k_negf.F : d05b776ff1e3fc2d2d10cfb536b67d588d08e217a751de737dc7240a8840626e
-cp2k/src/lri_compression.F : f543d29960ce484d2f2e04e2b7ec6ecbb3688b390368ed47212effc2165b73c3
-cp2k/src/lri_integrals.F : fac3be8c97eeac7aa2f863ee13b85b0c818b232239c67c8744b5f0472ee665a5
-cp2k/src/minbas_methods.F : af7dca2a35f2df50ed453e51551a8ab3e0060d6ff1f2eb14614d5dbf6ff5057e
-cp2k/src/minbas_wfn_analysis.F : 0137d1e8b0a6f9ac98bdd4a34fbac9ce8a4efa6e44c639c84c31e9721fc8aaef
-cp2k/src/mixed_cdft_methods.F : 018349e7e47873cd1d603f1e27d305294840da7c9f99587d1b2974af95c982a5
-cp2k/src/mixed_cdft_types.F : 85e9387673f7093ec8a33e31bec0bf796495490cd4ae2dfabed8e1a3f8384be5
-cp2k/src/mixed_cdft_utils.F : 0f295d485cfa6cd6da2b2a1d009dcefff24fc4ddb46b2e9e20c9318d399501e1
-cp2k/src/motion/helium_worm.F : 7a407116e332859decccc20540b2eec6b94f0e10b12c5c2879fcf09dfcb1715e
-cp2k/src/motion/pint_qtb.F : d35344e5eb66166f40c1263c9145758e9e066317c439c8c05047c3989e5d2c6f
-cp2k/src/mp2_eri.F : b88dcf022ffd840072e715ef662414d023740eebe29d935b0aafbaba600b455a
+cp2k/src/embed_environment.F : e3d4e2a523abf521370392f8a22acbc342775d5ca513635afb9297367fbc25e6
+cp2k/src/embed_main.F : ff3803c064089d8d9f161c01f9f84194fd3cec41dd6477c8d69a80ed281efd74
+cp2k/src/embed_types.F : ae92c74d7dc5ae9234a468656c1b5929cf7d60120e66606f5d2baf3a0e77229f
+cp2k/src/et_coupling_proj.F : 38b42d034bff4f7cbe0b4b24b8cfe77a6ffafd12f96bb1d88e4ec27b05838760
+cp2k/src/fist_efield_methods.F : eea2f71bfa2f23f8530931c812061519f363d951d0032b6a342c54839843efeb
+cp2k/src/fist_efield_types.F : 3f9b9a4314723b5551b9b7a8daa574301f8b2775074f16b0858c73ebe08c00a3
+cp2k/src/fm/cp_fm_diag_utils.F : 03eb9218e3b5509c617979d517c81cb1d22807b2b423d1aa7cc70ae963622a8e
+cp2k/src/fm/cp_fm_elpa.F : 7a7c89dabb4afc443d8f4987d5c01844d5d2913241b03a3f4cdb09eb5dfc8296
+cp2k/src/input/cp_linked_list_input.F : 7c56e6f935d19b35b9d2a83203b84cf9104efa8a35ef1a37676925a9335217c5
+cp2k/src/input_cp2k_embed.F : 2e6ca1052336257aa9af101df26e0861191c8477c1eb591df9f26c5d54827035
+cp2k/src/input_cp2k_field.F : 9d66a297561468bdf53b208d21a96b88971c7f41b71c25ff199065a841a75e94
+cp2k/src/input_cp2k_negf.F : cf52369ce69c98796ca0da126eb3af3f9426004cc2b0975bb26015a86467090a
+cp2k/src/lri_compression.F : f0a2ae0700bc93878e57aa7629d20676f6b3ad9173afdf1ec1108931e8592895
+cp2k/src/lri_integrals.F : 1d87fd1ed4bbfb41f9efa8fba067c9f9b00c737381d1268247998f76832aa234
+cp2k/src/minbas_methods.F : 09679454bdab1e0de9d71da59be65b948bb87330c7437c48b48344e80cd33bc6
+cp2k/src/minbas_wfn_analysis.F : 56f8dbcd5e38f95d659acfe31f8f68e1816d2cd37259a2867a3f42e0fd467931
+cp2k/src/mixed_cdft_methods.F : 55c1d475444848739c53b6c3788c49577fc8363e25266534de6322b01131ced5
+cp2k/src/mixed_cdft_types.F : 16a50f031c8a1f1dd66948fa9f6f642dfe3a51e6d81bb0721e92e2dc4c3be764
+cp2k/src/mixed_cdft_utils.F : 12a2134a56cfc39397d218db078e9b1c3ed534bc255bc1f2b1ce87109e945f55
+cp2k/src/motion/helium_worm.F : 44afc35f8e87ea841d1e667a0625de418a41c8c203f088c1829981c67e118fb3
+cp2k/src/motion/pint_qtb.F : ca781de7b978436a39b46e932b3b03b2231adeca45a5b7748ab90473d9e2eb29
+cp2k/src/mp2_eri.F : 5e698e27089b35315a9b0bf92065ae8f2d3fb55e8a230ae2c14d8d9c020b2667
cp2k/src/mpiwrap/message_passing.f90 : d6f3daaaa1f1f06207891c984d8ee5401075f201ce9f1869804c4b403eae47d9
-cp2k/src/negf_alloc_types.F : 37f6c5a6cba77b77582a2d49cd506d6b915c370bc9535ca9a2cd45334daaf0bc
-cp2k/src/negf_atom_map.F : dab43034d9b0fb9ea584a3e23da2633eab58f8f1be0b1e92976159d057be1bf4
-cp2k/src/negf_control_types.F : 25a711c6f6426dfdfa3d34f1a4fbd00804d3b06a90ceabd5b62c48897a887c8b
-cp2k/src/negf_env_types.F : 0581fa71d6c89d1a589238b9c2610e3731d9497ad1197295145971a54eacff0e
-cp2k/src/negf_green_cache.F : ca103cdbec5a9079caa5e2350ad743d7795026144e699dd2f85fd6aadbdc6b3a
-cp2k/src/negf_green_methods.F : f59a220eb334cb97f0367f62835a1f6ebe404a886add47900aeee7ae85702a42
-cp2k/src/negf_integr_cc.F : b5d1152ab0ae7dbb54a2993aabe02bf1b25c368f26bfb98678c1c33e7230cf5a
-cp2k/src/negf_integr_simpson.F : 48a922c513268e4a56520ba3b7c8987e4142da45c80c4c278145b466dcc6ac36
-cp2k/src/negf_integr_utils.F : 4d0aaa5ae10b50b6bdab77fed71c72e3e6725e6cbe123a804507395a3b879e44
-cp2k/src/negf_matrix_utils.F : 7858afa736bca31adfbe8e282078df660ccbfcb3717467e496f10e593a8882dd
-cp2k/src/negf_methods.F : 9182014c244432ec11fb9cbaff958f67b39cb7e1cb0a4dd1388a01d35be1185d
+cp2k/src/negf_alloc_types.F : f06c6ce70614952fccb99da2f2541dfbc145dcac463fb8571ff6eb76de03d1df
+cp2k/src/negf_atom_map.F : 9ce923533047c12f4c7383dc87ed19961798b436854e34b0135cee0d8ec84eb9
+cp2k/src/negf_control_types.F : d54c93f9743b60123861a30852d50defef78667ab4137d928ba2d21426732166
+cp2k/src/negf_env_types.F : e6844bd4154015505455a4934c31e094697884b250ad352f330622d527e23e75
+cp2k/src/negf_green_cache.F : 6f0c96c9053727a71f2129ba5a2c2c27b9503e3fdfea2f767130d6f2c43bac18
+cp2k/src/negf_green_methods.F : 3d4d0d3b3c49d8b8beea55a646df2ac65cb967970695335995906042345901c3
+cp2k/src/negf_integr_cc.F : 2624ab5715311313d66381b794d3a34e673e42bf7b36f123ac61b3faf9a860ae
+cp2k/src/negf_integr_simpson.F : c64b87a05fe3f60e36fd29e9d300f14e082b56d9b94794dfdb58ca17a4b8fed0
+cp2k/src/negf_integr_utils.F : ebbe8d1b610b3e9e3c4de6d9c1b900ab485a366ee4867aca306a39ea7a095950
+cp2k/src/negf_matrix_utils.F : 5b9e0c77089773770b42fe89f0a2ddd716ebc334b07becc9f50ec5e0f7a7d645
+cp2k/src/negf_methods.F : 3d12ffbb95ac4dc0ec4fdf6ee9dd2c169554a5a3b7550de607234ab6c9b3b430
cp2k/src/negf_qs_env_methods.F : 71bd529816ff4f3ecffe7b9eec3daa2b54d8c9a8b41aa55d19937124a11df73f
cp2k/src/negf_qs_env_types.F : e0f7949e4e8b58bf9fc25f9c11264625a9553f2d670c7384e943e5518530d8c3
-cp2k/src/negf_subgroup_types.F : b34493894b11ccc74ccb37ea79081aed0a99b89d9958bd559a4cd5c72608eaf4
-cp2k/src/negf_vectors.F : 97b057de895042915da836d1583d7440c83904dc6dea19ea56d781079eb6c457
-cp2k/src/optimize_embedding_potential.F : 1ef7a20a5f7c994aba1889fef127f0a2d9b68378a4415cd55f15f94ef35ce178
+cp2k/src/negf_subgroup_types.F : 7b630f3b8aa2d1a6e054fdd06523deb092cd9c457f3c5e0e6b683d63d64f8d6c
+cp2k/src/negf_vectors.F : 7962316b179ae4f1e5e45bd3f0827bd76286a05203b9d98388cb317a49b09994
+cp2k/src/optimize_embedding_potential.F : d7e895a2b512c2b1f146e9ba1176b497dfc6fdc43c9f3c679f88bc817aba6ded
cp2k/src/pw/fast.F : 79dd7ec95d8ecf85598e03a10453f62da534a2b314cf5769524bcce07192681f
-cp2k/src/qs_cdft_methods.F : 1b83b0a7a275bbd42b5b5d3ecfba3527bc815e41b3485945123ea1d1f563dd7a
-cp2k/src/qs_cdft_scf_utils.F : e632c80b65518d19a5fb4247e082546c9362e66125ea35463f82c3aea4a81556
-cp2k/src/qs_cdft_types.F : 76c7ae9eaa2307037ffff69f03a3ce91753ca9daf49328bd1150d578cf983130
-cp2k/src/qs_cdft_utils.F : 5da008663a3ef3eb22f75a1f26667d59e6a9ca39a30f3289440151f9a042e423
-cp2k/src/qs_o3c_methods.F : 21a8ad3238a46c7bf1878c9d95e6c78172fabe478f283bdccb5516d08135ca6a
-cp2k/src/qs_o3c_types.F : 484534dfb821270155d723f00de934eab30ad377c7464f5d1f0efa607ea34065
-cp2k/src/qs_tddfpt2_subgroups.F : d04a6592dee89d8e41776941ad3e2b361420fac2283a6b3d6be128b0d97a946c
-cp2k/src/ri_environment_methods.F : bf64cd18189e7b2b5e5dc528f4ee763fbad26c044cbd1fb3cb95b166e2e10b6e
-cp2k/src/spglib_f08.F : ea63c60715afe82a8979ccecb61667ad5ac3a5df42be2ad6ccfb943d3c4ca59c
-cp2k/src/subsys/molecule_kind_list_types.F : 93417de5cb78403d86dc551d76d99138bc5731500e8d011ac2892ba5fd63f0c3
-cp2k/src/subsys/molecule_list_types.F : 1b36eee003af179f23d512eaa96182e15f4de486f2116010a129e3de0e63fcc3
-cp2k/src/subsys/molecule_types.F : 0ea8cd22459bd7c4ecb8f1f15f94ab7053eaf15c08fa97bfb6b6bb459cb6aa5c
-test_fypp.f90 : 31f61e4343e01cc9a981165b2905372ed51236653e304a5948990672df2510e9
+cp2k/src/qs_cdft_methods.F : ccbacc9967ff8f63299f9fee55e9deb1f69a141d32428181ef62ea3cfed1aa09
+cp2k/src/qs_cdft_scf_utils.F : e539d0f03202d038f2c22a23368d242de119b28e818c8f2c82a54c811683c5fc
+cp2k/src/qs_cdft_types.F : dc4c6cc5d49d59b0294419f99c1b692c12cac072d4830c9fd707dc2d98cb8adc
+cp2k/src/qs_cdft_utils.F : f4f78d359d658c3b8acac0a1c347c64a02ecc0d00e9141a3305e62329aaa8cfd
+cp2k/src/qs_o3c_methods.F : 8b91ed5e7186f3a816d855799fa4a57ea2a1f0c35233ff038162d768a2b79535
+cp2k/src/qs_o3c_types.F : 65f247856cbc8c0382ed1b79d7cfc6292ff1c6a82381807a1854e714d28c5236
+cp2k/src/qs_tddfpt2_subgroups.F : 482a2c10c0d5cab65e47155eae6bf6196224c98492d8c6f12808a0e9d8260e57
+cp2k/src/ri_environment_methods.F : 380a26dd4afc28512efac51d53e8554b6883ce5a45851d6a58493c838ee5d904
+cp2k/src/spglib_f08.F : b0220aad31e57cf3e02bfe897c79b9d7f996a0d9f2bdf67f7bced42684e4b841
+cp2k/src/subsys/molecule_kind_list_types.F : d847b99600e0ebfcc72a3206e6fdde36e77e5307bb1999dd8db340f0dde96f1e
+cp2k/src/subsys/molecule_list_types.F : 30fe9d055adcf1ca35dc6591c40f13a80edadb57aec288fe8ff76dfb20475fe0
+cp2k/src/subsys/molecule_types.F : cd86e0bb34fdcedae6ae3359c4068b357547648e465542400f22d2c391a8ef6b
wannier90/pwscf/post_v6.2.1/pw2wannier90.f90 : e41bc8f625bd729bd16ef8ae54b3e9bb909a6cc606d75c72cf9f04f47272f7fe
wannier90/pwscf/v3.2.3/pw2wannier90.f90 : 9db89aacccc86da7297c2cd8b38eaa118ca9a917e2c5c10f4ac782cb7f723eb7
wannier90/pwscf/v3.2.3/wannier.f90 : c4d7d9c40d3459f837283474545ddcb922a776ddfb6f30866c9402351d2047bc
@@ -2036,35 +2032,35 @@ wannier90/pwscf/v4.1/wannier.f90 : 0c67c6db339bb539ef9768aaf44d6368fa00c072555d4
wannier90/pwscf/v5.0/pw2wannier90.f90 : 6314dec30eea44566da2a467db7a04d3a9ae98b483704fd69c7469dc1abef233
wannier90/pwscf/v6.0/pw2wannier90.f90 : d2eea7336282e6894711325d3546b0ea799c6762913899722fbbbff124d3e7ef
wannier90/pwscf/v6.2.1/pw2wannier90.f90 : 3d5d74b17db9b8b6c7e2a69bd57bd25c603686ed8e58abcb6e6252ad200263fb
-wannier90/src/comms.F90 : f110285843cf3a96e18baf01b6ce732d995fb71d06e0739ea5aefaeed5b7e3e9
-wannier90/src/constants.F90 : a7df2ba8586d67eef25b11abd4330cad12af5ea5ae3cb4f59b5b54435734cd58
-wannier90/src/disentangle.F90 : 763f9f0a4ebdcc80366b06fa3aabcc4e17655397ac14ba755271bb9db0a0cd6c
-wannier90/src/hamiltonian.F90 : aafc43b273c53ce2cf5321fb7ba19289f7f955e381e456146995b329a7f426fa
-wannier90/src/io.F90 : 6a830e6149ca2626d0535aa5a02b364296c195d9dae0df890fefc4538936a144
-wannier90/src/kmesh.F90 : 9a504d056cbfe105c8dacb5a2663d76b1544f54d0c03b694400a01689814c1e7
-wannier90/src/overlap.F90 : 4eb20a488e88c3d870fae018016cfae2145992a14bec009cbc809909e6189a3a
-wannier90/src/parameters.F90 : 58e1a99e384a1161fa49faee7e895ad1f9cae4ce751bed007b4826f3180dbf20
-wannier90/src/plot.F90 : 974871fdf73022eaa5b89872cb30f654b53b3d65542c3a31fa8d183de67af968
-wannier90/src/postw90/berry.F90 : 49ef18b76b3d88ec81b9274ea418de2751ab0cc1e158c858259d8e9a49a53c8f
-wannier90/src/postw90/boltzwann.F90 : c1d6b47e3c41866f96567cc6fcf356de353a89787968b55a36dbd81bf182e006
-wannier90/src/postw90/dos.F90 : 9e8b4819a3c962782dbabc9af9baa591bbe8a9de65ff1672bb83d6cd30c393b6
-wannier90/src/postw90/geninterp.F90 : f47f8cf3b599559733225a0abed12324b642a4de470a9b81dffbef3faf4da940
-wannier90/src/postw90/get_oper.F90 : 2499175db38a26946451f1f846207c6561a4a113999545f1adbcaeb34943a602
-wannier90/src/postw90/gyrotropic.F90 : f00ef7a5383f61237b0d652f6bc03757943685d1a57671e59fafb10cec8ad182
-wannier90/src/postw90/kpath.F90 : ddaa9ee214bfa148d4374b5ee72b9d5b93b822d3fea86799feec382cbcef4c9c
-wannier90/src/postw90/kslice.F90 : 0378eec2a4ba0ff1de3115189fd4945bc8a60cdfb8f0a974c2ae452a462b8a2b
-wannier90/src/postw90/postw90.F90 : f4fd369bc95151584d88029c08409901a3701f7c4c37a6ae15265a3cb198287d
-wannier90/src/postw90/postw90_common.F90 : 3a851e61ca8bf373abaad02fd5dd4287ae831b2aa6efba0acfa49bfa9f5f2fbf
-wannier90/src/postw90/spin.F90 : 6f72f54dbb0221318d03058814ff9e729101638c3946cf0d72a904248cb726d0
-wannier90/src/postw90/wan_ham.F90 : 16ebefb0312f62e1fe188d5747e02be9712c0e80afa38891696a345a0246fbce
-wannier90/src/sitesym.F90 : d0aa8c2f86c16a3485ea3c6e5a53197a687aef08b6b5a5978168f28713b41b16
-wannier90/src/transport.F90 : c91848ddbdf3e573694bfa567589bdbf1f2039aa1dd4d9982874d59e6afa32e2
-wannier90/src/utility.F90 : 66af442127ae9ae30f2114140a4a8147c6cce9a5fc5c7a776d1b33a28b701eae
-wannier90/src/w90chk2chk.F90 : 38fbfea39ce8a71cbf4b63aa619d42093f52a114c6943f9bde717552d0f5272b
-wannier90/src/wannier_lib.F90 : a40c61b2be8ba0637101798a6a63f69e435994f3d8c50edf703255d870ab063a
-wannier90/src/wannier_prog.F90 : fb1e82046071a805a8cd520bd595605d2ca5b204779ed98647cd86231ed5f8a5
-wannier90/src/wannierise.F90 : 567a4ed9c6721e84ba4a39a80b61c780a8aca6d94662643bd5ac7079a4a2abf1
-wannier90/src/ws_distance.F90 : af6bb808c9048ffa8b5cf7c553bab218970a4e8b8a3998326bf3accb20246f61
+wannier90/src/comms.F90 : b18775eeec6f947738ebda9d353891b0b10d0717960341695ac8214fc22df34c
+wannier90/src/constants.F90 : 531427424c09d44e5b6c1ed693272ae46d48bda886ad81b6db557918f7232634
+wannier90/src/disentangle.F90 : 6be7c0e64ec6331bf9e927d539f6f2baa851dd70b5fcf9d08b559dc88700f073
+wannier90/src/hamiltonian.F90 : 89b2eeba22f154e6abc8bf2d74fa9fe7fbf098f37a3c840ecb6c0cee14e186e5
+wannier90/src/io.F90 : 86a6fed6cb37b805c3d105b2a174fbcc1514f67aaa294e528e57ca524ec55a51
+wannier90/src/kmesh.F90 : 3b5966ddb8a11d244755f5410b9379cfeee5f03ba9a444fae052e2ec5d83f8ad
+wannier90/src/overlap.F90 : beb4bda432b5842899802b2309b4298b9bfda379f196fd76780b2b454a100792
+wannier90/src/parameters.F90 : bed13ab4c6a24225c753a6f33f27a573d39af568ab0efd32dd10613e5fc3d982
+wannier90/src/plot.F90 : c106ebe4f18b3bcb7e37ddfb58cfaf3dc663b7c53c732f146a9c83889c6236c5
+wannier90/src/postw90/berry.F90 : c7600967647028fc78c209e9417159c18f2042db570a16cb7ce07ef78920bc16
+wannier90/src/postw90/boltzwann.F90 : d14eecb235ad0a605ef92557b4e6a10b4d6b8a33b370445e47b026b8d938d956
+wannier90/src/postw90/dos.F90 : c09eb993799e529d71479dc925cf1bf9cf0e17801b1f025ca0d7409ae488fb10
+wannier90/src/postw90/geninterp.F90 : e6e221dd2fccc8e2d99b1348ce39344466dd96a0011826c06241f1e0fdf3eb3b
+wannier90/src/postw90/get_oper.F90 : 40f29159e452bcf146048e3018df95346ae10a91bd13ba9c31a7611a3b0941e1
+wannier90/src/postw90/gyrotropic.F90 : 2308f269c17961b7a98550965d1d0270fb5c7bdc5fcf23ed1ec632f19eada137
+wannier90/src/postw90/kpath.F90 : 0f649944678e19d14fc7d1c639c5c7f2f65bdf6f5b0b1908b80d73379fc96050
+wannier90/src/postw90/kslice.F90 : 5565980aaa4e37a842ec5e8311068555f3def7e729066d8921125236ed11b1c4
+wannier90/src/postw90/postw90.F90 : e9a57ee888a82373e2a8aa52de1cca5f798091a1f8522f5d793b14397e728521
+wannier90/src/postw90/postw90_common.F90 : a71cb46fb9bee885e6da4f07ff9949fec1c57b344fd4f44959e1580a97903c51
+wannier90/src/postw90/spin.F90 : b9e3b3f5451436ddfe09b8a8e413798dde1da72a082ddf6380b337d61cc87dc5
+wannier90/src/postw90/wan_ham.F90 : 36911b45c655b13580d5f8a939c92454ab0417f8581253a9d87033b186f22661
+wannier90/src/sitesym.F90 : 32f70021d2d9aa8a872a4f9b77fddba5a35c98d00bdc7c30204430ef88a95a35
+wannier90/src/transport.F90 : c819c2192304a4ee56d0c8a4cc6136403cf05907faf508e7027e1c5c62c16ab0
+wannier90/src/utility.F90 : 89d78179cfbb0cf2ecec93f646a307e3ccf7f55fdddbe552d1439ebca060e865
+wannier90/src/w90chk2chk.F90 : aaf42413f26a43e023c879cbb685a70aafcacb2b3d74c1ff394c6e43550496f2
+wannier90/src/wannier_lib.F90 : 68b7bc6631137b73bddf50282b87dc4c5a8573cf36bdb7602324e475acb42f29
+wannier90/src/wannier_prog.F90 : 18e966aec17d472891c6cef8224874663d3f712fbba9118d08eeaa2940627422
+wannier90/src/wannierise.F90 : 5b0a32dde5a8825f95720967fd3259e4cd8428249a3b01f515367ce0f9a7fa7b
+wannier90/src/ws_distance.F90 : 8909d4f3242932329163d01fc7c152cbb7990428eba06eede82c0c06381833d7
wannier90/test-suite/library-mode-test/test_library.F90 : 547d77cd073f6b528c4b52f46ef995cc1110bfd6709da1dfa060e6c0323aacce
wannier90/utility/PL_assessment/PL_assess.f90 : fd1b6a460c8e38d13e3d64cf8500c69e6eed8c09eb4df8355d6cacd6f3e779c3
wannier90/utility/w90pov/src/driver.f90 : c33f71a1ff0623c123a1fc5cdfc0645e0f9ab17baed3fd3db17dd5ea7ec71337
@@ -2072,16 +2068,16 @@ wannier90/utility/w90pov/src/general.f90 : b5890961d48ed0a36eb4765c6bad256c40036
wannier90/utility/w90pov/src/io.f90 : f94395ea15e49e158fbccb38f6981b3c9fedeaa136bf191ee74b77ee20463081
wannier90/utility/w90pov/src/main.f90 : b16704c5bdaf59a34bbf98d6639a6322a14af2ee6370502593b560c080c7d424
wannier90/utility/w90vdw/w90vdw.f90 : fe958ee40a37b13513895baf87c37bf9828fe5da1dfe5518142e486da495f3e7
-cp2k/src/ewald_methods_tb.F : e7197bf42d953a86ad91d1031b91d17c111a5d2f6dba465dcfdb216965ae7f48
-cp2k/src/input_cp2k_pwdft.F : 5dfdd093a43873509a49d622519179710e8bfc5a1ef4067312f06b9020cd4f13
-cp2k/src/integration_grid_types.F : 7aace3c9c4e9e2151a1bcda9fa747973e9362502f87d86e44393e4fa29efc28e
-cp2k/src/kpoint_coulomb_2c.F : 5bbb054c8c7ff731ca8a37bf5dcfea778f138909358559901aac396c18aaee1f
-cp2k/src/optimize_dmfet_potential.F : 346009e1ae1d1b1ae7c7592a75d61dc11b81a114daaea7846f33990e9d06cae6
-cp2k/src/outer_scf_control_types.F : 59dac1bb449f1819da546c4cdffe8e608d8d669b191ce87201cae0e1f0856095
-cp2k/src/pwdft_environment.F : a5c4e2dd31737ff9753cbb5d2b158dcc6055c23695257a845c7fa9150c54c713
-cp2k/src/pwdft_environment_types.F : 74bcf73effbfd9b999835bd73a126f4bac1d1f3d5bc4a1554aa8fe9c03c90b8e
-cp2k/src/qs_cdft_opt_types.F : 380222553749a1ba8094d60966ec0b65a2b3610c30e64c7b71083bd300f3bbc4
-cp2k/src/sirius_interface.F : 6787efd0886ef609f534e39a6a390473502d6323f70b905e8c81b7add87660c6
+cp2k/src/ewald_methods_tb.F : 6131f4a9c793162c4e3b64be46f99e9cd9850fd429b3da2f62f2abbbe8b5cd2d
+cp2k/src/input_cp2k_pwdft.F : ec14205282d68d21991f026f22d1bb4c3638867c22dfbba460791e6b38fc45c7
+cp2k/src/integration_grid_types.F : 57e410d116a2a08c291c4ddd51043abcc05d88b09983667f04481e120495635c
+cp2k/src/kpoint_coulomb_2c.F : 2520c7a64911bf409807ae8ed5574f0b5a2bb3983edab5719863dec80defa094
+cp2k/src/optimize_dmfet_potential.F : 65cfdb807f34e4f803ab309b65e88a7c7b147e103db74d4b8e8ed4838f78b6d2
+cp2k/src/outer_scf_control_types.F : 4752d5968b0e3df2b42ab9884f819b77c1e05a183d7123c37dd62cc98ae7583d
+cp2k/src/pwdft_environment.F : 79938706cc9c5acc71a8dc339a7e969f4ab0bff0ddcb2782cc579eed0660c130
+cp2k/src/pwdft_environment_types.F : 596a93eab663dec1812d5a6605d202c49f96b87c53e6a575925ca6663ca25ca5
+cp2k/src/qs_cdft_opt_types.F : c932b942fca26716877d0b74ee5e267a264724f2e0f1265dc0eb387c222be866
+cp2k/src/sirius_interface.F : 6f61962e31e9fad48fb1bec28c0d446a5148fd2d5c5225e1be0e58b9917fd973
FLAP/src/tests/flap_test_ansi_color_style.f90 : 44c16501a896113b05884b65a75e52b7bd6bd00400495d724fb13e73fba7771b
FLAP/src/tests/flap_test_basic.f90 : 546f942f6a7d658e6db5ca5957cf6d6e6351c5c9b1d1cd849e32cc0666a3b7f1
FLAP/src/tests/flap_test_choices_logical.f90 : 393b3f711d95d953729953b14e1e3b33c7b11631debf25ff363ea89c0ffc7042
@@ -2090,7 +2086,7 @@ FLAP/src/tests/flap_test_hidden.f90 : 566a950f6bf4ad65019f9774e23a2847a25cd76eb9
FLAP/src/tests/flap_test_minimal.f90 : 7460b7c588fe8efc6f68b98423cccc394ca6db899dfab2c3e1e87bd2c253d2dd
FLAP/src/tests/flap_test_nested.f90 : cb4e4f453a1b3b4017178da7f5dcc0b03ede845ce091d87376711d075a317ee5
FLAP/src/tests/flap_test_string.f90 : 443c41c92018daf294e84bca623bcaf4000abeb32d57adc6e1156507f07fd02a
-RosettaCodeData/Task/Array-concatenation/Fortran/array-concatenation.f : 4b37ab011fd89565f3f83ebe658abcee73dcd48ef8f0ce33055233f5507d3556
+RosettaCodeData/Task/Array-concatenation/Fortran/array-concatenation.f : f114afdce26a7008c19422a2741ba6bfc68faf50404bdbbfd7d9699a524db1d4
RosettaCodeData/Task/Averages-Median/Fortran/averages-median-1.f : 3cd6c5021f1428d4000b978f401898259ed08728d1f04ad2dbd85dc4ddcd79d8
RosettaCodeData/Task/Averages-Median/Fortran/averages-median-2.f : e47613312dcdc4ce9f87f82c4378ae8d878fe819123e69f42a300fbc664b99ea
RosettaCodeData/Task/Boolean-values/Fortran/boolean-values-1.f : af8f8474a1877bf88d49d03f9fdfe6246ae1e6a39fd01f76b7f8f73c7ee7a8e9
@@ -2109,7 +2105,7 @@ RosettaCodeData/Task/Extend-your-language/Fortran/extend-your-language-2.f : 886
RosettaCodeData/Task/Extend-your-language/Fortran/extend-your-language-3.f : 7dfe7d5d2b283242a09ab4990d5917cbc4ea843a0856fb9bdc864bbf065a7f4f
RosettaCodeData/Task/Fibonacci-sequence/Fortran/fibonacci-sequence-6.f : 70743db8385634abf260dcf089c82ecbf645da4c2e62267bdcdd078629407865
RosettaCodeData/Task/File-size/Fortran/file-size-1.f : cc741b42b3b2820ff0062759e1f8be0a02763cacc3f27b593e5ca643e25986af
-RosettaCodeData/Task/File-size/Fortran/file-size-2.f : cb246eaa9454c27de3e5f798fc2fd5ea20a133a37aca66382dce47e301ae38ec
+RosettaCodeData/Task/File-size/Fortran/file-size-2.f : ac651b71be127b548cf892543459f8aaf51036bcaafe4732dce34b64e839b2a8
RosettaCodeData/Task/Find-largest-left-truncatable-prime-in-a-given-base/Fortran/find-largest-left-truncatable-prime-in-a-given-base-1.f : d976517e0d7f260cf0e765aac7d2e459ed600aea39b5149d440e7e9d7919e7e7
RosettaCodeData/Task/Find-largest-left-truncatable-prime-in-a-given-base/Fortran/find-largest-left-truncatable-prime-in-a-given-base-2.f : c8f98aa543c635d1ad0150cf5030bfde0c2c9ac34b2855c9f0fe5e00659ac9d8
RosettaCodeData/Task/Find-largest-left-truncatable-prime-in-a-given-base/Fortran/find-largest-left-truncatable-prime-in-a-given-base-3.f : 57d9632d5762b90dbe98b761f773549da310597384f9020fd896c773f660b21c
@@ -2135,7 +2131,7 @@ RosettaCodeData/Task/Rate-counter/Fortran/rate-counter.f : fd6b448a7a2f53b1de97e
RosettaCodeData/Task/Remove-duplicate-elements/Fortran/remove-duplicate-elements-1.f : 9282a4400871bd66a6073d310bf6b1ee4c0f2df1a41ad1fa78d5a62d0b70b346
RosettaCodeData/Task/Remove-duplicate-elements/Fortran/remove-duplicate-elements-2.f : 9734960a3fa2d403e71be11d58dd03eb055f00d629d07f24bdbaf0c2e2a3e820
RosettaCodeData/Task/Reverse-a-string/Fortran/reverse-a-string-3.f : abf477bfec3f7d53d1c9b607918dd61d2bed0984b9c2f7e2c754dc0fbeb062b2
-RosettaCodeData/Task/Sorting-algorithms-Radix-sort/Fortran/sorting-algorithms-radix-sort.f : 69078091d087d509cc8cf1755748f9ab01484594f445d583f992cfda4098eeb2
+RosettaCodeData/Task/Sorting-algorithms-Radix-sort/Fortran/sorting-algorithms-radix-sort.f : 8275b8fdaac3c16ac6500516ff4ac53b670b8fdc07f7a19b6601dfd1927921eb
RosettaCodeData/Task/Sorting-algorithms-Sleep-sort/Fortran/sorting-algorithms-sleep-sort.f : 583ee495dc60dd32c6c0f20ea5caeb6142e6a59ce2c8c8cadd5753418b9462ba
RosettaCodeData/Task/Special-variables/Fortran/special-variables.f : 73ced0b19ddb14d73878b52775af8a3164724efbc5904a7f2653c7cd192f9df0
RosettaCodeData/Task/String-case/Fortran/string-case-3.f : 55863eebdcb910e3c489f9e487b8beb21176d58e04bffa017baa38e6d5ffcdc5
@@ -2145,7 +2141,7 @@ RosettaCodeData/Task/Sum-of-a-series/Fortran/sum-of-a-series-1.f : 79200df738e03
RosettaCodeData/Task/Sum-of-a-series/Fortran/sum-of-a-series-2.f : 5c6cd8c98f8f4faaa66a2ff62e9208bead774ec8b0c7e3fed393c08beabb6d94
RosettaCodeData/Task/Tic-tac-toe/Fortran/tic-tac-toe.f : 90f00e9af917b69b23cc060b3db8999fe25e9167f56d856923f392142ff1fee2
RosettaCodeData/Task/Top-rank-per-group/Fortran/top-rank-per-group-1.f : 33bb56291adce8e40fa5cf4a9d3d7273f10b2e201c6c003174e7311d2e7c5081
-RosettaCodeData/Task/Top-rank-per-group/Fortran/top-rank-per-group-2.f : db5d44059fddd5d2a66df0056c92976debabb42002c106b2fd94e4e050e2acf9
+RosettaCodeData/Task/Top-rank-per-group/Fortran/top-rank-per-group-2.f : 409516fc2ea412eac9fa802e0653f863e869a5428334714f9c81131155766b24
RosettaCodeData/Task/Van-der-Corput-sequence/Fortran/van-der-corput-sequence.f : f65263a05ae20e53a42b292c6b535cf58fa75f36427214b3041e1210748a6f2f
RosettaCodeData/Task/Zeckendorf-number-representation/Fortran/zeckendorf-number-representation-1.f : 3953b25eab653b3a37f7192acb6295596ebc61306750b16d5b7d13b4f0489a09
RosettaCodeData/Task/Zeckendorf-number-representation/Fortran/zeckendorf-number-representation-2.f : 9bb641b7b1cfdf2b29d5c99060b63b58eba66654a27dbddd440e0193745b3b3c
@@ -2157,111 +2153,478 @@ RosettaCodeData/Task/Zhang-Suen-thinning-algorithm/Fortran/zhang-suen-thinning-a
wannier90/pwscf/v6.3/pw2wannier90.f90 : c5bab9b1f049635f766e9453fdec99af1e393a00de5bf4c0ea5beca72509d470
wannier90/pwscf/v6.3/pw2wannier90_legacy.f90 : 7b4207da9cda2b32284bdd322493f66b0741c0f900387edcdd05241130f763e6
wannier90/pwscf/v6.4/pw2wannier90.f90 : f2d78d881340cc07ad90dae439bc36fe79fdd18d39834a47e309308765498be1
-cp2k/src/efield_tb_methods.F : 2582b3d58eb7d93365810474562dcfe884a1a798745a238d3eb69240a198df6f
-cp2k/src/group_dist_types.F : caa7464764efcb5cc9078f3d05df04ca767c1ca6d8c89599946f8c1b85600066
-cp2k/src/input_cp2k_tb.F : dea722aa502d605656e9767af692c48ef86ec26e6575f2c054eeb3ee93a8d551
-cp2k/src/localization_tb.F : 6235c97e9e1cf8f0b9d6857fb89af1701b437ef05435c38e108cb04a842a148e
-cp2k/src/qmmm_tb_coulomb.F : ef090d19d4f8441ea087a214d009cde2d4c774ed5991d15c8f4a79c0dfa03950
-cp2k/src/qmmm_tb_methods.F : ab20d23d98aa11131e377f9cf1f9ac8264db069f547fd88fb28b477acad67cab
-cp2k/src/qs_charge_mixing.F : 704f7301f6c05ff87360f79ce0cc533ee93b88c54c923edbb108e029db198880
-cp2k/src/qs_elf_methods.F : fe022b661d91214e870664f06fa7a41d3aa471ef28ceded7a2ba1e25da812b55
-cp2k/src/qs_energy_window.F : 912886235db07c59f4b60f6d46cfe48a9e56681775face05f3590ab8b47d07d9
-cp2k/src/qs_loc_dipole.F : dfb7a311edcbdb181a33cf11649746000839676b4bdaf51a3c6dce30ef076c0e
-cp2k/src/qs_loc_states.F : 6020a4d734019930163d324c4a977dcba890ef735426ffdcf185abbd6dc52565
-cp2k/src/qs_mixing_utils.F : 8140f2dc81183c2a58377b58edea061827add9bf680ac3f4432b93d74ecf3895
-cp2k/src/qs_scf_post_tb.F : 970aeba78259fd441713b68fd39e304e37046d6ccae38cdf91b5801126fec179
-cp2k/src/rpa_axk.F : aeda958de6db3d1379fd8902ed977801be9b75adbf4e019e7b475f28e8877eb3
-cp2k/src/rpa_gw.F : bd588229ef06348327ba3081cf8abd8f105e5a1a3cbd499e59a7224ce232fea9
+cp2k/src/efield_tb_methods.F : 31168ff90983e7d6e5becc4ca3e60d8e93dd41fecc3ca44eb3d40c919c4a1705
+cp2k/src/group_dist_types.F : 0e3de183269e631e54f33c0a8ca5cfbff7045e36cbf07d056601051924fa037f
+cp2k/src/input_cp2k_tb.F : 2bddb808feabb705eac1ddea0ad4f052dd52ec2ec74004a28ce94fd90a035abd
+cp2k/src/localization_tb.F : 3c77e1376fabd31413fa67dd19793d7b90b016cd923dbd568cb1eabfaadfa6bb
+cp2k/src/qmmm_tb_coulomb.F : 899980a1c26316145ddfba6702f2d5c0dc7b62684dba61404d687f7f98f9f2f7
+cp2k/src/qmmm_tb_methods.F : 1bbb1819b1c7bdbfc5a5266fa04dbc7cf926d143b8354577658b6ef3e9144ba9
+cp2k/src/qs_charge_mixing.F : ef202a077a4799b4f8acd18361db51eddc5046538a9420c15f38114d983ff9f8
+cp2k/src/qs_elf_methods.F : b2cb9b05bdcbea58c2f05e195c03afd2e7903c8e312b35de4d8e70c017ddd03d
+cp2k/src/qs_energy_window.F : 401ceac610cdfe05cdf2c187429b2748852b6210ce16656d8321fb4fc36e7862
+cp2k/src/qs_loc_dipole.F : 56bd83782e7f8ee267fcaf48dc043f8dfec62093193a3db7c5af4ffb032b5cb0
+cp2k/src/qs_loc_states.F : 7ad7ef3b104edd1dca7f4c1d72153b531cef05ee3d68b0609ce0d584b9e64ea8
+cp2k/src/qs_mixing_utils.F : e66d0ebc44fd5cb88260b334bd19e25974c1bb0e6ef9d6ce18138f356fc5383e
+cp2k/src/qs_scf_post_tb.F : 145c1b24a81cec50b7c4c79a1589acaa8844c1e7f1169d5049dc9c0ae486d76c
+cp2k/src/rpa_axk.F : 91a7f884826defcea1fc484fb5aa776b03ef6ca5167c0ee6da61057ae58fc714
+cp2k/src/rpa_gw.F : 93f01bd029eb5fa8d644950da7e8a6a3b16a594f16f22a49fe3996df791ff130
cp2k/src/rpa_gw_kpoints.F : b33a2a0324d716aa3636168e13cf81563c2beede8cac890f2633604d11963019
-cp2k/src/xtb_coulomb.F : 0f3a97d48e2aa9883e052afaa9c0c834fcc1c00eeeab81df508e040246cb334c
-cp2k/src/xtb_matrices.F : e9b617ac1ec85b8bfb04c4030e67ac6a18d16586ad7252d112e4aa7bf0a10936
-cp2k/src/xtb_parameters.F : 30320b3ecb2187e4a0f81bff8f27c5474e77b3ce7fe1c16a1de61c5eb69e7889
-cp2k/src/xtb_types.F : a34cc5d2cd61bfa2c6194e0413e7772391a59e92add52e50d01e199897662b13
-example_swapcase.f90 : 8dfac266553a438deb71e3faf5aeb97cd067a004c5cf61cda341237cd6328d55
-where_forall.f90 : 11062d8d766cce036a0c2ed25ce3d8fe75fee47ab1e6566ec24c6b0043f6ffea
-cp2k/src/almo_scf_lbfgs_types.F : 4dea88ca22891e587a0b0dc84b2067f23f453cdcb9afebf953b5b0237c4391db
-cp2k/src/common/callgraph.F : 5a54e42c7a616eae001f8eb9dc1efe73d9eb92b353a763b1adfbec1e20c7179d
-cp2k/src/common/d3_poly.F : 64728d2b851b779cca50cbfb1381645af83117cae64345fc98fc57c114d0d761
-cp2k/src/common/memory_utilities_unittest.F : 80c29adf9c410261c2c2e0bb5d34270e245ea60b04b9b6cb1cd6d42a2ebe1b58
-cp2k/src/common/parallel_rng_types_unittest.F : 4f3a2fce255a4d49d62544fd4818fcdf6e1d47dc3f908b26c15fdff328261998
-cp2k/src/common/routine_map.F : bd7620691f4bcefdc95bbb54fa7278d6f3990dda2bcc7681eb66030a6a10dc85
-cp2k/src/common/t_c_g0.F : d6879a9daa5e8a7e311b0f5db7175b49a90239ed844600d05efc87a0cd709fc7
-cp2k/src/common/t_sh_p_s_c.F : 1b8560ad47a5f9c7689c803e75f0a4adc6f82a19c8b53e27dccf75c55285a6be
-cp2k/src/ec_efield_local.F : 30e41189c18ddb1005a1ceadc9c647688a27328096ee68e18c8b3f3cd58a3f3a
-cp2k/src/ec_env_types.F : 1b13d981f0e892e34f814e7dd3575d48c95625b825a0ae36813b6b42d3c7c196
-cp2k/src/ec_environment.F : b724f0847a3775634690d890fd4a02cdfebbe701998670a16f9d847b3e6cd4ec
-cp2k/src/energy_corrections.F : 63971583738274b17acb4ecf2166431de45c430534628076dc9006c7410fa345
-cp2k/src/grid/grid_api.F : 1b599f3c2e784e37be3c79a74dfebdad6dc75325809fede4eb83fec4078260d8
-cp2k/src/grrm_utils.F : c4415ed9bd9a73452ce371a55e51ba4ef6949477cab62fda79c67f36bd43a064
-cp2k/src/hfx_pw_methods.F : 3e7a9aeca97fc26afce0d5eac700e178c0124e73d31e588036a700be97f05a1b
-cp2k/src/hfx_ri.F : d1513d8e1502ef916c1ab9d4956d1e2cbb0c70b72dcd9bc2572f2e61079b438c
-cp2k/src/input_cp2k_ec.F : 599804a2db9f25e9df359c0a6165f361aaf9eea6a1c4908e63886c3f84fb1905
-cp2k/src/input_cp2k_external.F : 7839c127a7002aa8ff81eb2d341490e1d9b6a5cedcdc45317824ec26042dcd30
-cp2k/src/input_cp2k_loc.F : 20520f0363fa631c8229db5d24f563fb42c6d3b9d548294ac3cdbd387f05d189
-cp2k/src/input_cp2k_nnp.F : 2e4bde42eea5e35df2c7487372239ef4b0b94b61263fdf349579882bd94d9733
-cp2k/src/libint_2c_3c.F : 1e987de822c77355fa22059ef6ba83d02a8ef76891e85f57ab5f880af1cc89f1
-cp2k/src/libint_wrapper.F : a56106088813d1da761feb0488b2cc1a9e230fe4d166f7d4061c892e9bfe1b6f
-cp2k/src/manybody_gal.F : 5d5bc9857b94d0b3e5acd01161fd95bc63e678c8f9908b17c853775fc2d843a1
-cp2k/src/maxwell_solver_interface.F : b3d5a72cda3fae9cef257f4190ba3208416e9ea2d7738f107380f4e1bdd88d78
-cp2k/src/minimax/minimax_exp_gw.F : 8c0421d66927eccb57dec732ea42337f5eef772d2df15725b58e7702f0fa35ed
-cp2k/src/molecular_dipoles.F : 3399d59891b2ede261b2c4371654f2fd2d1af858cde0b3ab688f711019834ab0
-cp2k/src/molecular_moments.F : b49698fac6f775aa08effc382f4e33893080bd09f0468c54424eee357a468e83
-cp2k/src/motion/dumpdcd.F : 3d5598c9a7d7132fad980871c87dfff4b05fd42091eb5c6e5429c0a6c2aa7ba8
+cp2k/src/xtb_coulomb.F : 21867d63a9e221b6d7e4e0ccefca82f819d0c220f3507673d68004f5fe19b167
+cp2k/src/xtb_matrices.F : b6cc92b6c3a8452fdc6c265883630b8092ff5a57f10b0a4f8c717bb3e9cd6668
+cp2k/src/xtb_parameters.F : 14184f67d5353cdcd6acd7fbaa067b4a85ccc6293df3acfa2ab3ee57c4de3faa
+cp2k/src/xtb_types.F : 88de765a8df90dd9adc86e9eaa0b58e37d9369097c76785e1ae5b3835c77c100
+cp2k/src/almo_scf_lbfgs_types.F : 927dd2fac1a18e293d78f9153ba0ff5ee284a7b4ce947b2b35ece5bde48b3ceb
+cp2k/src/common/callgraph.F : 48eb0d8f058a57438ac0d9ce72100265c2b52b957108adc58bea741a4d51fd5a
+cp2k/src/common/d3_poly.F : d9e828fd85d1ee24f8cee03cb2b9cd6d9839cd6b3a359c5a941224ed510cad45
+cp2k/src/common/memory_utilities_unittest.F : c30022ffda8cfb101f5be53b376d1bf21a65963501f8abaf1ed7ca54c4439513
+cp2k/src/common/parallel_rng_types_unittest.F : ae076eee3804f2293788f6cda25dd95dd276da49ae1050853aa7096012c9dccb
+cp2k/src/common/routine_map.F : d74dcaa0e4f518d9da5a9118b41749f56e642080852d46d7ff7636b0251f6a37
+cp2k/src/common/t_c_g0.F : e2a9c74962beff46fe946cfee7a21a672e6c90639414f66798b1ddd369f2bf4f
+cp2k/src/common/t_sh_p_s_c.F : dac9fa6818010992bbadfb6cc933b422d2597715e8820e0249b2d3a09a2b21f8
+cp2k/src/ec_efield_local.F : bd46de956da5a38f5b4d56a3a2fffe07f92d430066784933c0b997b55d619677
+cp2k/src/ec_env_types.F : 93ff12e87185ad17d6b96c5441e7847c1b1756cc87bcbb0811c160f58d8d8e14
+cp2k/src/ec_environment.F : 5343bceb35fc628951ecf393243c25ff4ec83d76a36d38c861414646928e7acf
+cp2k/src/energy_corrections.F : b6a6b53915143e88390fac86e8286eab84cd9af7b61af30c1f4e6be7c63ce1d9
+cp2k/src/grid/grid_api.F : 4c6e934c6fd403e619f2c498252d080cc154d59446763a8985ae452403699d64
+cp2k/src/grrm_utils.F : 9e01a3b594735402ca16cf4ff6ed34bc607f4394f9c7f7f01a4f24563732f860
+cp2k/src/hfx_pw_methods.F : 1e115b6ea9b43c400d88bb51dcd627bb1512ee4fc2bea34622834553a10c2d2e
+cp2k/src/hfx_ri.F : b12c35c4f678bddeb0a2a5e2c17f2c939f8da67212ce51919f5c6399961d5c54
+cp2k/src/input_cp2k_ec.F : 9ceded1f0af8a55a75a6bcb2ffcc8349ab716bab3d78a9c2a089df9037f13233
+cp2k/src/input_cp2k_external.F : f71acaaa4fb1d3bba41f249daa5caf5dbd505759f00eaf74792e509ea6292d21
+cp2k/src/input_cp2k_loc.F : e7c10d786457b58f52af4095226bb043168c2d2287f6a637c504eb3744447dee
+cp2k/src/input_cp2k_nnp.F : 787f52759198521f98a435d37399887b262649e38e1cd491a19e5801dba18873
+cp2k/src/libint_2c_3c.F : eb4478fe93feae7c691d3ebc2ad71e40c8a298049437b64fd57ee972bb8eb6e1
+cp2k/src/libint_wrapper.F : 2783dc7ef9d165a7d15e5753dd4d238b72c5abb46903527e6a684b6fd12e4f4a
+cp2k/src/manybody_gal.F : 695c5e7f33106079d62f0991f01826a98b38e4406f0b724ffdd1257347d0e189
+cp2k/src/maxwell_solver_interface.F : 110ee083ceb1b5c98275bf6334026a3c73186ba30fc80f437f0af3f9c0176080
+cp2k/src/minimax/minimax_exp_gw.F : 28c48d70bb3d6ec7590b796db542e45b18d2b8c1dad717493941894ed64c11f4
+cp2k/src/molecular_dipoles.F : 88fd8214a2767fd41d6b7735f3d2c652f402cd0c0d86787ad53467acfb4d20f7
+cp2k/src/molecular_moments.F : fef914241f7079242034dceed9a6eec7e6c7f3dea414ab8f547ae3fa4d645f8b
+cp2k/src/motion/dumpdcd.F : a1f1e527c1289cac4174a19502a41c2f8bfc7312f7c3afa2e95cf8d319956afc
cp2k/src/motion/gopt_f77_methods.f90 : 2bbc24f2848ef2edee82164b3d3070b8fae2503c9e420923611866c84c09b200
-cp2k/src/motion/xyz2dcd.F : 569c0a3277e837164f15e708fab2e565d88d7d9f93c3e57347df30957eabc6e2
-cp2k/src/mp2_eri_gpw.F : 8e8ec7a3ed60cc7db2055316eb1941ec94a4f05f6fd7df49f1f32a434f75fb9c
-cp2k/src/mp2_gpw_method.F : 8282c2f196316008d45f7ef01b40bac67fd8be5c4474900dd5c075a034347df5
-cp2k/src/mp2_grids.F : c6088b30456adce266c41729ffd10a7c45a1f8cca9e4c9318911558793589cc2
-cp2k/src/mp2_integrals.F : 9fb39efbb60c3cbd7ed3e17863bd8a64ba6b293ddffe9df055f597b9b260382e
-cp2k/src/mp2_ri_2c.F : 3e3dc434b7e2a192da7c1ef4fb9c105f87955a9ff415cb36f47e3766a66b133a
-cp2k/src/nnp_acsf.F : 95fda4ed85a38a00468dda69eecbe9d4ac3940800653fc43fbb21c258d3828fb
-cp2k/src/nnp_environment.F : cae5f4f9810bfb4a6e913798cc076d05ee8b66cb8086728889142ff0c044686c
-cp2k/src/nnp_environment_types.F : ccc27ad8ee6152cd85f140f2adc9eb3902733d7edf01a48fd558ec83fa7fca7b
-cp2k/src/nnp_force.F : 28970168bbb462a015dbb1b5bb3fc15511e68cfec15f098963dce4f0f97bbd04
-cp2k/src/nnp_model.F : bf571c7e87a7a39b394dae58bab20b7cd6a5e119dc56a91fd056c628015724fb
-cp2k/src/pw/pw_fpga.F : 89f56ec87d174c30368ee89b14a79a10e20f3ce31cfbea00f6ae4e277536e0bb
-cp2k/src/pw_env/cp_spline_utils.F : f61baf17def0bd0853921937f6c751f07a90d1863de26d670ab9d0cef842e6dc
-cp2k/src/pw_env/gaussian_gridlevels.F : 03f27b852c1b380fecef4c5a782f2f38942ba8ec0fce4df1f0c702d93fdb063d
-cp2k/src/pw_env/pw_env_types.F : 9d91b479e389e320f03c30f8aac07588371e380881dff66038de75f0e0961def
-cp2k/src/pw_env/rs_pw_interface.F : 97eb1855ae4293a5203f91e92ef17a6abb6e95ae56765b01db172e84a3d8d003
-cp2k/src/qs_chargemol.F : 588d28172f7d7d8448d32be1892e6cde952afd744b69d3407279fc62fbd520f1
-cp2k/src/qs_dos.F : cfa3c71785725c0edc39a02ba5a15f2e0915ea0cf69b01b7b3ec4630454a6358
-cp2k/src/qs_gcp_method.F : 28a83f2a2e1c685252bb918e02b3e026e8d3caabfdc7d51b2c90b867035cf022
-cp2k/src/qs_gcp_types.F : f15c2fd21a174b6b0433b9dc45bfa5552ce9af859a896bc44e7d15e1cfa91177
-cp2k/src/qs_gcp_utils.F : d845f0a226c4bd616496e379c2512d22fb637fbef39737041091a73272a870ee
-cp2k/src/qs_local_properties.F : 9d7745ace5b1dd8d945df20ffe992fc0732aadac2a4c07932284ac15491173b2
-cp2k/src/qs_scf_csr_write.F : dd90c99c7e92c995df87cfe9c9bf359e5d420a0d2a4291f10c662c1709aa79da
-cp2k/src/qs_tddfpt2_densities.F : 282d2d1f86ea68cd044b74e1ca7a682e8d4086f9e8356306bebdc07348ac4ffe
-cp2k/src/qs_tddfpt2_eigensolver.F : ce768e2aee339ef165730a43ce285630d986863365f32225f2799f25a710976d
-cp2k/src/qs_tddfpt2_fhxc.F : b0488574680a9443c8f25061c67da2a6be521666165aa239d62d02fe8f67b346
-cp2k/src/qs_tddfpt2_operators.F : 017ffa770bfdcf451b2e7d91b1225c4d163f8bfb32ba9c8bee31a73206dd30c4
-cp2k/src/qs_tddfpt2_properties.F : b9cc0daf517e9002ffd1b9ad65c2d7c6f6625803e83d3a53e499998c5ed420cf
-cp2k/src/qs_tddfpt2_restart.F : 75ff8e76ce78e9a4cde16bae1ff0cf1368e6f3abbd0d913654438f56dd0d2d30
-cp2k/src/qs_tddfpt2_stda_types.F : c457f2762856e6938576b9240d397706861b2812d3aafd6451bc34d2ca6e5ec0
-cp2k/src/qs_tddfpt2_stda_utils.F : d5c409b333586e6e04b0cacf5d39165065e631d6d72af6c77561ca98ce533250
-cp2k/src/qs_tddfpt2_types.F : 5fc77807328e356b35b866ef853be6ae93c729311156897a2b4349e1ac229e86
-cp2k/src/qs_tddfpt2_utils.F : c3a993cd9e3e34c40cf82fe43345a51b4bf77b3fcb523ed0eeddd0fac9928c30
-cp2k/src/qs_tensors.F : 5b0c16700c09d6afcc2ca6bd9a233be26e224d680ee74a13075b4228cd83f222
-cp2k/src/qs_tensors_types.F : 04ff851b4020c6a68c633b16bb3a94b3b354f734b988963c1c75279e247d286b
-cp2k/src/response_solver.F : 2335e2945143efcda4ef2b955cc6efbe91bfa084c1e6a88a63015692e638bf50
-cp2k/src/rpa_gw_ic.F : 6a9ee682da4203a2d8281a160cbbce127a76955c1eb8304f64dfbb7a1560c546
-cp2k/src/rpa_gw_im_time_util.F : 84da19bdde08f8818ce74391f0a9725f9383825b91de85d742c1f9c063fb27f1
+cp2k/src/motion/xyz2dcd.F : 08564729493637538c4d38fb8cb56a236e642015461d89edfbfb3f8fd0ebf84d
+cp2k/src/mp2_eri_gpw.F : 5b8390708126020d843cc10fef2d72845e100e09c94be9ea418fbd2a366a5d62
+cp2k/src/mp2_gpw_method.F : b4a621c122149a92f62b641184706585476a065a8829fa5f0b10ad91eeb08bf4
+cp2k/src/mp2_grids.F : 51141a23c23ad34057a7d0b10709405892462e7e03865b443575a6727b241409
+cp2k/src/mp2_integrals.F : 5ad25e59331865332236fa4e369e8f1d38324cf0f0f4c6cdcf139d247a00b0c0
+cp2k/src/mp2_ri_2c.F : bf1f8fb88f253bdfe72fe51e629b1f60773864cda9b54331f8972b38a99d50a5
+cp2k/src/nnp_acsf.F : c4f934b68713f63b1dd4c61198e38b8c740e9fe8dcd3272f23bb5980ed422092
+cp2k/src/nnp_environment.F : ae97ddccde6f0eacb33dbc97b35f80a66c42d7fa19589cf3e36b7c6801e70cfe
+cp2k/src/nnp_environment_types.F : 45020aec9f9f8402e6715a177b8ed6ccf213745dfc7d74d68a8b6b9b2311d8d9
+cp2k/src/nnp_force.F : b81cb41ec8b29737ee225975da21e5710e82185f368331153ed12cd4da0afba5
+cp2k/src/nnp_model.F : d278e0d2d8823dd49e572cfd3a2fd19bb4c06dcff9e517d188b0f86cee595a36
+cp2k/src/pw/pw_fpga.F : a3408962cf1e440471e173225b667cf5a5519ea7d3a0af8918810c3e3275ccce
+cp2k/src/pw_env/cp_spline_utils.F : 08042c325f51dae4c02e100a8bb7320c6c18cca8770da159984f9136c56ab351
+cp2k/src/pw_env/gaussian_gridlevels.F : c486f27efbe902ddb618aa4925ca847f51fb6b76b6e52dbfe642e52c35d65584
+cp2k/src/pw_env/pw_env_types.F : d227a3955591759086f895c4154440b3468dc08da88099d08c717cb620f6b8a5
+cp2k/src/pw_env/rs_pw_interface.F : ab91288f0f8fb5e2f5b853fe0edba1cc79323925a9ffdf04473f0d3a5a894593
+cp2k/src/qs_chargemol.F : 378f7dfb8d9ff66e4de26ec70ba6bac19c578bad0913502e6c7556f6bf0a8155
+cp2k/src/qs_dos.F : 410cf99c3da60131c0c82c09985b07ca40054fde98d2261ad93b3206aaa68d76
+cp2k/src/qs_gcp_method.F : 4c381bbc20130cf1993dfd9205d522ff0e2364c1c6903b38756425175e7762e3
+cp2k/src/qs_gcp_types.F : cc89eda50dd1b7d4a50213500e6e8150db754e8b230d0d0997a1673395a40f5b
+cp2k/src/qs_gcp_utils.F : ecf9a3fa18419d5c1f789ebe0452f83e4ec1c8b20358c1f778aa40b207533717
+cp2k/src/qs_local_properties.F : fee3c92d7dc73a9b488c09239bb43642ab68009a3411063c18899027b6ac9be5
+cp2k/src/qs_scf_csr_write.F : 3ddd9294f3f955cdce30b2d2ccf0a414fc6f5c312b970cea679812a4a8ae6261
+cp2k/src/qs_tddfpt2_densities.F : f6cc41ed9900cc95831cd1f538b9b68d8f3b14150e651f7c4a62593ce162cc1b
+cp2k/src/qs_tddfpt2_eigensolver.F : 88bdc24d7360eebf3162883ad508bcdbd022e90b61db2fe0f0028b9dadce126f
+cp2k/src/qs_tddfpt2_fhxc.F : f9b991061c287b2078a747186f68cf2cf1f369ec6bc0a7419c8990670c42dfa6
+cp2k/src/qs_tddfpt2_operators.F : 12bf4c336be66e64c5212d8ca09ea2e075acea857746fb7e08f1df0acce1ef5b
+cp2k/src/qs_tddfpt2_properties.F : 917d8a0a542d7cb45cae3de6693bfe3a2985d54646153f4f073445d64d6b4834
+cp2k/src/qs_tddfpt2_restart.F : ef525727fc147b60e6242654c18d5c2becea180cbb5d94a2417aa72447285779
+cp2k/src/qs_tddfpt2_stda_types.F : 4192ab37d21db0ea8e7a734c04b180f9cc26704d86d817c644989c3e12092fb7
+cp2k/src/qs_tddfpt2_stda_utils.F : 109c9c45546c8f3c6208e891be98d729e6e16706582640c4ab02be6bc68e160c
+cp2k/src/qs_tddfpt2_types.F : b28370a9aec17bac71c732f24b37cb431ab933bc020cec5b7936f05fa341366d
+cp2k/src/qs_tddfpt2_utils.F : 54a45eda1ae496b6e024155ca0dd30fa23659378e809d0e6bf84ebba84f7889c
+cp2k/src/qs_tensors.F : ba9060411d6bbee78accd4f88c0cc6ed883630756bbb81d6ecfefbcb76b7e43f
+cp2k/src/qs_tensors_types.F : 1f70ac921f745ccb97fda4f825fec94af124b5c097bc479bd1ff4c65e4b12c4c
+cp2k/src/response_solver.F : c3902baea6194e122a531d3e1496f4a7596b943f016a387506d337fcada62358
+cp2k/src/rpa_gw_ic.F : 71b03d84f2ad49d78e54d1e6aad181c89fdc372e427f9b7421da648ab884c267
+cp2k/src/rpa_gw_im_time_util.F : 813f21b97fd6a24204d71273dcc0e44684babf60374d84cc8aa5cf936a0528a4
cp2k/src/rpa_kpoints.F : ae64dd0cdfee2ee4507724f6a17cbeb163556275f4a2acce3d60b20b71bf239b
-cp2k/src/rpa_main.F : d0fca483cdc7e82337a74233dc9caf971f757d3cd78d27a1775c38b5f03f946b
-cp2k/src/rpa_rse.F : 597655e9159e5579cf1da950d6c677604309c3916fc977646554e26a5b4fca22
-cp2k/src/rpa_util.F : bad31d45674b30035aec3ff66eda9687726cf694d06681ccf7288b2bfc53ed7b
-cp2k/src/scine_utils.F : 4f9166ffd821c199ab0baf64a8a10285ec6cb1a2f22d1ae443b82c56acbd4205
+cp2k/src/rpa_main.F : 4a33ac482929e979df8e1f92f4dc3b8f0ec0f9def5555c042ac661370e696e30
+cp2k/src/rpa_rse.F : e1ec1545032bbf44a1dd57af08fc067ad6d115dc19adb93de55a032fee83a7dc
+cp2k/src/rpa_util.F : b42ec486e1a6ce5c6ea1742dbb2ca3092b868cddaf1160de61a5fddc5239585a
+cp2k/src/scine_utils.F : eea5de38457183bb251a81c73e53139f13d491f027e1b105f20f31edcec35e5b
cp2k/src/semi_empirical_int_args.f90 : 70bdf16aa5ded0fc14ad5f5b3da44fc8529365c624b4e1b0a97668b5a1b06f53
cp2k/src/semi_empirical_int_debug.f90 : 7914b4b7cca6cbbc80ae2d17cb2bb90d7880739351e7351a4d3579a01175dd82
-cp2k/src/submatrix_dissection.F : fd2d30060224d19261395605004adb786f3419dd3336227076133d355af01cdc
-cp2k/src/submatrix_types.F : 399477cccb725aa9116f671bc29de572c14928d8444d606cf351b10103d35fe9
-cp2k/src/voronoi_interface.F : 3d2d88a22c4c4ef95e2fead3d645380a025367a2e4be1fd1bbcbf8d7f513ee33
-cp2k/src/xas_tdp_atom.F : 1cc82f181c1f1506b4647b7c4ccac2d5bc0510f164921118ddd31efc3be17fa2
-cp2k/src/xas_tdp_correction.F : cb4951aaeb1a932e04fa17b874afc38a38cbee3fc8fba3c7914e8ccd26bb4ac6
-cp2k/src/xas_tdp_integrals.F : ef2857f7df15c0420c4498f91228116497a6822ca3de1a8c04841c5c714e06d2
-cp2k/src/xas_tdp_kernel.F : baa0651351accb981fa763bc4f1c33c6fcbfad0de1c38663fc39c6941106b000
-cp2k/src/xas_tdp_methods.F : c1d1ec8954575caaf255ed2652e55457ff8db092269c3be6566e9dc0f699ea34
-cp2k/src/xas_tdp_types.F : 728f382598e79fa0e7b3be6d88a3218fea45e19744bbe7bdaaa96bc5c4f1a7d5
-cp2k/src/xas_tdp_utils.F : 002dfdc6e9d5979516458b6f890950bd94df49e947633a7253b46be5f3fd7d61
+cp2k/src/submatrix_dissection.F : 3629072999d66481d54f3f02b77dbc3510261afd622476057b7a8e9cc716fd72
+cp2k/src/submatrix_types.F : ecd5848aba3db3d983021eccf541c0fd7deab6f97d038ef3613fc259e07a9dd0
+cp2k/src/voronoi_interface.F : 34c194a3761d47eaa0204fd70998fb94829ac39cc5396eadf7d5063cbb30fa2e
+cp2k/src/xas_tdp_atom.F : 84f67888ac380ceb17c498570ec7ec591195dd1053781bbdaf915b57b9f14d41
+cp2k/src/xas_tdp_correction.F : c1daa5103a51904249a4fb422147fa74188221dc076e2abfb1b5e7ea188ff326
+cp2k/src/xas_tdp_integrals.F : fe4cae1471afe923ebe32646c108645074bd2292212f0abdf0a958de9be2b354
+cp2k/src/xas_tdp_kernel.F : 66d707adf1b901d397644da0e3ac7ac3e0ed9279a00cbe51a1d4dfdb35e38bef
+cp2k/src/xas_tdp_methods.F : 83d7af8cabdfdd317b4cf7eff3bcb9f9d6834efba93855917460a415ef74c26c
+cp2k/src/xas_tdp_types.F : 7bf29838bb99d19e67354489a45ae1ea27aaa52ae4bc470958f446682d357ce9
+cp2k/src/xas_tdp_utils.F : 2209dcb68d000241861aa7895500087b47af424955f5dc881451dea388804808
cp2k/src/xc/xc_sr_lda.F : 094099ac92a6749028c004d37b7646e2af7de402ee5804de27192b56588cc7fe
-cp2k/src/xtb_ehess.F : 45fe2c022760195affb0fd5155d865b6deac896cf6e6714e772bef04afad4be2
+cp2k/src/xtb_ehess.F : f5b4a2b9eb430c5abb86600ee2d3a2724a31c482fcd70b3ea1a692f5067ea302
+examples/example.f90 : f5b449553856f8e62b253402ed2189044554f53c9954aad045db44ff3c2d49b7
+examples/example_swapcase.f90 : dc7ed8594a11400427558825749b00b473d55b9d3cfa1cc93765844896c1b880
+examples/test_fypp.f90 : 31f61e4343e01cc9a981165b2905372ed51236653e304a5948990672df2510e9
+examples/test_invalid.f90 : 45514bd722d41f25504452820ced31106e4551443f410246be55e84429939daa
+examples/test_namelist_block_select.f90 : 90257fe1108c8689002b470e2e2620c2a0652ca6465ba1a5bbbd6667e2339be0
+examples/where_forall.f90 : 11062d8d766cce036a0c2ed25ce3d8fe75fee47ab1e6566ec24c6b0043f6ffea
+FLAP/src/lib/flap_object_t.F90 : 6784f29ba8d30712ad745255edcd9db8c00bf7d75decc37c102586274e9d249f
+FLAP/src/tests/flap_test_action_store.f90 : 63f8d7e8815e464914d8aa2ed4a195226e7927c481d9c2d99f57adeb436d2cda
+FLAP/src/tests/flap_test_duplicated_clas.f90 : 51b890cbb68c3da247b4dea3b4d2201e29ba2abdbdfce16e88025793c458616c
+FLAP/src/tests/flap_test_group_examples.f90 : 3af80a6d1d4f083b9b72fe349407922a3d547d211ea0436dde9e4150631df9a1
+FLAP/src/tests/flap_test_ignore_unknown_clas.f90 : 9197a3cb56d104c2001c7f4fdec0f8ca32701c675154a6a4e558edbee8a8dffe
+FLAP/src/tests/flap_test_nargs_insufficient.f90 : 909d92e8acf1ecabb223a82e330e8bf9c99fa265531ffffe3ebfc06b019b2b8f
+FLAP/src/tests/flap_test_save_bash_completion.f90 : 47f6ee36e1ce245f3a7c5129deb327711bd8fbdac22e625eb5d5234348587233
+FLAP/src/tests/flap_test_save_man_page.f90 : 5183d6db5191b44ed36ede191df455a9569a0ec3d2ae0e7a886ba518d2c7a322
+FLAP/src/tests/flap_test_save_usage_to_markdown.f90 : 50aa4abd7e1ff77d43c20397693d29e3a9e009142d4c631f0aceefd249b14d4d
+FLAP/src/tests/flap_test_value_missing.f90 : f00f3dce74821741ce3c244feb7b98f6610f27af52a9479f0318df6cf8ceb287
+RosettaCodeData/Task/100-prisoners/Fortran/100-prisoners.f : 983e232c54fcd8d9799d7e45d06824b284000a02b2d62078e8edd3bafa3fd57f
+RosettaCodeData/Task/15-puzzle-game/Fortran/15-puzzle-game-1.f : c8d1fd9cb9d080ff21dbb698e99949b7f4d9b6da53d493f5ccb58f4f7c184ebe
+RosettaCodeData/Task/15-puzzle-game/Fortran/15-puzzle-game-2.f : f04157c7c4cb0be3b21249577e084be723e730ec38f4785dfed64bedd1d289ec
+RosettaCodeData/Task/15-puzzle-solver/Fortran/15-puzzle-solver-1.f : e272edc58f1ab7818acb4ca0cde6b7938351a8fd8b824fca48c0de5ef8335191
+RosettaCodeData/Task/15-puzzle-solver/Fortran/15-puzzle-solver-2.f : 509a49018cad9c1f191197afeb3833ea7dc02431d7e009afe525c43e32427747
+RosettaCodeData/Task/2048/Fortran/2048-1.f : 16ea6fbcb14ebb2930ba66cd7a5339cb298fd05a120f347ec56fadd45f2af355
+RosettaCodeData/Task/2048/Fortran/2048-2.f : parse error
+RosettaCodeData/Task/21-game/Fortran/21-game-1.f : 5f14c8f47fb0ffcce0e9fa9c0d771dc41a218006faaf153cdedaf3c9fa2b8f84
+RosettaCodeData/Task/21-game/Fortran/21-game-2.f : ab4fcbd48387a590fa5ab04048726fcbd89b35da2907c167c9ae4d07f0f9f54d
+RosettaCodeData/Task/21-game/Fortran/21-game-3.f : internal error
+RosettaCodeData/Task/4-rings-or-4-squares-puzzle/Fortran/4-rings-or-4-squares-puzzle-1.f : b1202eb55812e13e2713274cb3403519aed4517456dc83be98d5c24decdd821f
+RosettaCodeData/Task/4-rings-or-4-squares-puzzle/Fortran/4-rings-or-4-squares-puzzle-2.f : internal error
+RosettaCodeData/Task/99-bottles-of-beer/Fortran/99-bottles-of-beer-1.f : 8703424e83f4606596f0b713b2b87fd5cd966c65a7075c706592a0e4c80985a2
+RosettaCodeData/Task/99-bottles-of-beer/Fortran/99-bottles-of-beer-2.f : 263babdb93bd1afcd42282f4a8a0b767f9728df55f440583411f04b3341a8a47
+RosettaCodeData/Task/99-bottles-of-beer/Fortran/99-bottles-of-beer-3.f : dab960e2499b153293f2541704bf2cec5f195772a818925928b18edfa987109b
+RosettaCodeData/Task/A+B/Fortran/a+b-1.f : efa4a3a04b7c89f980398e3312cac13d7260a10d5a58f38af9356028b4dc2a54
+RosettaCodeData/Task/A+B/Fortran/a+b-2.f : 5aca73de2bda25c56404ecd4f443880de517aa39bfe858c7764cd38d5b20a8f5
+RosettaCodeData/Task/ABC-problem/Fortran/abc-problem-1.f : 9729c2df9028f998a7fa68cd4e5604c90ba0783010a257cf61e6f20a501a1c81
+RosettaCodeData/Task/ABC-problem/Fortran/abc-problem-2.f : 7b72cc9206a3252c68e8ee6d1482003d2154f2fb076c99afd723e9ac2eae231a
+RosettaCodeData/Task/AVL-tree/Fortran/avl-tree.f : b06350bbd936caec813af403a3b03bf416618b928e0d68f3e8aaf0746b5fa85b
+RosettaCodeData/Task/Abelian-sandpile-model/Fortran/abelian-sandpile-model-1.f : b402f36ba106f00732e42043e3c27f6b8d25eaaa43c881eb57742436ecb72cb2
+RosettaCodeData/Task/Abelian-sandpile-model/Fortran/abelian-sandpile-model-2.f : 2152feee11e8e218e053b30447a230b54ba84330e1ce227c84ba9176fce4c872
+RosettaCodeData/Task/Abundant-deficient-and-perfect-number-classifications/Fortran/abundant-deficient-and-perfect-number-classifications.f : 2a08932a1b391d77a2fcb1503b90852d189f6f573b8804a65d4761b6e8478f9c
+RosettaCodeData/Task/Abundant-odd-numbers/Fortran/abundant-odd-numbers.f : b85152f3c6d37882be1e7ed2017a7ffd88bbdef77dddd3442f12ce126021e815
+RosettaCodeData/Task/Almost-prime/Fortran/almost-prime.f : 7a22d76b084a11852dd335e81383aa1c5a7b4337ad76b9f52a29d809b4d4a0ff
+RosettaCodeData/Task/Anagrams/Fortran/anagrams.f : 4bd570e155f91684afaf770cf66149716bd6ecdd944844591e02608f5b1833fe
+RosettaCodeData/Task/Angle-difference-between-two-bearings/Fortran/angle-difference-between-two-bearings.f : e392ad8b662082083b5f931bfddd24d848b0c2abbb10eb21bc5f944b67da0a2a
+RosettaCodeData/Task/Anti-primes/Fortran/anti-primes.f : afb4bc06f82aefd1e21d69ab7d70a558b34805a3331312c316ce33029c523010
+RosettaCodeData/Task/Approximate-equality/Fortran/approximate-equality.f : e08f537d8b488fcbed2879d113c9c7ace847195cff921319f0bf31178b646f9a
+RosettaCodeData/Task/Arbitrary-precision-integers-included-/Fortran/arbitrary-precision-integers-included-.f : 966e75c584ba3c2757adf16d557cd49d0d86c5b3602d2c0ef8276e99543ea0e9
+RosettaCodeData/Task/Arithmetic-geometric-mean-Calculate-Pi/Fortran/arithmetic-geometric-mean-calculate-pi.f : ede5553843eea8380bf5cc52c4099343824ce451b7c5976b32703b26ac659ea4
+RosettaCodeData/Task/Array-length/Fortran/array-length.f : 84844ba5c89aeeb14ac03c78755bf9eac61bc346d3801b520543faa85cbd8cb4
+RosettaCodeData/Task/Ascending-primes/Fortran/ascending-primes.f : 3316d4373057c2d80294e9878cc3684720c6c010f2f5c54085bf13ebe87c6389
+RosettaCodeData/Task/Attractive-numbers/Fortran/attractive-numbers.f : 4ca2dab9bdc4709b267722fbe8614e3a5a803c8d529dce9b3542e8d8017f4876
+RosettaCodeData/Task/Babbage-problem/Fortran/babbage-problem-1.f : c0bf7ab16c11f2a213bd9415aadcd9ba2cdc22dec44d17474c67427730468960
+RosettaCodeData/Task/Babbage-problem/Fortran/babbage-problem-2.f : 2e3a5d1a1ae25ed0eb4cc7d2fe7a0f6e2d6de17ee348e2dd215635749b48a98a
+RosettaCodeData/Task/Barnsley-fern/Fortran/barnsley-fern.f : adae70cc03fefaf4ad67fe3404d1b5f1e6912632d78b8e3f96cf5be25be04b8b
+RosettaCodeData/Task/Biorhythms/Fortran/biorhythms.f : 4f0ebaf47a903deb462272bef7c5684c8ced9d8cae50001a2acb70492dce317b
+RosettaCodeData/Task/Boyer-Moore-string-search/Fortran/boyer-moore-string-search.f : 804faaf66d9b49496d7c080499f13ed8799d44bb5d6e562959519e7e92baed0f
+RosettaCodeData/Task/Brazilian-numbers/Fortran/brazilian-numbers.f : e514b0c782dc294d5e9ef8382451115278cfa6c52a3848bab528c74dc45be1bb
+RosettaCodeData/Task/CUSIP/Fortran/cusip.f : 7b92e68ff1762bc1b0c5fdb6dbcc6a959e513b27fe61d4d03676dcaa14c4a30c
+RosettaCodeData/Task/Calculating-the-value-of-e/Fortran/calculating-the-value-of-e.f : 6b400441114621aa6d32130f9f182cd634f0ccf155012ebcd1ddbd57815ccce3
+RosettaCodeData/Task/Cartesian-product-of-two-or-more-lists/Fortran/cartesian-product-of-two-or-more-lists.f : cd6b69c40076b85814b26edcb33f77efaf784321f299fb4964f8c9a2f1e96c80
+RosettaCodeData/Task/Chaos-game/Fortran/chaos-game-1.f : d35adb372bc41fafd520a27038965fba9de59f18dbd22dbb85e4a24563394887
+RosettaCodeData/Task/Chaos-game/Fortran/chaos-game-2.f : 17d39771057f76c5d9046740bb5078e89364e15fff1a55dd565b1b3e7b02db5c
+RosettaCodeData/Task/Cheryls-birthday/Fortran/cheryls-birthday.f : 0d2ad8729f4ffca1d8f63245a03e781b9984b87e1acdcd839577cd61941de4e1
+RosettaCodeData/Task/Chinese-remainder-theorem/Fortran/chinese-remainder-theorem.f : internal error
+RosettaCodeData/Task/Chowla-numbers/Fortran/chowla-numbers.f : 528b17d86909f28e5a8c17483cba4bf855797a6eeb8518f9393dba5e49fc7808
+RosettaCodeData/Task/Compare-a-list-of-strings/Fortran/compare-a-list-of-strings-1.f : e4e79c331bc15ddc49b1af0caca7a7138bef5f98bd50e493659bc40e23492f5f
+RosettaCodeData/Task/Compare-a-list-of-strings/Fortran/compare-a-list-of-strings-2.f : 13726509b7b4d1497c6353ee67b222595c904e8ec248bc19b46fc231744e03d8
+RosettaCodeData/Task/Compare-a-list-of-strings/Fortran/compare-a-list-of-strings-3.f : 923581a546e35ab2d98410d84dd8aba1ada18427e34a15323a39b1de2b0e2087
+RosettaCodeData/Task/Compare-length-of-two-strings/Fortran/compare-length-of-two-strings.f : c866704d19a44890e6c2c555a341bb0d921efd3c1eb77e4ed5bcc0c02b0e6314
+RosettaCodeData/Task/Compiler-AST-interpreter/Fortran/compiler-ast-interpreter.f : 180535ba2c90b9e3a387ec1320d0351b4ca0e5369cb61bab0b801d05fa756f74
+RosettaCodeData/Task/Compiler-code-generator/Fortran/compiler-code-generator.f : cabc84d6ce82f27d03eafa7f0acba1527e219ef2410292c09759bd2aca39cea6
+RosettaCodeData/Task/Compiler-lexical-analyzer/Fortran/compiler-lexical-analyzer.f : 2a7955f35b2c3bc629711a94e1ef5946195eb16b86d5f8e70dfa2ed8dd80e7e4
+RosettaCodeData/Task/Compiler-syntax-analyzer/Fortran/compiler-syntax-analyzer.f : parse error
+RosettaCodeData/Task/Compiler-virtual-machine-interpreter/Fortran/compiler-virtual-machine-interpreter.f : e4f80773e9ec641a5dc2ee5d67b41936eba2fec0524731043e6dc0fbc9d93674
+RosettaCodeData/Task/Continued-fraction-Arithmetic-Construct-from-rational-number/Fortran/continued-fraction-arithmetic-construct-from-rational-number.f : b227f6826964ce86da5209a29c5fdad99afeb5dfa2b8c847bf86a91d8dfaf8c6
+RosettaCodeData/Task/Continued-fraction-Arithmetic-G-matrix-ng-continued-fraction-n-/Fortran/continued-fraction-arithmetic-g-matrix-ng-continued-fraction-n-.f : c83a6b1c0b60b1e1d2d41f00403ba4740f26348f91d38784a1c76a2ea34e0c9e
+RosettaCodeData/Task/Convert-seconds-to-compound-duration/Fortran/convert-seconds-to-compound-duration.f : 6df7510779764b0683f4e8a9771c576bbd718f121b86641a59dd4c328cb2eea5
+RosettaCodeData/Task/Convex-hull/Fortran/convex-hull.f : d2d88724b62161d498f16bf9c95670511266d23bdccbb7b3c778fb36a2cb0fdd
+RosettaCodeData/Task/Cramers-rule/Fortran/cramers-rule-1.f : 9d07b166fe4e4cce8b9d8fa882f08a69c4a624e4cf9e1445b13cd2918ad1540e
+RosettaCodeData/Task/Cramers-rule/Fortran/cramers-rule-2.f : 3420c460ea88709c8c2142982e259a399a9c415fba263123cd8ee7ca8f932ceb
+RosettaCodeData/Task/Cumulative-standard-deviation/Fortran/cumulative-standard-deviation-1.f : 9cf560685ca1656dda9800a99ae4b03d92e150ab42ea02d23f563aeb66ebcfee
+RosettaCodeData/Task/Cumulative-standard-deviation/Fortran/cumulative-standard-deviation-2.f : e7b7c075cdfaa04c12d8caef58d4995f49906b5fc4ab848dd9073a5b909d4de7
+RosettaCodeData/Task/Damm-algorithm/Fortran/damm-algorithm.f : ac6e6bcb39be5c218438f7edc7da588d40484b0c131375e801f463538a0ecb29
+RosettaCodeData/Task/Delete-a-file/Fortran/delete-a-file-1.f : 5ce4f3c255c7f3e37507dad8fbc9a0af6b3c1740fa09c9244323beea45926c0a
+RosettaCodeData/Task/Delete-a-file/Fortran/delete-a-file-2.f : cb289e5a45b042d0b7e68c2963ccdf670a22410146a2402781ee85f24e1c6ccd
+RosettaCodeData/Task/Department-numbers/Fortran/department-numbers.f : 311969e082f91e66aba96d6e223a3db5c32b5098554e34395046ecb8f512a037
+RosettaCodeData/Task/Determinant-and-permanent/Fortran/determinant-and-permanent.f : ea7784bc3f688725e8dd56d4189c162842eb3e629767c5a6a9da826f7082cf0d
+RosettaCodeData/Task/Determine-if-a-string-has-all-the-same-characters/Fortran/determine-if-a-string-has-all-the-same-characters.f : 7536d1a9b299397f77d2a52f29bd7319b19b33fdb5bc77548bc3a4a1abc35765
+RosettaCodeData/Task/Determine-if-a-string-has-all-unique-characters/Fortran/determine-if-a-string-has-all-unique-characters.f : 9c8788f23746b130e226d2a858d3e14c85abbe3e09eeaaba1cf4d87cb313df9b
+RosettaCodeData/Task/Determine-if-a-string-is-squeezable/Fortran/determine-if-a-string-is-squeezable.f : 9bab7d0c744a373eeb1c1a35ecb41005860cc1f601b7cccb72cfc7b78350276a
+RosettaCodeData/Task/Dijkstras-algorithm/Fortran/dijkstras-algorithm.f : e90340059e233e0d7ed746496dc2746340b8eef9b13fa32d0362429afd689622
+RosettaCodeData/Task/Discordian-date/Fortran/discordian-date.f : 6f0d8ee7596e0102ff152e47fcee2437e361cf7412df0bd624bbb01dbbd01103
+RosettaCodeData/Task/Distance-and-Bearing/Fortran/distance-and-bearing.f : bf8a968b0ffdfce0c7ccc2ba5a1daf92901a01d032628af8f09f847bacbb4347
+RosettaCodeData/Task/Doomsday-rule/Fortran/doomsday-rule.f : 5148ef42c7a86139a591b3b1db840671118b86385fe32a8417b910526abbd6dd
+RosettaCodeData/Task/Emirp-primes/Fortran/emirp-primes.f : parse error
+RosettaCodeData/Task/Eulers-identity/Fortran/eulers-identity.f : b3cf6d7e96d3b452a37d9d8c585620d02b1ca14e88f21e7e7b87258801f94c09
+RosettaCodeData/Task/Eulers-sum-of-powers-conjecture/Fortran/eulers-sum-of-powers-conjecture-1.f : c21eace4fb684007454acf7c7b2891936be2cf15caab0b4076fbd6c8482218a9
+RosettaCodeData/Task/Eulers-sum-of-powers-conjecture/Fortran/eulers-sum-of-powers-conjecture-2.f : ebb2d9cb11d8625291b969b7803ebd8d851ca7d6e6516156ea9a19d02130318d
+RosettaCodeData/Task/Execute-Brain-/Fortran/execute-brain--1.f : 008147b30c6b7d8a5f990c9d80efe7c39d845f048941f32fd8aaed46797bc2e5
+RosettaCodeData/Task/Execute-Brain-/Fortran/execute-brain--2.f : 0521bf5368ba92ee0d9528f5a521be25e53e4519f1bc12e95c81f0216404ea3a
+RosettaCodeData/Task/Execute-Brain-/Fortran/execute-brain--3.f : b44a35f600cc8af2d6dbde35de789003665a3fe17a6b9ee1468b18cdb065cc93
+RosettaCodeData/Task/Execute-Brain-/Fortran/execute-brain--4.f : 41f50aa8d284d881b0326d682d77fde33f41a5ba6929fb8a1b24dcba61772c52
+RosettaCodeData/Task/Exponentiation-order/Fortran/exponentiation-order.f : 90ff596e832dd827d899d29ed3ec5ecc3d2a7b4e820c691cec1fa3afb00b991d
+RosettaCodeData/Task/Extensible-prime-generator/Fortran/extensible-prime-generator-5.f : parse error
+RosettaCodeData/Task/Extensible-prime-generator/Fortran/extensible-prime-generator-6.f : parse error
+RosettaCodeData/Task/Factorial/Fortran/factorial-3.f : 692b07073d71ab2def3ed1d9e376bf60c12f978bc47d6ae4d72c2b181620f3b6
+RosettaCodeData/Task/Feigenbaum-constant-calculation/Fortran/feigenbaum-constant-calculation.f : 259bcd151204e4a68b9a0d11293349d5a993ee07bf1ab0f8243bf78e606684de
+RosettaCodeData/Task/File-extension-is-in-extensions-list/Fortran/file-extension-is-in-extensions-list-1.f : 2b5c819be194c67a176a76709d2756a81689ffdfc3d3d350be5213f57e15e52f
+RosettaCodeData/Task/File-extension-is-in-extensions-list/Fortran/file-extension-is-in-extensions-list-2.f : b4b2b1377eea43c90a52a0de1a89e6566c6b2e52b6c3d2f73e441879b63d5450
+RosettaCodeData/Task/Find-if-a-point-is-within-a-triangle/Fortran/find-if-a-point-is-within-a-triangle.f : 5317e498983fd298f865d22482a62dfabf3b291634d6c40b16581c30484d2514
+RosettaCodeData/Task/Find-the-intersection-of-two-lines/Fortran/find-the-intersection-of-two-lines.f : c422d84394b91ef5cf8358c0ff1069068eab0de5aafc9c3b4fbf231a8ca6a314
+RosettaCodeData/Task/Floyd-Warshall-algorithm/Fortran/floyd-warshall-algorithm.f : baf60055aa75b1ae2110174a67a137774b0bb876067a64999283256ea95c8c94
+RosettaCodeData/Task/Forward-difference/Fortran/forward-difference-3.f : 48009c406b015b75b5a7d4dfed033a812eeab4a39ebb8982abecf999b73daec8
+RosettaCodeData/Task/Four-is-magic/Fortran/four-is-magic.f : 13c39bca9edeac6d875283f07abf448ff7e29e3e71e4bd754849d2036a40746b
+RosettaCodeData/Task/Gauss-Jordan-matrix-inversion/Fortran/gauss-jordan-matrix-inversion-1.f : a412c6b4e75c2108dbbeec0d9281bfa08d41fbec4d99a11fd4f4316964c7f522
+RosettaCodeData/Task/Gauss-Jordan-matrix-inversion/Fortran/gauss-jordan-matrix-inversion-2.f : e6f8ae8d3a49b938ac29cbffaeafda6cf9e7e43f9ab8819fc24b296833e9562c
+RosettaCodeData/Task/Greatest-common-divisor/Fortran/greatest-common-divisor-5.f : f7357cd3e212bafa589d54b60ea69e47101fac157b840cb1232a1ff6f93a644b
+RosettaCodeData/Task/Guess-the-number-With-feedback-player-/Fortran/guess-the-number-with-feedback-player-.f : 284ccc92b6f5fde65e43ce529074971fb418055d8072311a1cb75a58f851fdda
+RosettaCodeData/Task/Halt-and-catch-fire/Fortran/halt-and-catch-fire.f : 0bf3c476c0d2d426df0a58b6e100604c726a4cbc847a93d9b33d0e6f0ae2d3d7
+RosettaCodeData/Task/Handle-a-signal/Fortran/handle-a-signal.f : 4aa4fcc3e4f111cd52f62894a64d809587e7e8d327f1702205270df583289833
+RosettaCodeData/Task/Hofstadter-Conway-$10-000-sequence/Fortran/hofstadter-conway-$10-000-sequence.f : 08ed8ddf563b7228f96583e5314dfcfcc75cbda172c6015dd13b0338a0fab520
+RosettaCodeData/Task/Host-introspection/Fortran/host-introspection-1.f : 077e6082513833757c6837aad84e1f01115417b5d2346a4dedd8c33ba735d8d4
+RosettaCodeData/Task/Host-introspection/Fortran/host-introspection-2.f : 817af5e604a092f6e1d3486ab02c8445b2a4181231e9212ec223b6b93becf523
+RosettaCodeData/Task/Hunt-the-Wumpus/Fortran/hunt-the-wumpus-1.f : 33b7fb570e02bd2006de4f5a2c24e9f27bc3b12028b8ce05d1ef7affa6327093
+RosettaCodeData/Task/Hunt-the-Wumpus/Fortran/hunt-the-wumpus-2.f : 98921cd6288bd31544f89bf54e01d07c29a96f2f799fd816f29c1702bf137a5c
+RosettaCodeData/Task/ISBN13-check-digit/Fortran/isbn13-check-digit.f : c5f45d7f928034ad42f07088f86a116675aa9b04d614ad0703ae119a9a92f94b
+RosettaCodeData/Task/Increasing-gaps-between-consecutive-Niven-numbers/Fortran/increasing-gaps-between-consecutive-niven-numbers.f : d2e7b0fd4c5886dd2df8ed8e5d7cbce4409a9e6b5d4789a599b8d8b88ffb1c01
+RosettaCodeData/Task/Isqrt-integer-square-root-of-X/Fortran/isqrt-integer-square-root-of-x.f : 4540ce0681d4ade5b0c7a4504b1d0fdfe4aeaaa554028a1cb64609952682a25f
+RosettaCodeData/Task/Julia-set/Fortran/julia-set-1.f : 4215ae1889994ee5617a796923c810d4ad3222e29fb3d759eb01d5d9ff612d16
+RosettaCodeData/Task/Julia-set/Fortran/julia-set-2.f : 4a5ce09ec6a58592c122aa5993d840dc4283b4f9fd3dff8bf49d8edb559cb192
+RosettaCodeData/Task/Knapsack-problem-0-1/Fortran/knapsack-problem-0-1-1.f : 082a56839ffccd359d32d18f349c475f81b79f453bc982a51961057b096f87b8
+RosettaCodeData/Task/Knapsack-problem-0-1/Fortran/knapsack-problem-0-1-2.f : 6a1df9f3a3de791431b8cfed26c64003a7f928d8840991da4551c2637db0e9d5
+RosettaCodeData/Task/Knights-tour/Fortran/knights-tour-1.f : 6fb0bd788c151f94b718e3f7680cd84e2500806afd3c01e74b5ca00c839cca5d
+RosettaCodeData/Task/Knights-tour/Fortran/knights-tour-2.f : ec5ca517e10d81685435384853682864e79042026dbb111d7f15e6b9e578005b
+RosettaCodeData/Task/Knights-tour/Fortran/knights-tour-3.f : 16e521b6de25e229df5f2886574e94d6d3a4f7ac0179269e783ba093a8d3d809
+RosettaCodeData/Task/Kronecker-product-based-fractals/Fortran/kronecker-product-based-fractals.f : 19d786915ac8643de0af22e08436152199738c5bf54f2f69f657820a1e7df9b9
+RosettaCodeData/Task/Kronecker-product/Fortran/kronecker-product-1.f : 40b51d751c080d0f1c199a1dd9ffb254f4cccd236f0b20f65f3cb7e52915d264
+RosettaCodeData/Task/Kronecker-product/Fortran/kronecker-product-2.f : a7aeb608e810f0c53230ec47aee2f2066b807c19bd0dd93562c4e052c3b4b089
+RosettaCodeData/Task/LZW-compression/Fortran/lzw-compression.f : 73ed3463cffc11f0af595c7a221ba2b646acc9c3a7320705d94b01e82f756d10
+RosettaCodeData/Task/Largest-proper-divisor-of-n/Fortran/largest-proper-divisor-of-n.f : cd023382112caf89779fc13f6e77f988881462822eef7028be48aecb51c638e7
+RosettaCodeData/Task/Law-of-cosines---triples/Fortran/law-of-cosines---triples.f : 99733f4eaa3324e23b29f7f7a539a376a7ffb55621c8cca27b8b89e63cecedea
+RosettaCodeData/Task/Leonardo-numbers/Fortran/leonardo-numbers.f : aab5d4c0d525df17d7c9feee1ba2d8bbf33bd778500c4b8fefc611e0c6ab6778
+RosettaCodeData/Task/Levenshtein-distance/Fortran/levenshtein-distance.f : a83f30d9b4879ca4522c1cbb22355ac70e78b59da4b2212168db321e72f4a223
+RosettaCodeData/Task/Long-year/Fortran/long-year.f : 2988cab51685cc381fc4da3babae771bdfbc6c7056a72b035305f4160ec53202
+RosettaCodeData/Task/Longest-common-substring/Fortran/longest-common-substring.f : 63f0ab5a10bce9a49fa1013648e024ea3c6bcdd0a11bb463664ea50da9e3322d
+RosettaCodeData/Task/Loops-Increment-loop-index-within-loop-body/Fortran/loops-increment-loop-index-within-loop-body-1.f : 882a5ff993d4958b293bd355df9b92829fc81bdb99b5c9cd3d4bf8199b5b4030
+RosettaCodeData/Task/Loops-Increment-loop-index-within-loop-body/Fortran/loops-increment-loop-index-within-loop-body-2.f : d8aeb3384b95eb95044787d2058db57ec36c54a64bf941d056039751a861e2eb
+RosettaCodeData/Task/Loops-Increment-loop-index-within-loop-body/Fortran/loops-increment-loop-index-within-loop-body-3.f : df304f3b02760a97ed90a6b05f07973c281d7f675a9b56ce3bf2d0276f2db383
+RosettaCodeData/Task/Lucas-Lehmer-test/Fortran/lucas-lehmer-test-1.f : fe6d75a709ebb375ca1084c48ecd544d4c3f5f093ca453d10ba8a5a777aae891
+RosettaCodeData/Task/Lucas-Lehmer-test/Fortran/lucas-lehmer-test-2.f : parse error
+RosettaCodeData/Task/Lychrel-numbers/Fortran/lychrel-numbers.f : internal error
+RosettaCodeData/Task/M-bius-function/Fortran/m-bius-function.f : 212a95bf9be8867bd44c96955e10f15393d32943185280e1072125b03a9ca735
+RosettaCodeData/Task/Magic-8-ball/Fortran/magic-8-ball.f : abb8ae94261f7598c827cd2ff88b52d6b3342cc3fed27536eb8a56b16d8542e3
+RosettaCodeData/Task/Matrix-chain-multiplication/Fortran/matrix-chain-multiplication.f : 91817fa14074c857131c54299a6585726d09dfb6946b4e5ca08f4c718a234bbf
+RosettaCodeData/Task/Mayan-calendar/Fortran/mayan-calendar.f : a42bbf5ef4e5cb1596f3be582f8a16c493285ba0a6001af0e412dfc343760983
+RosettaCodeData/Task/Mertens-function/Fortran/mertens-function.f : 4811840c0cbb4013378c344cc5eaf7d78b86f621d5cb46be47a7594e033baa9b
+RosettaCodeData/Task/Miller-Rabin-primality-test/Fortran/miller-rabin-primality-test-3.f : 04ced536626dfc510361fc557f21e6806a688eeec2c49fd0a81c3d13134556a0
+RosettaCodeData/Task/Modular-arithmetic/Fortran/modular-arithmetic-1.f : d05c914cdb0eafe533d7dfd94e267735c35673d0bc59cb99f7866c6cc49c89bc
+RosettaCodeData/Task/Modular-arithmetic/Fortran/modular-arithmetic-2.f : 5f50c760c21b223cda16222230a5944d80296af79201d632bd9a6b66d0ba75fb
+RosettaCodeData/Task/Modular-exponentiation/Fortran/modular-exponentiation.f : 0e5b66e9efc9305ebfd57503810bbaf3ec6e8c77d2a78290ae1d8e9598aa63cd
+RosettaCodeData/Task/Modular-inverse/Fortran/modular-inverse.f : 15ae99561ea578b3a5e72166aebded7ba19525eefd90b44d725833094ccd1ee2
+RosettaCodeData/Task/Multi-dimensional-array/Fortran/multi-dimensional-array-1.f : 4f4a048f10da32ea87964581106f86cb9ecb347e288e068ef1d4f3fb991505fa
+RosettaCodeData/Task/Multi-dimensional-array/Fortran/multi-dimensional-array-2.f : a4744d64acc7c7cfc35b9a3c4605b7cbda7e5d46ba224df1b5e0a6b65adde0e2
+RosettaCodeData/Task/Munchausen-numbers/Fortran/munchausen-numbers-1.f : 109fa6cc4edbe0f671352ad31efb9f24202e30901df0229188ca5bd2aad5c84a
+RosettaCodeData/Task/Munchausen-numbers/Fortran/munchausen-numbers-2.f : 78260e90928c3885664df2f18bbd076c308302abd6de902b42010ec2484ea533
+RosettaCodeData/Task/N-queens-problem/Fortran/n-queens-problem-5.f : 95242f43960b3157908ffe31593b9c5e98107f0ed6cf4fe585a8e68bc75b2296
+RosettaCodeData/Task/Naming-conventions/Fortran/naming-conventions-1.f : 18d5a1e06987f360a722b6c3b976b05c05a259f948655c57630007495e729223
+RosettaCodeData/Task/Naming-conventions/Fortran/naming-conventions-2.f : 7f2b4a18a550a4d2948ca38824fd4b44c14371088be5fd6529d88ab733c06078
+RosettaCodeData/Task/Naming-conventions/Fortran/naming-conventions-3.f : ff9e76f71809f5e95c71662dee7aca29f288917d304b23d903f2c561c70e830d
+RosettaCodeData/Task/Naming-conventions/Fortran/naming-conventions-4.f : a1151b8bb4413bb184497f271ebe83708da69642c4051a8c8e2539aa1f702452
+RosettaCodeData/Task/Nested-function/Fortran/nested-function-1.f : 764134261ad141dc3dd72a98d746d0e90ecccf0c79ed5caf8dad995b5a8d168d
+RosettaCodeData/Task/Nested-function/Fortran/nested-function-2.f : c030651432fcfbe020ad76e35db9a49ca6601c4fec1e396e89fe95636aa4ab99
+RosettaCodeData/Task/Nested-function/Fortran/nested-function-3.f : ec0cf8fe06c2dbcd65caa3fabf028059dd73c8346474bb7db8f9db0f0949ea66
+RosettaCodeData/Task/Numbers-with-equal-rises-and-falls/Fortran/numbers-with-equal-rises-and-falls.f : c0bde305cfab2feaafdabc8ee320dabc7cda3c5c7db7341a87170c5192781168
+RosettaCodeData/Task/Old-Russian-measure-of-length/Fortran/old-russian-measure-of-length.f : 8515b1b8b605be3d32b3757d99ccb3120c7fb6e2984d4d02bc69423ac92deba9
+RosettaCodeData/Task/One-of-n-lines-in-a-file/Fortran/one-of-n-lines-in-a-file.f : 05aa8d237e76b92412820defa409e1ead615d3f97dc80c74e2626cfbe5dbfb66
+RosettaCodeData/Task/Partition-an-integer-x-into-n-primes/Fortran/partition-an-integer-x-into-n-primes.f : 775b5d77c21431b7445b621d916f49e058b5ed15a51fd83b589da77a46225054
+RosettaCodeData/Task/Pascal-matrix-generation/Fortran/pascal-matrix-generation-1.f : aaa14761d7c08a0ad5d006b42bf426307062eef93d552c9135fd81696e3de65c
+RosettaCodeData/Task/Pascal-matrix-generation/Fortran/pascal-matrix-generation-2.f : 930277f63f5e0728182047733212f96d9778a9c66cc9957e557b432dee044d3f
+RosettaCodeData/Task/Pathological-floating-point-problems/Fortran/pathological-floating-point-problems-1.f : 302e5e9d1a4dc8e719ff84c874a9ae49292cdeca26b23c8f1bdd3f0c542ea11f
+RosettaCodeData/Task/Pathological-floating-point-problems/Fortran/pathological-floating-point-problems-2.f : d3d8aee99ac9b828d4888eee0aaf4728cb42b99a203c893d349cffceb4e13231
+RosettaCodeData/Task/Peaceful-chess-queen-armies/Fortran/peaceful-chess-queen-armies-1.f : cab7552eeab20e54b7392aed99e1ae7a889fa70b8afc19e0c8a89a452d2175ee
+RosettaCodeData/Task/Peaceful-chess-queen-armies/Fortran/peaceful-chess-queen-armies-2.f : f95a8a7e2a8f0aaf93ccf1c15b6a73e6d3db01272c0a2d59609674c7698cb437
+RosettaCodeData/Task/Peaceful-chess-queen-armies/Fortran/peaceful-chess-queen-armies-3.f : parse error
+RosettaCodeData/Task/Perfect-shuffle/Fortran/perfect-shuffle.f : b952bd40e0660a31649626e4963b4ea956a1d8bee4a7f5c438e244fcb89a7fed
+RosettaCodeData/Task/Perlin-noise/Fortran/perlin-noise.f : a77231dda02d3b63499c5cb9c32522ab4fea78dffb1548b108d9acd8f205766f
+RosettaCodeData/Task/Polynomial-long-division/Fortran/polynomial-long-division-3.f : 4b8a2ce25f6eafb40536adfacfbc4ebafe9170551e6f6974ffcea4c981ed1b59
+RosettaCodeData/Task/Population-count/Fortran/population-count.f : cea6be52247f4504fca2ab75698413b100349c80424c9f34982e236627e50624
+RosettaCodeData/Task/Prime-conspiracy/Fortran/prime-conspiracy.f : 6580c8d9b52901d31631e60a6b3b71f74c86aa63ba4487009c526eecaf2fa8a4
+RosettaCodeData/Task/Primorial-numbers/Fortran/primorial-numbers-1.f : 900769e5ad325d39b3a8e65c4850ba91a9ada779ad728981fcd060a3c0455eef
+RosettaCodeData/Task/Primorial-numbers/Fortran/primorial-numbers-2.f : 112a440731b94ea8d34b51e25e4c365f423a8830a467b7991cb821d34dd146f9
+RosettaCodeData/Task/Primorial-numbers/Fortran/primorial-numbers-3.f : cbae5cf8b34c9aff44e9fdc76c32d947081cfeaf14d0ca816ca4c6d16b584c28
+RosettaCodeData/Task/Proper-divisors/Fortran/proper-divisors.f : 7ac742dd106229b0956250c7805fdd370e45b7f74973695fa764caff4372da1a
+RosettaCodeData/Task/QR-decomposition/Fortran/qr-decomposition.f : 6bd515517607686f73036617566a3f842a22e49229b9df70afb2449c6d57aa69
+RosettaCodeData/Task/RIPEMD-160/Fortran/ripemd-160.f : f08f6e10b9b431dc26799bf196dde683237fa6eedf0c3a07a7cd14d5f03eab2a
+RosettaCodeData/Task/Random-number-generator-device-/Fortran/random-number-generator-device-.f : 14ba86951920bbc599af5a80a53af06a3ccf80b2668ac6085f26a9447b8e026e
+RosettaCodeData/Task/Random-number-generator-included-/Fortran/random-number-generator-included-.f : 33d6e07d91dad6aa2fa5b4771c2626e2211fed5f6cd1bac19d193790043655e4
+RosettaCodeData/Task/Search-a-list-of-records/Fortran/search-a-list-of-records.f : 24bfd01e912c348f45ac8656f516163efc25472716ddb9596b36a78871654f33
+RosettaCodeData/Task/Sequence-of-primes-by-trial-division/Fortran/sequence-of-primes-by-trial-division.f : d64aea9a2b395d43485ebecab00a0c9ff1d7a68eb54477d9a2c1f3f7984f49e8
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-1.f : 2c01be52b0075eaca5c08c79127312e40ab957f45cfb9d31542c0604383e7559
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-2.f : acee0886eef74a002617a4f4c257569243de59a2dfe1048b28b868bbc887063a
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-3.f : 7ee7ef157e129ae27748a739836b0ce4537e2caef0d1b2232ac2f29447066bfb
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-4.f : f6c9ae59356b627193acf1b299a66f2b7305c3f210f74c255ad65c3369499a5c
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-5.f : internal error
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-6.f : a295e35dfc020f9571b00c2b9727c4d961001d17afb0c6bb240181b38cc8f444
+RosettaCodeData/Task/Sequence-of-primorial-primes/Fortran/sequence-of-primorial-primes-7.f : 79d045bbcafb86bdb88c46d07bd3cf4915e6452a31df88a8cadfad37f0e218c7
+RosettaCodeData/Task/Shoelace-formula-for-polygonal-area/Fortran/shoelace-formula-for-polygonal-area-1.f : b9a65f428d4179f90ca4e3231c7cc8c4b05f12737d9d3903cc549a920634bf76
+RosettaCodeData/Task/Shoelace-formula-for-polygonal-area/Fortran/shoelace-formula-for-polygonal-area-2.f : 3c9253c12ac54517a437bf5959ed4357228a152164efa9376265c5d05007d37c
+RosettaCodeData/Task/Show-ASCII-table/Fortran/show-ascii-table.f : c8719c8072f71c5d748927ea4ea1e21388c7411daf0c81fddb896b57755c2136
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-5.f : 077633b4e6ec8e4a5a9cdd9b7cebf8726647ef4c18aaa5c52849f5c5c8303ef2
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-6.f : f90a3f82f282af0edd1ff171d60000b5ca86fa5bfd46bafea5931cd187aef94b
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-7.f : 36a02d405fb1054b163319e89ee29a7fecfeb976d9caa4162dc290c997aff778
+RosettaCodeData/Task/Sieve-of-Eratosthenes/Fortran/sieve-of-eratosthenes-8.f : 4c1a3ca3d20bc5886386d1a8c198cc168b3a46aa3c7daa4edd0bdb4fbfaa3e02
+RosettaCodeData/Task/Smith-numbers/Fortran/smith-numbers.f : 68b05a8bbcd9f958574b335d15d1b4d2225b11153afe8190f57e873c69376fd7
+RosettaCodeData/Task/Soloways-recurring-rainfall/Fortran/soloways-recurring-rainfall.f : 24206c7992202bc3505ebf2fa9eed48a60d492d2892d46d6806f78ded6a20c5f
+RosettaCodeData/Task/Solve-the-no-connection-puzzle/Fortran/solve-the-no-connection-puzzle.f : b904bfdeb561900c43f4d62ed056ff1514285f9b82d0b197874fef477ff76e93
+RosettaCodeData/Task/Sort-three-variables/Fortran/sort-three-variables-1.f : 9fcbb263e8f82a9f432f539b733666b462c2fa17fed7b8b04255d73f206c8214
+RosettaCodeData/Task/Sort-three-variables/Fortran/sort-three-variables-2.f : eaf1fb95e549e7284b86e6dca4bceff335ebea2e7380b506d2ea0201aa58267b
+RosettaCodeData/Task/Sorting-Algorithms-Circle-Sort/Fortran/sorting-algorithms-circle-sort.f : d59283a0bcaabcd1a950ac2216b50383ad370b8cafb0a047b9c19040e494f647
+RosettaCodeData/Task/Sorting-algorithms-Patience-sort/Fortran/sorting-algorithms-patience-sort.f : f454be8566c6dc504f7b015a4e9eade0fee08afa45637d3c73d2b5dd377e12f4
+RosettaCodeData/Task/Split-a-character-string-based-on-change-of-character/Fortran/split-a-character-string-based-on-change-of-character.f : 10279956dbfc83c12dd29eb2f8b58b84acea0033501ca0711d89150ecb281556
+RosettaCodeData/Task/Statistics-Normal-distribution/Fortran/statistics-normal-distribution.f : 6f3902b931ebddabee6a6e1726c35aee67fc8d83651a20039f916a5f29b3efc9
+RosettaCodeData/Task/Stern-Brocot-sequence/Fortran/stern-brocot-sequence-1.f : c8a81d2b6fa80ef4d5dac46a4659ffd2f09d73fb5150f057116f98064e41cab2
+RosettaCodeData/Task/Stern-Brocot-sequence/Fortran/stern-brocot-sequence-2.f : 40b75efde31afa20e100e9dd84b21b060d9a58024c32757ac4e630f5a5eb05da
+RosettaCodeData/Task/Stream-merge/Fortran/stream-merge.f : 3b195c4b4eddc03a48ddb74941abbdf1fadbd0651f1d39f13dc63a2fdf6479e2
+RosettaCodeData/Task/String-append/Fortran/string-append-1.f : 056a01c77971f05c7509ea89e70334cc896b853a1500d9c2cefb98ee5928f50c
+RosettaCodeData/Task/String-append/Fortran/string-append-2.f : 48fe63a11f7cb32dd82040cd2d0b8904a35eb78d3d1f90cab5adc7dcca72a69b
+RosettaCodeData/Task/String-interpolation-included-/Fortran/string-interpolation-included-.f : ece1e7f9f43607f9cd763e76a0591c609ea962d818eb241af947662bf5fd0e00
+RosettaCodeData/Task/Subleq/Fortran/subleq.f : 1274bd27e6fb4c6d1bfc272f29ee2d5128463a9917bb17b68f16be959007c6e4
+RosettaCodeData/Task/Substitution-cipher/Fortran/substitution-cipher.f : 00ea6cd0a03b0d50b2538bcf8b08beeb927dd9d21e1e96eb0d442637c40c4fd6
+RosettaCodeData/Task/Sum-to-100/Fortran/sum-to-100-1.f : 0baa956ffce5b75f6c74daa6ba7e3f59f937e512b988869943c2bdcbb3be11f7
+RosettaCodeData/Task/Sum-to-100/Fortran/sum-to-100-2.f : 61b72c885ba7c53e0b499ec7d966b6c50ccad2a737c81eb74ca86b3d9e4c1beb
+RosettaCodeData/Task/Take-notes-on-the-command-line/Fortran/take-notes-on-the-command-line.f : 1b8ecf85d405b07938faf4e62f60729ff690132d1872dd4487dbb10a6606a6cf
+RosettaCodeData/Task/Taxicab-numbers/Fortran/taxicab-numbers.f : c3e42f4ec735005225ee98a164c447f2eba4df160845678a53421d3648f72c57
+RosettaCodeData/Task/Terminal-control-Coloured-text/Fortran/terminal-control-coloured-text-1.f : 717d2f9a79fc6942ea494d584042dbfc0f405bac10b557852d15b26760585a8e
+RosettaCodeData/Task/Terminal-control-Coloured-text/Fortran/terminal-control-coloured-text-2.f : b8f551f25b05db4cad5d5dfed090e1befe14c2aec5523495ae9d9638c91c478e
+RosettaCodeData/Task/Test-integerness/Fortran/test-integerness-1.f : 9e2682db99c48e1cc9c20569d379771700bdd2fe15257aea797cd651668d2c81
+RosettaCodeData/Task/Test-integerness/Fortran/test-integerness-2.f : efbac2135575da4cee0d4b322f7bb082e03f2ea18c1ea8c1649b1edb0ec165d8
+RosettaCodeData/Task/Test-integerness/Fortran/test-integerness-3.f : 15b1aac49888180baddb71be0f3f4c5aacbb7a2f367152b1964a2ca8e68ba1aa
+RosettaCodeData/Task/Text-processing-Max-licenses-in-use/Fortran/text-processing-max-licenses-in-use.f : 4cfcc2868a42c2eaca902fd44f1e0ef21b3edd891bea02e336cad79acd4b748b
+RosettaCodeData/Task/The-sieve-of-Sundaram/Fortran/the-sieve-of-sundaram.f : cd05e746166c732bba34a8f7cd49abace09d4c703f423dc807e76afde0288089
+RosettaCodeData/Task/Thue-Morse/Fortran/thue-morse.f : 5a89e234e872940c0c135ab8ff5a0877700b0a25e4ebe779f12bf940f68be04d
+RosettaCodeData/Task/Tokenize-a-string-with-escaping/Fortran/tokenize-a-string-with-escaping.f : 5d3b37d9508bde15712c0585b5650235fdc3ec8d0c95812a505fcc657274807d
+RosettaCodeData/Task/Towers-of-Hanoi/Fortran/towers-of-hanoi-1.f : e441ca44259d547b6dedf2f44f7a4b14fb829d4531fbec3ba973e9bf6b9bdb60
+RosettaCodeData/Task/Towers-of-Hanoi/Fortran/towers-of-hanoi-2.f : 418b059e2180f7c6c9aeb36e67e6fb1eeb5403e04e544d9036d02aed8d4f2805
+RosettaCodeData/Task/Ulam-spiral-for-primes-/Fortran/ulam-spiral-for-primes--1.f : d72533ae5191daf1eb5ae38d6f658b558f98d4b37d2bf8606197352f60bdfe8d
+RosettaCodeData/Task/Ulam-spiral-for-primes-/Fortran/ulam-spiral-for-primes--2.f : 11f9fa057b8ac71fb47102389693b5b0f7e94215b4b4059363afd5b933a76987
+RosettaCodeData/Task/Use-another-language-to-call-a-function/Fortran/use-another-language-to-call-a-function.f : 5a2418a3f89933a37588f522ead2327c2a96c5d8fce9c77c4e6b7587d2408cdc
+RosettaCodeData/Task/Validate-International-Securities-Identification-Number/Fortran/validate-international-securities-identification-number.f : b20b2bd446c0cae224f9df405a4723c2d750e9b59446b8f7e9e06bd615481cfb
+RosettaCodeData/Task/Van-Eck-sequence/Fortran/van-eck-sequence.f : d62a66ca55cd441b3359b6dedf15067d6921b4425dc702569151f2e9870b5b42
+RosettaCodeData/Task/Vector/Fortran/vector.f : 8bd7f8af98636e9c7dad4b2f2f68a072d7f292f610287f2782481da7b257dac9
+RosettaCodeData/Task/Verify-distribution-uniformity-Chi-squared-test/Fortran/verify-distribution-uniformity-chi-squared-test-3.f : 7bb4b5ee245c27e09b4f0951654f59fa7b302047b2ceb62b85e5d8656a6ea169
+RosettaCodeData/Task/Write-entire-file/Fortran/write-entire-file.f : 8ce2f65bb1a323eebe865e963ef473af5684b67cc5ebdce19d08da80992ae3bd
+RosettaCodeData/Task/Xiaolin-Wus-line-algorithm/Fortran/xiaolin-wus-line-algorithm-1.f : 451a8920405f8498c635cbba31a2b97eb54fd7aa78c35f22c99435fca3c11232
+RosettaCodeData/Task/Xiaolin-Wus-line-algorithm/Fortran/xiaolin-wus-line-algorithm-2.f : internal error
+wannier90/src/w90spn2spn.F90 : 515a4dac2f0df5ef79f6f1e5e36ea50e8fede7cc7d36811ca04c6a54786638b2
+cp2k/src/aobasis/paw_basis_types.F : 9ff13b3be42631614654d8d37d0f4e7dfaf50dd228bdd2f3fac4640dacd10f9d
+cp2k/src/atom_set_basis.F : 8b7b836156b3e9c3e937d30cdcdb1c0dd6d5445ccf7a20296987703b1df0e921
+cp2k/src/dbm/dbm_api.F : 61ca72c131d0c861399287e0505ed320e0e5c25e7b958081d5cf20977fabd089
+cp2k/src/dbm/dbm_tests.F : 81788ac28eda739fc993bc31d61031d1caa3c071c548cdc62e256844e31a5795
+cp2k/src/dbt/dbt_allocate_wrap.F : e4a61def1e5379f26ae3a55b505a187ad8c05635aee075d2bb0b35f40f341f5b
+cp2k/src/dbt/dbt_api.F : 4400dc4f73ad9017fda3ebd4556c25660997265f9c699f44416d73a6a66e3998
+cp2k/src/dbt/dbt_array_list_methods.F : 54e9a636ccde263308f426b88c84eca7ec413865a9c9885b2257f571a814ac21
+cp2k/src/dbt/dbt_block.F : 3ef1c9db89a6e1f9202e321a0c007f00d6a1184b972c3ac1bb51526c68f6355e
+cp2k/src/dbt/dbt_index.F : b806c5cee44e5bd8f0370d76e0080633edb7a5bb2dfcd5eb8ac4b0f30449367e
+cp2k/src/dbt/dbt_io.F : 4bc724083542aa862c6edc24ebe96ebe6f4aae722bec88f5441e538716939b44
+cp2k/src/dbt/dbt_methods.F : 6b3f8612efb94883bcd4eda48f31ae3c71b52c63030f6e0b1903baa359ca0e8d
+cp2k/src/dbt/dbt_reshape_ops.F : f0bebe4b6dd680a0a2245881ef0fbcf6fe2617798177ffcd9dfede68d86dab91
+cp2k/src/dbt/dbt_split.F : df4b046a61c5b2151de2b8dea4ca1f4dfcfa20adf45b8f61004d34f19026a534
+cp2k/src/dbt/dbt_test.F : 3d027f3fe5057f6fdc697b50e2073256522ee63c7d97f761f6aeb8fee2a47512
+cp2k/src/dbt/dbt_types.F : 70c9441094e76ea6f7aad5792367b5b7cf496413c7715490197951281a4df2fb
+cp2k/src/dbt/dbt_unittest.F : 96073e9faf17a90d23b4c80d8462af2df6d0876875060f93ab687f7263616671
+cp2k/src/dbt/tas/dbt_tas_base.F : 2858201293f5e58cdf65fd5dc1cded3b336389bad75296b6dedc122158f6adb4
+cp2k/src/dbt/tas/dbt_tas_global.F : 779a8d39ee4037c0e3993b06c67155d27d54e12cc2803715e6de40cf3c1b101f
+cp2k/src/dbt/tas/dbt_tas_io.F : d3ab420b8ab42c480180841ecdced52d3008008c5f0169f5cbd882a35936dfa5
+cp2k/src/dbt/tas/dbt_tas_mm.F : 08095795ac2c1b7f2f8074dadc09caa02c3c7ec6640f305f5039824e23912f2d
+cp2k/src/dbt/tas/dbt_tas_reshape_ops.F : 399e90edf03a736e04d71e55f3317af02a14a9e7481dcf5cdb1fae41214a8232
+cp2k/src/dbt/tas/dbt_tas_split.F : 6f2ada55ebf58de0bc60cb7fd312ae85b5b57e63e689fdc6e46f915a13177ecf
+cp2k/src/dbt/tas/dbt_tas_test.F : 5ee95bd378d8b0b96b643c8c1114890fc1e729b9f65acc931b46fdbc9107c374
+cp2k/src/dbt/tas/dbt_tas_types.F : de4e862f3ea005668e4831f003e99303366ca9623776bbc2e8b181a078d1fe07
+cp2k/src/dbt/tas/dbt_tas_unittest.F : a6d2874da8f2b64816624f887671d82b41cc50baae3917f9d17b09387e4ae976
+cp2k/src/dbt/tas/dbt_tas_util.F : 9a74173206898b1a045502263819a0e782be187436801aad1395399c6821f7c7
+cp2k/src/dgemm_counter_types.F : 219592e2dab5128d804fb66f45dedca38c058c87efb80a58f7877a8391183be3
+cp2k/src/ec_methods.F : 928065c80909ca396bc701af43426a77e12445f0629be7373c32165cf7f75026
+cp2k/src/ec_orth_solver.F : eb6d6ef73dc419dda0a1f1d87e2e674f5a95de07a24275847cc0f5675794ce4f
+cp2k/src/ed_analysis.F : 7715f270b14773aacc5a0a1bd9659f687eb8389e2a97a3c0e710e5cbb558f5e3
+cp2k/src/emd/rt_projection_mo_utils.F : c3595612f4899da5ab7edc2057cb2e82a56f15d567bf38d3650bc98d3182581d
+cp2k/src/ex_property_calculation.F : e618d455ebe8dcb70bc2fa382c0c19543a24e624f0bd1747b01b5cfdef997a9b
+cp2k/src/excited_states.F : 0cbe2fbe4d51263ae7864e41d97ba56fb756aed582e250899014effba9f95d48
+cp2k/src/exstates_types.F : f82be903da8606179fee79e91dcddd953a7f4e972eb15e7210a3c37cb71fcd27
+cp2k/src/fm/cp_blacs_types.F : 6ac7e83b74f7f496abb700b25266d01bf11c3e4f94010133c17028efa5276cc6
+cp2k/src/fm/cp_dlaf_utils_api.F : b7de6b3a4142c5f79655dc6c5d9f34c9d56ebbbce5dc1a5581d92548e0f5b5b3
+cp2k/src/fm/cp_fm_cusolver_api.F : 83177c1517decc799720273418ecb431e15ed8f236bb194fb4cbbcc60a459f32
+cp2k/src/fm/cp_fm_dlaf_api.F : 142aab1cfce8382f8a3c403703cbef7f7069496e0f7492731eeccea628c29ba9
+cp2k/src/gapw_1c_basis_set.F : 4bf39ad9acea5568110571da12eec86ba0423682b2b17744f5ef435c0c605e0b
+cp2k/src/gw_communication.F : c7a389b1e6ba2895ad89301b5a8b085551750d1be70d3f16f066f11921df2c2c
+cp2k/src/gw_methods.F : 1dee7abb3014568608d2b864381181496c5ba1c86498b3afdeb5313802789228
+cp2k/src/gw_utils.F : cff73191791788960b015723bfdf97877d6ef98e0121ff66f20a5013f8938e02
+cp2k/src/hdf5_wrapper.F : 2eddc0dfae5765a30131f59914e5cff74f1d7d1be45c2672b98831d4299f4608
+cp2k/src/hfx_exx.F : 583af02d45b28618e97f8ef2c0005f0ef31bebf022d1e25c5dd5be59e09e8548
+cp2k/src/hfx_ri_kp.F : 7c5cb303f30c44153b295ad6d79e3cdae2f6ca17deefad68e3bab5e8bef3cf79
+cp2k/src/iao_analysis.F : ca957d621d120088069418a8b565f0647d5590d6be3a413981787bec86f434c4
+cp2k/src/iao_types.F : 7815c595c3d43e6196e9d0c90a06f00d948c5839d4d0a3556c22534463766a03
+cp2k/src/input_cp2k_exstate.F : 24ae8d2cea3012199c70e446baa705d3d619be9af25051fff5bd2a800baa2252
+cp2k/src/input_cp2k_projection_rtp.F : c09f0275e1e313f3aa99306163001e61c0c7fbe72d724f1776b1024cf7c4282a
+cp2k/src/input_cp2k_voronoi.F : c03149870ae1d55b0bee2736ffadff74612c8b0f514d360bdac1f56ea94205be
+cp2k/src/libgrpp_integrals.F : 52a4fdd3dfb266d09bdd4b1ad54ccfaca12cca01461d3bbca3eae954807bd1b2
+cp2k/src/local_gemm_api.F : cb2df3a6bcbccda47ff14ebc1eadede902f14a25da7637e9d1c3edfa7ab20ab5
+cp2k/src/manybody_allegro.F : a658557823d056d66a99c461ed2954aa82185d8e563e7edb78a142ab8dcb59a0
+cp2k/src/manybody_gal21.F : 30e336eadf59f3136afd0ce1cebf73f36eede2fed8ac01ebb0e2cf60acafb64a
+cp2k/src/manybody_nequip.F : 09bbe6c4ad19c270d32ad1c87cc4fa8aa38e5a916987f9827952694ba9f0a65a
+cp2k/src/min_basis_set.F : 1779efa125a064b42665e978abc983d79fb8e552bcd7a52703ab3fce1b32b211
+cp2k/src/motion/helium_nnp.F : bc67ace557e9766d2b53b307ab0492872485636be6388820c3f2e36fafde5bae
+cp2k/src/motion/space_groups.F : dfbb96604426b8e44a6eb75f1b7c1199f663f04799f2267a62f8f16f239b2903
+cp2k/src/motion/space_groups_types.F : 90923f4b86c0c35726ea7ff148d42c264f7ee837502315c69960cfa78ab01904
+cp2k/src/mpiwrap/mp_perf_env.F : 9b1eea1f41867cc3f8cee9a51dae74e23a7723f08227bd103717411ae21202f8
+cp2k/src/mpiwrap/mp_perf_test.F : 3a01b371c05dd7d72e5faa89deb9065274c42cd2ba95b54bdc5a491788399878
+cp2k/src/nequip_unittest.F : c10dcbb6d751cf2c5c6f6e6d1d72bdb7d5c8a655c3016345d4098236883a3f30
+cp2k/src/offload/offload_api.F : 3c42bb7802ad9ee974561e7ead609289ddb85e3b2a542cb67a0945e1e4181def
+cp2k/src/pao_param_equi.F : 864a067161943e11e289fd1a716b866dd5f246445f5b9c1b6443cf3510e61f2f
+cp2k/src/pao_param_methods.F : 7b1089629e9ec0f439a2fc55527308b24a963d1fc512aae4d42a5a76b345fd10
+cp2k/src/parallel_gemm_api.F : aa39105f4bf91fe1b664d5eb85a054d984c358766308b5822369f9905cb59f6e
+cp2k/src/post_scf_bandstructure_methods.F : b0e32468cf56c9d482cac3be469705a7cd4d70a75603a138d78304461b9e7e4b
+cp2k/src/post_scf_bandstructure_types.F : 3008d8f9677601202798e070ce2cd2254d0dfcc98af4f77ff05e8549ad4f8a1b
+cp2k/src/post_scf_bandstructure_utils.F : d096e5805e97d5d0c8955bff591b6aa6f30d1b71d6352fe00166574ffac9bbb8
+cp2k/src/pw/pw_copy_all.F : fad9e55c819fb4cfa7453b09695ebd70e70269eccb03f0ccc9f00b5a7e438e09
+cp2k/src/pw/pw_gpu.F : e8d1ea1ef8fae96998e78198aa1521c44a2b784270bd247eee4b877d97a2a462
+cp2k/src/qcschema.F : 632ffbc49870f94e71e52baa8d4339ac81c50ee8aeed6a08b62676b92097fc42
+cp2k/src/qs_2nd_kernel_ao.F : 757cabf2d97a7242bae38e425c680457ed6d72c804860c1f896bb2b0d4bf6d0f
+cp2k/src/qs_active_space_utils.F : 9da6f4f9cd1cbacd8e4cbf8192ff224bab6fbec8abbb61c2c0aa1d032eb63bd0
+cp2k/src/qs_atomic_block.F : 75dc5fb1973b3d7d60fef9b27fee31c2c2556ef57485a7db3636b1ad8b391895
+cp2k/src/qs_dcdr.F : 58e0fa6eeed206c0ad2a5ce8f1fcd484cd2652879b6f4b04bbe0e17345cdcd4a
+cp2k/src/qs_dcdr_ao.F : f3bd4c2d39c2ee570f59a11cb1da2af0f5697f85c066e235d0a78dedc50ce18f
+cp2k/src/qs_dcdr_utils.F : 25b70fe9347d65aaa6ce64513aeec65cb106c38681ff7e973a553e52f54e209a
+cp2k/src/qs_density_matrices.F : 81bbef711a7997de9ccba88082f0f70c3a52175792a422e4f070f86941c33719
+cp2k/src/qs_fxc.F : 10f37d3d15ca74919712e913900189dd5a7158e98febdafb8584a82470542284
+cp2k/src/qs_kernel_methods.F : 9e9dd4d117e06b0bf92fa6d1eca815143a02b1e8dc4854749edb799a1d4c160f
+cp2k/src/qs_kernel_types.F : 039e17ee08270cca776e9eeb2f931edf7b5bb2914feeadcdf67d501932569d3d
+cp2k/src/qs_ks_reference.F : 929c1fc7676f97874b493cca4b3f516acb38aa0cb143f28cb6f56045e0798936
+cp2k/src/qs_linres_kernel.F : d29a650f97b73a6caed820193653574da64096196761383dc4e5182731010b36
+cp2k/src/qs_loc_main.F : 17451ca70badb96ae12f33e8c2918bea3fe272ff30ae3d85efba1e35e6316b1f
+cp2k/src/qs_matrix_w.F : f6b12811cbc2ab99f71d4818797a2e36520fbf86367d1482e1113cd3757d6f98
+cp2k/src/qs_mfp.F : ad4440ebfd23ce36732606af7990e2505101ea3e04219607bcf50f768e6bb58d
+cp2k/src/qs_tddfpt2_assign.F : 7f5c5f4b2b96c08a43a480521c1938b122178f6ecab7ca39fe48c3739153f585
+cp2k/src/qs_tddfpt2_fhxc_forces.F : 5728f0b4ff2883b6f8089befd7b8077343ac28b06b8febf60be8d16a2427f924
+cp2k/src/qs_tddfpt2_forces.F : d13b33111d2848075898ddb5220b7b3cbc13b7a7f320d2e3cad0d8f3b58d212e
+cp2k/src/qs_tddfpt2_fprint.F : ab45504d728cd4c39cb87896230423de72353528007b3c2722c70a87ea2cc43e
+cp2k/src/qs_tddfpt2_lri_utils.F : 6e91732a79efd43f5e0303110fa474a764282a4062bd771fdaba301cbc8f56db
+cp2k/src/qs_tddfpt2_soc.F : 5a3c786187cd755e11585ea1c387aaa36437a2340cff75966efdb64970409c2a
+cp2k/src/qs_tddfpt2_soc_types.F : 81a210db875279b7d9c413dc9ff9b8a33d60ef9b9e67000f86cf24523619c02a
+cp2k/src/qs_tddfpt2_soc_utils.F : 978cb8a0b2584f4b63d90da6e4309ab1d82f35c9194eac81dbefec96060996a0
+cp2k/src/qs_vcd.F : b463e0b06ccee9e308c05e58a2397cbc67e12a398475e3587d2ad65ffb901681
+cp2k/src/qs_vcd_ao.F : 2cf087680d86b7c390a3e8bf7b6dc004a22b15342537e6aab93a06e597038fcb
+cp2k/src/qs_vcd_utils.F : 9a97e1ac64857fd863adcc039c4d21c3c22808df28fb1df2b195d40c8a5dd49e
+cp2k/src/rpa_grad.F : 80d8abfb1012fde1532707d38144488cd70094c7051a27600490290db4007ca3
+cp2k/src/rpa_gw_kpoints_util.F : bcd851a44ae1e76decf65f51e9332e92e21f7046465eb4e1cc986382d05a6330
+cp2k/src/rpa_gw_sigma_x.F : 0779b11654ce2105c9bbc286e326e15516770d960c91b80d32396de2f9c158ea
+cp2k/src/rpa_im_time_force_methods.F : b5eb7bd959f73dece6ee2e737dfaf4b8a6dd88ada93f64d96ba50bf84019a594
+cp2k/src/rpa_im_time_force_types.F : 0bc2f547d69d8d535b1021f9dd8dd0af742c3e58717cc0bc1dcad65bf8d8c832
+cp2k/src/rt_propagation_velocity_gauge.F : 35c59c1d9deb51131755ef5ac067fc1176695295b17a145dfc4be851839d858c
+cp2k/src/soc_pseudopotential_methods.F : 5c6b7a3c4383c212c8777d08c3673f772969c34526f02e7fdda344e75dbb7535
+cp2k/src/soc_pseudopotential_utils.F : 022104800725ae7b7260de7cbb5985fe968c4dbdfc71e014db0d7aced461fd52
+cp2k/src/sockets_interface.F : 453040b8f18f4fa30d86c35fc2033fc1747f81f555d89eec8bff0ce3c1a2e150
+cp2k/src/tip_scan_methods.F : 3b9316650ccc2820ae79e0225715064eb0fc368131d6464186772008857d072b
+cp2k/src/tip_scan_types.F : 324dd4a6f9985070ee44141d1d4fb3c98eb393ea1e07ab43e8607b652680a340
+cp2k/src/torch_api.F : 9233471408c528c895f24e0191f0d947d04257ba3adcbea523e83d889d3b64cc
+cp2k/src/xc/xc_b97_fxc.F : 435c0b103a8e53fb0f12be4a51b436e190de161da79cf05fef2edb05d88077b2
+cp2k/src/xc/xc_fxc_kernel.F : 2f0c1c8b9b391e4fc94b4c5b50e9853353a60f2efae68956052f0dd6284d5973
+cp2k/src/xc/xc_util.F : 3e3533b880b45291826bda099437d799a2c6e902664071aca9baa93df024cc6d
+cp2k/src/xtb_ehess_force.F : 84cf5ecf8adbc26ded77ffa4ee25932ccd51b894afbe80a49b07dcd2523d1ae6
diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config
new file mode 100644
index 0000000..c56c168
--- /dev/null
+++ b/fortran_tests/testsuites.config
@@ -0,0 +1,29 @@
+[DEFAULT]
+suite: builtin
+options:
+
+[Examples]
+obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True)
+path: examples
+
+[RosettaCodeData]
+obtain: repo = git.Repo.clone_from("https://github.com/acmeism/RosettaCodeData.git", "RosettaCodeData", no_checkout=True); repo.git.checkout("29a5eea")
+path: RosettaCodeData
+suite: regular
+
+[wannier90]
+obtain: git.Repo.clone_from("https://github.com/wannier-developers/wannier90", "wannier90", branch="v3.1.0")
+path: wannier90/src
+options: --indent 2
+suite: cron
+
+[cp2k]
+obtain: git.Repo.clone_from("https://github.com/cp2k/cp2k.git", "cp2k", branch="v2024.1")
+path: cp2k/src
+options: --whitespace 2 --indent 3 --case 2 2 2 2 --exclude-max-lines 10000
+suite: cron
+
+[flap]
+obtain: git.Repo.clone_from("https://github.com/szaghi/FLAP", "FLAP", branch="v1.2.5")
+path: FLAP
+suite: cron
diff --git a/fprettify/__init__.py b/fprettify/__init__.py
index d6450a3..247c0a6 100644
--- a/fprettify/__init__.py
+++ b/fprettify/__init__.py
@@ -70,6 +70,11 @@
import logging
import os
import io
+import shlex
+try:
+ import configargparse as argparse
+except ImportError:
+ import argparse
sys.stdin = io.TextIOWrapper(
sys.stdin.detach(), encoding='UTF-8', line_buffering=True)
@@ -236,6 +241,9 @@
parser_re(FYPP_ENDBLOCK_RE), parser_re(FYPP_ENDCALL_RE),
parser_re(FYPP_ENDMUTE_RE)]
+# line annotating fprettify options
+FPRETTIY_ANNOTATION_RE = re.compile("^\s*!\s*fprettify:\s*(.*)\s*$", RE_FLAGS)
+
class plusminus_parser(parser_re):
"""parser for +/- in addition
"""
@@ -472,8 +480,7 @@ def build_scope_parser(fypp=True, mod=True):
## F90_CONSTANTS_TYPES_RE = re.compile(r"\b" + F90_NUMBER_ALL_RE + "_(" + "|".join([a + r"\b" for a in (
F90_CONSTANTS_TYPES_RE = re.compile(
- r"(" + F90_NUMBER_ALL_RE + ")*_(" + "|".join((
- ## F2003 iso_fortran_env constants.
+ r"(" + F90_NUMBER_ALL_RE + ")_(" + "|".join((
## F2003 iso_c_binding constants.
"c_int", "c_short", "c_long", "c_long_long", "c_signed_char",
"c_size_t",
@@ -546,7 +553,7 @@ def process_lines_of_fline(self, f_line, lines, rel_ind, rel_ind_con,
if (self._initial and
(PROG_RE.match(f_line) or MOD_RE.match(f_line))):
- self._indent_storage[-1] = 0
+ self._indent_storage = [0]
self._line_indents = [0] * len(lines)
br_indent_list = [0] * len(lines)
@@ -872,7 +879,11 @@ def inspect_ffile_format(infile, indent_size, strict_indent, indent_fypp=False,
offset = len(lines[0]) - len(lines[0].lstrip(' '))
if f_line.strip() and first_indent == -1:
- first_indent = offset
+ if (PROG_RE.match(f_line) or MOD_RE.match(f_line)):
+ first_indent = 0
+ else:
+ first_indent = offset
+
indents.append(offset - prev_offset)
# don't impose indentation for blocked do/if constructs:
@@ -1229,10 +1240,11 @@ def add_whitespace_charwise(line, spacey, scope_parser, format_decl, filename, l
# strip whitespaces from '=' and prepare assignment operator
# formatting:
if char == '=' and not REL_OP_RE.search(line[pos - 1:pos + 2]):
+ is_pointer = line[pos + 1] == '>' if pos + 1 < len(line) else False
lhs = line_ftd[:pos + offset]
- rhs = line_ftd[pos + 1 + offset:]
- line_ftd = lhs.rstrip(' ') + '=' + rhs.lstrip(' ')
- is_pointer = line[pos + 1] == '>'
+ rhs = line_ftd[pos + 1 + is_pointer + offset:]
+ assign_op = '=' + '>'*is_pointer
+ line_ftd = lhs.rstrip(' ') + assign_op + rhs.lstrip(' ')
if (not level) or is_pointer: # remember position of assignment operator
pos_eq.append(len(lhs.rstrip(' ')))
@@ -1240,13 +1252,10 @@ def add_whitespace_charwise(line, spacey, scope_parser, format_decl, filename, l
for pos in pos_eq:
offset = len(line_ftd) - len(line)
- is_pointer = line[pos + 1] == '>'
+ is_pointer = line[pos + 1] == '>' if pos + 1 < len(line) else False
lhs = line_ftd[:pos + offset]
rhs = line_ftd[pos + 1 + is_pointer + offset:]
- if is_pointer:
- assign_op = '=>' # pointer assignment
- else:
- assign_op = '=' # assignment
+ assign_op = '=' + '>'*is_pointer
line_ftd = (lhs.rstrip(' ') +
' ' * spacey[1] + assign_op +
' ' * spacey[1] + rhs.lstrip(' '))
@@ -1387,6 +1396,23 @@ def reformat_inplace(filename, stdout=False, diffonly=False, **kwargs): # pragm
infile = io.open(filename, 'r', encoding='utf-8')
newfile = io.StringIO()
+
+ # check fprettify annotations overriding any previously parsed options
+ infile.seek(0)
+ arg_parser = get_arg_parser()
+ annotated_args = {}
+ for line in infile:
+ match = FPRETTIY_ANNOTATION_RE.search(line)
+ if match:
+ if annotated_args:
+ log_message("Ignoring subsequent '! fprettify: ...' comments within same file.")
+ continue
+
+ args_tmp = arg_parser.parse_args(shlex.split(match.group(1)))
+ annotated_args = process_args(args_tmp)
+
+ kwargs.update(annotated_args)
+
reformat_ffile(infile, newfile,
orig_filename=filename, **kwargs)
@@ -1554,7 +1580,7 @@ def reformat_ffile_combined(infile, outfile, impose_indent=True, indent_size=3,
lines, pre_ampersand, ampersand_sep = remove_pre_ampersands(
lines, is_special, orig_filename, stream.line_nr)
- linebreak_pos = get_linebreak_pos(lines, filter_fypp=not indent_fypp)
+ linebreak_pos = get_linebreak_pos(lines, not indent_fypp, orig_filename, stream.line_nr)
f_line = f_line.strip(' ')
@@ -1598,6 +1624,10 @@ def reformat_ffile_combined(infile, outfile, impose_indent=True, indent_size=3,
write_formatted_line(outfile, indent, lines, orig_lines, indent_special, llength,
use_same_line, is_omp_conditional, label, orig_filename, stream.line_nr)
+ # rm subsequent blank lines
+ skip_blank = EMPTY_RE.search(
+ f_line) and not any(comments) and not is_omp_conditional and not label and not use_same_line
+
do_indent, use_same_line = pass_defaults_to_next_line(f_line)
if impose_indent:
@@ -1606,11 +1636,6 @@ def reformat_ffile_combined(infile, outfile, impose_indent=True, indent_size=3,
else:
indent_special = 1
- # rm subsequent blank lines
- skip_blank = EMPTY_RE.search(
- f_line) and not any(comments) and not is_omp_conditional and not label
-
-
def format_comments(lines, comments, strip_comments):
comments_ftd = []
for line, comment in zip(lines, comments):
@@ -1762,7 +1787,7 @@ def append_comments(lines, comment_lines, is_special):
return lines
-def get_linebreak_pos(lines, filter_fypp=True):
+def get_linebreak_pos(lines, filter_fypp, filename, line_nr):
"""extract linebreak positions in Fortran line from lines"""
linebreak_pos = []
if filter_fypp:
@@ -1776,6 +1801,8 @@ def get_linebreak_pos(lines, filter_fypp=True):
if re.match(LINEBREAK_STR, line[char_pos:], RE_FLAGS):
found = char_pos
if found:
+ if re.search('&&', line, RE_FLAGS):
+ raise FprettifyParseException("Non-standard expression involving '&&'", filename, line_nr)
linebreak_pos.append(found)
elif notfortran_re.search(line.lstrip(' ')):
linebreak_pos.append(0)
@@ -1898,9 +1925,9 @@ def set_fprettify_logger(level):
logger.addHandler(stream_handler)
-def log_exception(e, message):
+def log_exception(e, message, level="exception"):
"""log an exception and a message"""
- log_message(message, "exception", e.filename, e.line_nr)
+ log_message(message, level, e.filename, e.line_nr)
def log_message(message, level, filename, line_nr):
@@ -1912,13 +1939,52 @@ def log_message(message, level, filename, line_nr):
logger_to_use(message, extra=logger_d)
-def run(argv=sys.argv): # pragma: no cover
- """Command line interface"""
+def process_args(args):
+
+ def build_ws_dict(args):
+ """helper function to build whitespace dictionary"""
+ ws_dict = {}
+ ws_dict['comma'] = args.whitespace_comma
+ ws_dict['assignments'] = args.whitespace_assignment
+ ws_dict['decl'] = args.whitespace_decl
+ ws_dict['relational'] = args.whitespace_relational
+ ws_dict['logical'] = args.whitespace_logical
+ ws_dict['plusminus'] = args.whitespace_plusminus
+ ws_dict['multdiv'] = args.whitespace_multdiv
+ ws_dict['print'] = args.whitespace_print
+ ws_dict['type'] = args.whitespace_type
+ ws_dict['intrinsics'] = args.whitespace_intrinsics
+ return ws_dict
+
+ args_out = {}
+
+ args_out['whitespace_dict'] = build_ws_dict(args)
+
+ args_out['case_dict'] = {
+ 'keywords' : args.case[0],
+ 'procedures' : args.case[1],
+ 'operators' : args.case[2],
+ 'constants' : args.case[3]
+ }
+
+ args_out['impose_indent'] = not args.disable_indent
+ args_out['indent_size'] = args.indent
+ args_out['strict_indent'] = args.strict_indent
+ args_out['impose_whitespace'] = not args.disable_whitespace
+ args_out['impose_replacements'] = args.enable_replacements
+ args_out['cstyle'] = args.c_relations
+ args_out['whitespace'] = args.whitespace
+ args_out['llength'] = 1024 if args.line_length == 0 else args.line_length
+ args_out['strip_comments'] = args.strip_comments
+ args_out['format_decl'] = args.enable_decl
+ args_out['indent_fypp'] = not args.disable_fypp
+ args_out['indent_mod'] = not args.disable_indent_mod
+
+
+ return args_out
- try:
- import configargparse as argparse
- except ImportError:
- import argparse
+def get_arg_parser(args={}):
+ """helper function to create the parser object"""
def str2bool(str):
"""helper function to convert strings to bool"""
@@ -1929,6 +1995,86 @@ def str2bool(str):
else:
return None
+ parser = argparse.ArgumentParser(**args)
+
+ parser.add_argument("-i", "--indent", type=int, default=3,
+ help="relative indentation width")
+ parser.add_argument("-l", "--line-length", type=int, default=132,
+ help="column after which a line should end, viz. -ffree-line-length-n for GCC")
+ parser.add_argument("-w", "--whitespace", type=int,
+ choices=range(0, 5), default=2, help="Presets for the amount of whitespace - "
+ " 0: minimal whitespace"
+ " | 1: operators (except arithmetic), print/read"
+ " | 2: operators, print/read, plus/minus"
+ " | 3: operators, print/read, plus/minus, muliply/divide"
+ " | 4: operators, print/read, plus/minus, muliply/divide, type component selector")
+ parser.add_argument("--whitespace-comma", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for comma/semicolons")
+ parser.add_argument("--whitespace-assignment", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for assignments")
+ parser.add_argument("--whitespace-decl", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for declarations (requires '--enable-decl')")
+ parser.add_argument("--whitespace-relational", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for relational operators")
+ parser.add_argument("--whitespace-logical", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for logical operators")
+ parser.add_argument("--whitespace-plusminus", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for plus/minus arithmetic")
+ parser.add_argument("--whitespace-multdiv", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for multiply/divide arithmetic")
+ parser.add_argument("--whitespace-print", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for print/read statements")
+ parser.add_argument("--whitespace-type", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for select type components")
+ parser.add_argument("--whitespace-intrinsics", type=str2bool, nargs="?", default="None", const=True,
+ help="boolean, en-/disable whitespace for intrinsics like if/write/close")
+ parser.add_argument("--strict-indent", action='store_true', default=False, help="strictly impose indentation even for nested loops")
+ parser.add_argument("--enable-decl", action="store_true", default=False, help="enable whitespace formatting of declarations ('::' operator).")
+ parser.add_argument("--disable-indent", action='store_true', default=False, help="don't impose indentation")
+ parser.add_argument("--disable-whitespace", action='store_true', default=False, help="don't impose whitespace formatting")
+ parser.add_argument("--enable-replacements", action='store_true', default=False, help="replace relational operators (e.g. '.lt.' <--> '<')")
+ parser.add_argument("--c-relations", action='store_true', default=False, help="C-style relational operators ('<', '<=', ...)")
+ parser.add_argument("--case", nargs=4, default=[0,0,0,0], type=int, help="Enable letter case formatting of intrinsics by specifying which of "
+ "keywords, procedures/modules, operators and constants (in this order) should be lowercased or uppercased - "
+ " 0: do nothing"
+ " | 1: lowercase"
+ " | 2: uppercase")
+
+ parser.add_argument("--strip-comments", action='store_true', default=False, help="strip whitespaces before comments")
+ parser.add_argument('--disable-fypp', action='store_true', default=False,
+ help="Disables the indentation of fypp preprocessor blocks.")
+ parser.add_argument('--disable-indent-mod', action='store_true', default=False,
+ help="Disables the indentation after module / program.")
+
+ parser.add_argument("-d","--diff", action='store_true', default=False,
+ help="Write file differences to stdout instead of formatting inplace")
+ parser.add_argument("-s", "--stdout", action='store_true', default=False,
+ help="Write to stdout instead of formatting inplace")
+
+ group = parser.add_mutually_exclusive_group()
+ group.add_argument("-S", "--silent", "--no-report-errors", action='store_true',
+ default=False, help="Don't write any errors or warnings to stderr")
+ group.add_argument("-D", "--debug", action='store_true',
+ default=False, help=argparse.SUPPRESS)
+ parser.add_argument("path", type=str, nargs='*',
+ help="Paths to files to be formatted inplace. If no paths are given, stdin (-) is used by default. Path can be a directory if --recursive is used.", default=['-'])
+ parser.add_argument('-r', '--recursive', action='store_true',
+ default=False, help="Recursively auto-format all Fortran files in subdirectories of specified path; recognized filename extensions: {}". format(", ".join(FORTRAN_EXTENSIONS)))
+ parser.add_argument('-e', '--exclude-pattern', '--exclude', action='append',
+ default=[], type=str,
+ help="File or directory patterns to be excluded when searching for Fortran files to format")
+ parser.add_argument('-m', '--exclude-max-lines', type=int,
+ help="Exclude large files when searching for Fortran files to format by specifying the maximum number of lines per file")
+ parser.add_argument('-f', '--fortran', type=str, action='append', default=[],
+ help="Overrides default fortran extensions recognized by --recursive. Repeat this option to specify more than one extension.")
+ parser.add_argument('--version', action='version',
+ version='%(prog)s 0.3.7')
+ return parser
+
+
+def run(argv=sys.argv): # pragma: no cover
+ """Command line interface"""
+
def get_config_file_list(filename):
"""helper function to create list of config files found in parent directories"""
config_file_list = []
@@ -1951,101 +2097,10 @@ def get_config_file_list(filename):
arguments['args_for_setting_config_path'] = ['-c', '--config-file']
arguments['description'] = arguments['description'] + " Config files ('.fprettify.rc') in the home (~) directory and any such files located in parent directories of the input file will be used. When the standard input is used, the search is started from the current directory."
- def get_arg_parser(args):
- """helper function to create the parser object"""
- parser = argparse.ArgumentParser(**args)
-
- parser.add_argument("-i", "--indent", type=int, default=3,
- help="relative indentation width")
- parser.add_argument("-l", "--line-length", type=int, default=132,
- help="column after which a line should end, viz. -ffree-line-length-n for GCC")
- parser.add_argument("-w", "--whitespace", type=int,
- choices=range(0, 5), default=2, help="Presets for the amount of whitespace - "
- " 0: minimal whitespace"
- " | 1: operators (except arithmetic), print/read"
- " | 2: operators, print/read, plus/minus"
- " | 3: operators, print/read, plus/minus, muliply/divide"
- " | 4: operators, print/read, plus/minus, muliply/divide, type component selector")
- parser.add_argument("--whitespace-comma", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for comma/semicolons")
- parser.add_argument("--whitespace-assignment", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for assignments")
- parser.add_argument("--whitespace-decl", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for declarations (requires '--enable-decl')")
- parser.add_argument("--whitespace-relational", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for relational operators")
- parser.add_argument("--whitespace-logical", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for logical operators")
- parser.add_argument("--whitespace-plusminus", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for plus/minus arithmetic")
- parser.add_argument("--whitespace-multdiv", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for multiply/divide arithmetic")
- parser.add_argument("--whitespace-print", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for print/read statements")
- parser.add_argument("--whitespace-type", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for select type components")
- parser.add_argument("--whitespace-intrinsics", type=str2bool, nargs="?", default="None", const=True,
- help="boolean, en-/disable whitespace for intrinsics like if/write/close")
- parser.add_argument("--strict-indent", action='store_true', default=False, help="strictly impose indentation even for nested loops")
- parser.add_argument("--enable-decl", action="store_true", default=False, help="enable whitespace formatting of declarations ('::' operator).")
- parser.add_argument("--disable-indent", action='store_true', default=False, help="don't impose indentation")
- parser.add_argument("--disable-whitespace", action='store_true', default=False, help="don't impose whitespace formatting")
- parser.add_argument("--enable-replacements", action='store_true', default=False, help="replace relational operators (e.g. '.lt.' <--> '<')")
- parser.add_argument("--c-relations", action='store_true', default=False, help="C-style relational operators ('<', '<=', ...)")
- parser.add_argument("--case", nargs=4, default=[0,0,0,0], type=int, help="Enable letter case formatting of intrinsics by specifying which of "
- "keywords, procedures/modules, operators and constants (in this order) should be lowercased or uppercased - "
- " 0: do nothing"
- " | 1: lowercase"
- " | 2: uppercase")
-
- parser.add_argument("--strip-comments", action='store_true', default=False, help="strip whitespaces before comments")
- parser.add_argument('--disable-fypp', action='store_true', default=False,
- help="Disables the indentation of fypp preprocessor blocks.")
- parser.add_argument('--disable-indent-mod', action='store_true', default=False,
- help="Disables the indentation after module / program.")
-
- parser.add_argument("-d","--diff", action='store_true', default=False,
- help="Write file differences to stdout instead of formatting inplace")
- parser.add_argument("-s", "--stdout", action='store_true', default=False,
- help="Write to stdout instead of formatting inplace")
-
- group = parser.add_mutually_exclusive_group()
- group.add_argument("-S", "--silent", "--no-report-errors", action='store_true',
- default=False, help="Don't write any errors or warnings to stderr")
- group.add_argument("-D", "--debug", action='store_true',
- default=False, help=argparse.SUPPRESS)
- parser.add_argument("path", type=str, nargs='*',
- help="Paths to files to be formatted inplace. If no paths are given, stdin (-) is used by default. Path can be a directory if --recursive is used.", default=['-'])
- parser.add_argument('-r', '--recursive', action='store_true',
- default=False, help="Recursively auto-format all Fortran files in subdirectories of specified path; recognized filename extensions: {}". format(", ".join(FORTRAN_EXTENSIONS)))
- parser.add_argument('-e', '--exclude', action='append',
- default=[], type=str,
- help="File or directory patterns to be excluded when searching for Fortran files to format")
- parser.add_argument('-f', '--fortran', type=str, action='append', default=[],
- help="Overrides default fortran extensions recognized by --recursive. Repeat this option to specify more than one extension.")
- parser.add_argument('--version', action='version',
- version='%(prog)s 0.3.7')
- return parser
-
parser = get_arg_parser(arguments)
args = parser.parse_args(argv[1:])
- def build_ws_dict(args):
- """helper function to build whitespace dictionary"""
- ws_dict = {}
- ws_dict['comma'] = args.whitespace_comma
- ws_dict['assignments'] = args.whitespace_assignment
- ws_dict['decl'] = args.whitespace_decl
- ws_dict['relational'] = args.whitespace_relational
- ws_dict['logical'] = args.whitespace_logical
- ws_dict['plusminus'] = args.whitespace_plusminus
- ws_dict['multdiv'] = args.whitespace_multdiv
- ws_dict['print'] = args.whitespace_print
- ws_dict['type'] = args.whitespace_type
- ws_dict['intrinsics'] = args.whitespace_intrinsics
- return ws_dict
-
# support legacy input:
if 'stdin' in args.path and not os.path.isfile('stdin'):
args.path = ['-' if _ == 'stdin' else _ for _ in args.path]
@@ -2080,15 +2135,27 @@ def build_ws_dict(args):
# Prune excluded patterns from list of child directories
dirnames[:] = [dirname for dirname in dirnames if not any(
[fnmatch(dirname,exclude_pattern) or fnmatch(os.path.join(dirpath,dirname),exclude_pattern)
- for exclude_pattern in args.exclude]
+ for exclude_pattern in args.exclude_pattern]
)]
for ffile in [os.path.join(dirpath, f) for f in files
if any(f.endswith(_) for _ in ext)
and not any([
fnmatch(f,exclude_pattern)
- for exclude_pattern in args.exclude])]:
- filenames.append(ffile)
+ for exclude_pattern in args.exclude_pattern])]:
+
+ include_file = True
+ if args.exclude_max_lines is not None:
+ line_count = 0
+ with open(ffile) as f:
+ for i in f:
+ line_count += 1
+ if line_count > args.exclude_max_lines:
+ include_file = False
+ break
+
+ if include_file:
+ filenames.append(ffile)
for filename in filenames:
@@ -2097,46 +2164,24 @@ def build_ws_dict(args):
if argparse.__name__ == "configargparse":
filearguments['default_config_files'] = ['~/.fprettify.rc'] + get_config_file_list(os.path.abspath(filename) if filename != '-' else os.getcwd())
file_argparser = get_arg_parser(filearguments)
- file_args = file_argparser.parse_args(argv[1:])
- ws_dict = build_ws_dict(file_args)
- case_dict = {
- 'keywords' : file_args.case[0],
- 'procedures' : file_args.case[1],
- 'operators' : file_args.case[2],
- 'constants' : file_args.case[3]
- }
+ args_tmp = file_argparser.parse_args(argv[1:])
+ file_args = process_args(args_tmp)
+ file_args['stdout'] = args_tmp.stdout or directory == '-'
+ file_args['diffonly'] = args.diff
- stdout = file_args.stdout or directory == '-'
- diffonly=file_args.diff
-
- if file_args.debug:
- level = logging.DEBUG
+ if args.debug:
+ args.debug_level = logging.DEBUG
elif args.silent:
- level = logging.CRITICAL
+ debug_level = logging.CRITICAL
else:
- level = logging.WARNING
+ debug_level = logging.WARNING
- set_fprettify_logger(level)
+ set_fprettify_logger(debug_level)
try:
- reformat_inplace(filename,
- stdout=stdout,
- diffonly=diffonly,
- impose_indent=not file_args.disable_indent,
- indent_size=file_args.indent,
- strict_indent=file_args.strict_indent,
- impose_whitespace=not file_args.disable_whitespace,
- impose_replacements=file_args.enable_replacements,
- cstyle=file_args.c_relations,
- case_dict=case_dict,
- whitespace=file_args.whitespace,
- whitespace_dict=ws_dict,
- llength=1024 if file_args.line_length == 0 else file_args.line_length,
- strip_comments=file_args.strip_comments,
- format_decl=file_args.enable_decl,
- indent_fypp=not file_args.disable_fypp,
- indent_mod=not file_args.disable_indent_mod)
+ reformat_inplace(filename, **file_args)
+
except FprettifyException as e:
log_exception(e, "Fatal error occured")
sys.exit(1)
diff --git a/fprettify/tests/__init__.py b/fprettify/tests/__init__.py
index 5980930..e69de29 100644
--- a/fprettify/tests/__init__.py
+++ b/fprettify/tests/__init__.py
@@ -1,1001 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-###############################################################################
-# This file is part of fprettify.
-# Copyright (C) 2016-2019 Patrick Seewald, CP2K developers group
-#
-# fprettify is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# fprettify is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with fprettify. If not, see .
-###############################################################################
-
-"""Dynamically create tests based on examples in examples/before."""
-from __future__ import (absolute_import, division,
- print_function, unicode_literals)
-
-import sys
-import os
-import unittest
-import hashlib
-import logging
-import io
-import re
-import difflib
-import subprocess
-import inspect
-
-sys.stderr = io.TextIOWrapper(
- sys.stderr.detach(), encoding='UTF-8', line_buffering=True)
-
-import fprettify
-from fprettify.fparse_utils import FprettifyParseException, FprettifyInternalException
-
-
-def joinpath(path1, path2):
- return os.path.normpath(os.path.join(path1, path2))
-
-MYPATH = os.path.dirname(os.path.abspath(
- inspect.getfile(inspect.currentframe())))
-
-BEFORE_DIR = joinpath(MYPATH, r'../../fortran_tests/before/')
-AFTER_DIR = joinpath(MYPATH, r'../../fortran_tests/after/')
-RESULT_DIR = joinpath(MYPATH, r'../../fortran_tests/test_results/')
-RESULT_FILE = joinpath(RESULT_DIR, r'expected_results')
-FAILED_FILE = joinpath(RESULT_DIR, r'failed_results')
-
-RUNSCRIPT = joinpath(MYPATH, r"../../fprettify.py")
-
-fprettify.set_fprettify_logger(logging.ERROR)
-
-
-class AlienInvasion(Exception):
- """Should not happen"""
- pass
-
-
-def eprint(*args, **kwargs):
- """
- Print to stderr - to print output compatible with default unittest output.
- """
-
- print(*args, file=sys.stderr, flush=True, **kwargs)
-
-class FPrettifyTestCase(unittest.TestCase):
- """
- test class to be recognized by unittest.
- """
-
- def shortDescription(self):
- """don't print doc string of testmethod"""
- return None
-
- def setUp(self):
- """
- setUp to be recognized by unittest.
- We have large files to compare, raise the limit
- """
- self.maxDiff = None
-
- @classmethod
- def setUpClass(cls):
- """
- setUpClass to be recognized by unittest.
- """
-
- cls.n_success = 0
- cls.n_parsefail = 0
- cls.n_internalfail = 0
- cls.n_unexpectedfail = 0
-
- eprint("-" * 70)
- eprint("recognized Fortran files")
- eprint(", ".join(fprettify.FORTRAN_EXTENSIONS))
- eprint("-" * 70)
- eprint("Testing with Fortran files in " + BEFORE_DIR)
- eprint("Writing formatted Fortran files to " + AFTER_DIR)
- eprint("Storing expected results in " + RESULT_FILE)
- eprint("Storing failed results in " + FAILED_FILE)
- eprint("-" * 70)
-
- @classmethod
- def tearDownClass(cls):
- """
- tearDownClass to be recognized by unittest. Used for test summary
- output.
- """
- if cls.n_parsefail + cls.n_internalfail > 0:
- format = "{:<20}{:<6}"
- eprint('\n' + "=" * 70)
- eprint("IGNORED errors: invalid or old Fortran")
- eprint("-" * 70)
- eprint(format.format("parse errors: ", cls.n_parsefail))
- eprint(format.format("internal errors: ", cls.n_internalfail))
-
- @staticmethod
- def write_result(filename, content, sep_str): # pragma: no cover
- with io.open(filename, 'a', encoding='utf-8') as outfile:
- outfile.write(sep_str.join(content) + '\n')
-
- def test_whitespace(self):
- """simple test for whitespace formatting options -w in [0, 1, 2]"""
- instring = "(/-a-b-(a+b-c)/(-c)*d**e,f[1]%v/)"
- outstring_exp = ["(/-a-b-(a+b-c)/(-c)*d**e,f[1]%v/)",
- "(/-a-b-(a+b-c)/(-c)*d**e, f[1]%v/)",
- "(/-a - b - (a + b - c)/(-c)*d**e, f[1]%v/)",
- "(/-a - b - (a + b - c) / (-c) * d**e, f[1]%v/)"]
-
- outstring = []
- for w, out in zip(range(0, 4), outstring_exp):
- args = ['-w', str(w)]
- self.assert_fprettify_result(args, instring, out)
-
- def test_type_selector(self):
- """test for whitespace formatting option -w 4"""
- instring = "A%component=func(mytype%a,mytype%abc+mytype%abcd)"
- outstring_exp = "A % component = func(mytype % a, mytype % abc + mytype % abcd)"
-
- self.assert_fprettify_result(['-w 4'], instring, outstring_exp)
-
- def test_indent(self):
- """simple test for indent options -i in [0, 3, 4]"""
-
- indents = [0, 3, 4]
-
- instring = "iF(teSt)ThEn\nCaLl subr(a,b,&\nc,(/d,&\ne,f/))\nEnD iF"
- outstring_exp = [
- "iF (teSt) ThEn\n" +
- " " * ind + "CaLl subr(a, b, &\n" +
- " " * (10 + ind) + "c, (/d, &\n" +
- " " * (15 + ind) + "e, f/))\nEnD iF"
- for ind in indents
- ]
-
- for ind, out in zip(indents, outstring_exp):
- args = ['-i', str(ind)]
- self.assert_fprettify_result(args, instring, out)
-
- def test_nested(self):
- """test correct indentation of nested loops"""
- instring = ("integer :: i,j\ndo i=1,2\ndo j=1,3\n"
- "print*,i,j,i*j\nend do\nend do")
- outstring_exp_default = ("integer :: i, j\ndo i = 1, 2\ndo j = 1, 3\n"
- " print *, i, j, i*j\nend do\nend do")
- outstring_exp_strict = ("integer :: i, j\ndo i = 1, 2\n do j = 1, 3\n"
- " print *, i, j, i*j\n end do\nend do")
-
- self.assert_fprettify_result([], instring, outstring_exp_default)
- self.assert_fprettify_result(['--strict-indent'], instring, outstring_exp_strict)
-
- def test_reset_indent(self):
- """test of reset indentation at file start"""
- instring = ("integer :: i,j\ndo i=1,2\ndo j=1,3\n"
- "print*,i,j,i*j\nend do\nend do",
- " module a\ninteger :: 1\n")
- outstring = ("integer :: i, j\ndo i = 1, 2\ndo j = 1, 3\n"
- " print *, i, j, i*j\nend do\nend do",
- "module a\n integer :: 1")
-
- for ind, out in zip(instring, outstring):
- self.assert_fprettify_result([],ind, out)
-
- def test_disable(self):
- """test disabling indentation and/or whitespace formatting"""
- instring = ("if(&\nl==111)&\n then\n do m =1, 2\n A=&\nB+C\n end do; endif")
- outstring_exp_default = ("if ( &\n l == 111) &\n then\n do m = 1, 2\n"
- " A = &\n B + C\n end do; end if")
- outstring_exp_nowhitespace = ("if(&\n l==111)&\n then\n do m =1, 2\n"
- " A=&\n B+C\n end do; endif")
- outstring_exp_noindent = ("if ( &\nl == 111) &\n then\n do m = 1, 2\n"
- " A = &\nB + C\n end do; end if")
-
- self.assert_fprettify_result([], instring, outstring_exp_default)
- self.assert_fprettify_result(['--disable-whitespace'], instring, outstring_exp_nowhitespace)
- self.assert_fprettify_result(['--disable-indent'], instring, outstring_exp_noindent)
- self.assert_fprettify_result(['--disable-indent', '--disable-whitespace'], instring, instring)
-
- def test_comments(self):
- """test options related to comments"""
- instring = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
- " REAL :: b, & ! c4\n! c5\n ! c6\n"
- " d ! c7\nEND TYPE ! c8")
- outstring_exp_default = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
- " REAL :: b, & ! c4\n ! c5\n ! c6\n"
- " d ! c7\nEND TYPE ! c8")
- outstring_exp_strip = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
- " REAL :: b, & ! c4\n ! c5\n ! c6\n"
- " d ! c7\nEND TYPE ! c8")
-
- self.assert_fprettify_result([], instring, outstring_exp_default)
- self.assert_fprettify_result(['--strip-comments'], instring, outstring_exp_strip)
-
- def test_directive(self):
- """
- test deactivate directives '!&' (inline) and '!&<', '!&>' (block)
- and manual alignment (continuation line prefixed with '&')
- """
-
- # manual alignment
- instring = "align_me = [ -1, 10,0, &\n & 0,1000 , 0,&\n &0 , -1, 1]"
- outstring_exp = "align_me = [-1, 10, 0, &\n & 0, 1000, 0,&\n &0, -1, 1]"
- self.assert_fprettify_result([], instring, outstring_exp)
-
- # inline deactivate
- instring2 = '\n'.join(_ + ' !&' for _ in instring.splitlines())
- outstring_exp = instring2
- self.assert_fprettify_result([], instring2, outstring_exp)
-
- # block deactivate
- instring3 = '!&<\n' + instring + '\n!&>'
- outstring_exp = instring3
- self.assert_fprettify_result([], instring3, outstring_exp)
-
- def assert_fprettify_result(self, args, instring, outstring_exp):
- """
- assert that result of calling fprettify with args on instring gives
- outstring_exp
- """
- args.insert(0, RUNSCRIPT)
- p1 = subprocess.Popen(
- args, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
- outstring = p1.communicate(instring.encode(
- 'UTF-8'))[0].decode('UTF-8').rstrip()
- self.assertEqual(outstring_exp.rstrip(), outstring)
-
- def test_io(self):
- """simple test for io (file inplace, stdin & stdout)"""
-
- # io and unicode
- outstring = []
- instring = "CALL alien_invasion( 👽 )"
- outstring_exp = "CALL alien_invasion(👽)"
-
- alien_file = "alien_invasion.f90"
- if os.path.isfile(alien_file):
- raise AlienInvasion(
- "remove file alien_invasion.f90") # pragma: no cover
-
- try:
- with io.open(alien_file, 'w', encoding='utf-8') as infile:
- infile.write(instring)
-
- # testing stdin --> stdout
- p1 = subprocess.Popen(RUNSCRIPT,
- stdout=subprocess.PIPE, stdin=subprocess.PIPE)
- outstring.append(p1.communicate(
- instring.encode('UTF-8'))[0].decode('UTF-8'))
-
- # testing file --> stdout
- p1 = subprocess.Popen([RUNSCRIPT, alien_file, '--stdout'],
- stdout=subprocess.PIPE)
- outstring.append(p1.communicate(
- instring.encode('UTF-8')[0])[0].decode('UTF-8'))
-
- # testing file --> file (inplace)
- p1 = subprocess.Popen([RUNSCRIPT, alien_file])
- p1.wait()
-
- with io.open(alien_file, 'r', encoding='utf-8') as infile:
- outstring.append(infile.read())
-
- for outstr in outstring:
- self.assertEqual(outstring_exp, outstr.strip())
- except: # pragma: no cover
- if os.path.isfile(alien_file):
- os.remove(alien_file)
- raise
- else:
- os.remove(alien_file)
-
- def test_multi_alias(self):
- """test for issue #11 (multiple alias and alignment)"""
- instring="use A,only:B=>C,&\nD=>E"
- outstring="use A, only: B => C, &\n D => E"
- self.assert_fprettify_result([], instring, outstring)
-
- def test_use(self):
- """test for alignment of use statements"""
- instring1="use A,only:B,C,&\nD,E"
- instring2="use A,only:&\nB,C,D,E"
- outstring1="use A, only: B, C, &\n D, E"
- outstring2="use A, only: &\n B, C, D, E"
- self.assert_fprettify_result([], instring1, outstring1)
- self.assert_fprettify_result([], instring2, outstring2)
-
- def test_wrongkind(self):
- """test whitespacing of deprecated kind definition"""
- instring = ["REAL*8 :: r, f ! some reals",
- "REAL * 8 :: r, f ! some reals",
- "INTEGER * 4 :: c, i ! some integers",
- "INTEGER*4 :: c, i ! some integers"]
- outstring = ["REAL*8 :: r, f ! some reals",
- "REAL*8 :: r, f ! some reals",
- "INTEGER*4 :: c, i ! some integers",
- "INTEGER*4 :: c, i ! some integers"]
-
- for i in range(0, len(instring)):
- self.assert_fprettify_result([], instring[i], outstring[i])
-
- def test_new_intrinsics(self):
- """test new I/O intrinsics"""
- instring = ["REWIND(12)",
- "BACKSPACE(13)",
- "INQUIRE(14)"]
- outstring = ["REWIND (12)",
- "BACKSPACE (13)",
- "INQUIRE (14)"]
-
- for i in range(0, len(instring)):
- self.assert_fprettify_result([], instring[i], outstring[i])
-
- def test_associate(self):
- """test correct formatting of associate construct"""
- instring = ("associate(a=>b , c =>d ,e=> f )\n"
- "e=a+c\n"
- "end associate")
- outstring = ("associate (a => b, c => d, e => f)\n"
- " e = a + c\n"
- "end associate")
-
- self.assert_fprettify_result([], instring, outstring)
-
- def test_line_length(self):
- """test line length option"""
- instring = ["REAL(KIND=4) :: r,f ! some reals",
- "if( min == max.and.min .eq. thres )",
- "INQUIRE(14)"]
- instring_ = "if( min == max.and.min .eq. thres ) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2,parameter3,parameter4,parameter5,err) ! this line would be too long"
- outstring = ["REAL(KIND=4) :: r, f ! some reals",
- "REAL(KIND=4) :: r,f ! some reals",
- "if (min == max .and. min .eq. thres)",
- "if( min == max.and.min .eq. thres )",
- "INQUIRE (14)",
- "INQUIRE (14)"]
- outstring_ = ["if( min == max.and.min .eq. thres ) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2,parameter3,parameter4,parameter5,err) ! this line would be too long",
- "if (min == max .and. min .eq. thres) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2, parameter3, parameter4, parameter5, err) ! this line would be too long"]
-
- # test shorter lines first, after all the actual length doesn't matter
- for i in range(0, len(instring)):
- self.assert_fprettify_result(['-S'], instring[i], outstring[2*i])
- self.assert_fprettify_result(['-S', '-l 20'], instring[i], outstring[2*i + 1])
- # now test a long line
- self.assert_fprettify_result(['-S'], instring_, outstring_[0])
- self.assert_fprettify_result(['-S', '-l 0'], instring_, outstring_[1])
-
- def test_relation_replacement(self):
- """test replacement of relational statements"""
- instring = ["if ( min < max .and. min .lt. thres)",
- "if (min > max .and. min .gt. thres )",
- "if ( min == max .and. min .eq. thres )",
- "if(min /= max .and. min .ne. thres)",
- "if(min >= max .and. min .ge. thres )",
- "if( min <= max .and. min .le. thres)",
- "'==== heading",
- "if (vtk%my_rank .eq. 0) write (vtk%filehandle_par, '(\"\",",
- "if (abc(1) .lt. -bca .or. &\n qwe .gt. ewq) then"]
- f_outstring = ["if (min .lt. max .and. min .lt. thres)",
- "if (min .gt. max .and. min .gt. thres)",
- "if (min .eq. max .and. min .eq. thres)",
- "if (min .ne. max .and. min .ne. thres)",
- "if (min .ge. max .and. min .ge. thres)",
- "if (min .le. max .and. min .le. thres)",
- "'==== heading",
- "if (vtk%my_rank .eq. 0) write (vtk%filehandle_par, '(\"\",",
- "if (abc(1) .lt. -bca .or. &\n qwe .gt. ewq) then"]
- c_outstring = ["if (min < max .and. min < thres)",
- "if (min > max .and. min > thres)",
- "if (min == max .and. min == thres)",
- "if (min /= max .and. min /= thres)",
- "if (min >= max .and. min >= thres)",
- "if (min <= max .and. min <= thres)",
- "'==== heading",
- "if (vtk%my_rank == 0) write (vtk%filehandle_par, '(\"\",",
- "if (abc(1) < -bca .or. &\n qwe > ewq) then"]
- for i in range(0, len(instring)):
- self.assert_fprettify_result(['--enable-replacements', '--c-relations'], instring[i], c_outstring[i])
- self.assert_fprettify_result(['--enable-replacements'], instring[i], f_outstring[i])
-
- def test_swap_case(self):
- """test replacement of keyword character case"""
- instring = (
- "MODULE exAmple",
- "INTEGER, PARAMETER :: SELECTED_REAL_KIND = 1*2",
- "INTEGER, PARAMETER :: dp1 = SELECTED_REAL_KIND ( 15 , 307)",
- 'CHARACTER(LEN=*), PARAMETER :: a = "INTEGER, PARAMETER" // "b"',
- "CHARACTER(LEN=*), PARAMETER :: a = 'INTEGER, PARAMETER' // 'b'",
- "INTEGER(kind=int64), PARAMETER :: l64 = 2_int64",
- "REAL(kind=real64), PARAMETER :: r64a = 2._real64",
- "REAL(kind=real64), PARAMETER :: r64b = 2.0_real64",
- "REAL(kind=real64), PARAMETER :: r64c = .0_real64",
- "REAL(kind=real64), PARAMETER :: r64a = 2.e3_real64",
- "REAL(kind=real64), PARAMETER :: r64b = 2.0e3_real64",
- "REAL(kind=real64), PARAMETER :: r64c = .0e3_real64",
- "REAL, PARAMETER :: r32 = 2.e3",
- "REAL, PARAMETER :: r32 = 2.0d3",
- "REAL, PARAMETER :: r32 = .2e3",
- "USE ISO_FORTRAN_ENV, ONLY: int64",
- "INTEGER, INTENT(IN) :: r, i, j, k",
- "IF (l.EQ.2) l=MAX (l64, 2_int64)",
- "PURE SUBROUTINE mypure()"
- )
- outstring = (
- "module exAmple",
- "integer, parameter :: SELECTED_REAL_KIND = 1*2",
- "integer, parameter :: dp1 = selected_real_kind(15, 307)",
- 'character(LEN=*), parameter :: a = "INTEGER, PARAMETER"//"b"',
- "character(LEN=*), parameter :: a = 'INTEGER, PARAMETER'//'b'",
- "integer(kind=INT64), parameter :: l64 = 2_INT64",
- "real(kind=REAL64), parameter :: r64a = 2._REAL64",
- "real(kind=REAL64), parameter :: r64b = 2.0_REAL64",
- "real(kind=REAL64), parameter :: r64c = .0_REAL64",
- "real(kind=REAL64), parameter :: r64a = 2.E3_REAL64",
- "real(kind=REAL64), parameter :: r64b = 2.0E3_REAL64",
- "real(kind=REAL64), parameter :: r64c = .0E3_REAL64",
- "real, parameter :: r32 = 2.E3",
- "real, parameter :: r32 = 2.0D3",
- "real, parameter :: r32 = .2E3",
- "use iso_fortran_env, only: INT64",
- "integer, intent(IN) :: r, i, j, k",
- "if (l .eq. 2) l = max(l64, 2_INT64)",
- "pure subroutine mypure()"
- )
- for i in range(len(instring)):
- self.assert_fprettify_result(['--case', '1', '1', '1', '2'],
- instring[i], outstring[i])
-
- def test_do(self):
- """test correct parsing of do statement"""
- instring = "do = 1\nb = 2"
-
- self.assert_fprettify_result([], instring, instring)
-
- def test_omp(self):
- """test formatting of omp directives"""
- instring = ("PROGRAM test_omp\n"
- " !$OMP PARALLEL DO\n"
- "b=4\n"
- "!$a=b\n"
- "!$ a=b\n"
- " !$ c=b\n"
- "!$acc parallel loop\n"
- "!$OMP END PARALLEL DO\n"
- "END PROGRAM")
- outstring = ("PROGRAM test_omp\n"
- "!$OMP PARALLEL DO\n"
- " b = 4\n"
- "!$a=b\n"
- "!$ a = b\n"
- "!$ c = b\n"
- "!$acc parallel loop\n"
- "!$OMP END PARALLEL DO\n"
- "END PROGRAM")
-
- self.assert_fprettify_result([], instring, outstring)
-
- def test_ford(self):
- """test formatting of ford comments"""
- instring = (" a = b\n"
- " !! ford docu\n"
- "b=c\n"
- " !! ford docu\n"
- "subroutine test(a,b,&\n"
- " !! ford docu\n"
- " c, d, e)"
- )
- outstring = (" a = b\n"
- " !! ford docu\n"
- " b = c\n"
- " !! ford docu\n"
- " subroutine test(a, b, &\n"
- " !! ford docu\n"
- " c, d, e)"
- )
-
- self.assert_fprettify_result([], instring, outstring)
-
- def test_plusminus(self):
- """test corner cases of +/-"""
- instring = "val_1d-1-1.0e-9-2.0d-08+.2e-1-val_2d-3.e-12+4"
- outstring = "val_1d - 1 - 1.0e-9 - 2.0d-08 + .2e-1 - val_2d - 3.e-12 + 4"
- self.assert_fprettify_result([], instring, outstring)
-
- def test_fypp(self):
- """test formatting of fypp statements"""
-
- instring = []
- outstring = []
-
- instring += [
-"""
-#:if DEBUG> 0
-print *, "hola"
-if( .not. (${cond}$) ) then
-#:if ASSERT(cond)
-print *, "Assert failed!"
-#:endif
-error stop
-end if
-#:endif
-"""
-]
-
- outstring += [
-"""
-#:if DEBUG> 0
- print *, "hola"
- if (.not. (${cond}$)) then
- #:if ASSERT(cond)
- print *, "Assert failed!"
- #:endif
- error stop
- end if
-#:endif
-"""
-]
-
- instring += [
-"""
-if (.not. (${cond}$)) then
- #:for element in list
- print *, "Element is in list!"
- #:endfor
- error stop
-end if
-"""
-]
-
- outstring += [
-"""
-if (.not. (${cond}$)) then
- #:for element in list
- print *, "Element is in list!"
- #:endfor
- error stop
-end if
-"""
-]
-
- instring += [
-"""
-#:if aa > 1
-print *, "Number is more than 1"
-if (condition) then
- #:def something
- print *, "Added Definition!"
- #:enddef
-end if
-#:endif
-"""
-]
-
- outstring += [
-"""
-#:if aa > 1
- print *, "Number is more than 1"
- if (condition) then
- #:def something
- print *, "Added Definition!"
- #:enddef
- end if
-#:endif
-"""
-]
-
- instring += [
-"""
-#:def DEBUG_CODE( code)
- #:if DEBUG > 0
- $:code
- #:endif
-#:enddef DEBUG_CODE
-"""
-]
-
- outstring += [
-"""
-#:def DEBUG_CODE( code)
- #:if DEBUG > 0
- $:code
- #:endif
-#:enddef DEBUG_CODE
-"""
-]
-
-
- instring += [
-"""
-#:block DEBUG_CODE
- if (a 0
-print *, "hola"
-if (.not. (${cond}$)) then
- #:mute
- print *, "Muted"
- #:endmute
- error stop
-end if
-#:endif
-"""
-]
-
- outstring += [
-"""
-#:if DEBUG > 0
- print *, "hola"
- if (.not. (${cond}$)) then
- #:mute
- print *, "Muted"
- #:endmute
- error stop
- end if
-#:endif
-"""
-]
-
- instring += [
-"""
-program try
-#:def mydef
-a = &
-#:if dothat
-b + &
-#:else
-c + &
-#:endif
-d
-#:enddef
-end program
-"""
-]
-
- outstring += [
-"""
-program try
- #:def mydef
- a = &
-#:if dothat
- b + &
-#:else
- c + &
-#:endif
- d
- #:enddef
-end program
-"""
-]
-
- instring += [
-"""
-#:if worktype
- ${worktype}$, &
-#:else
- ${type}$, &
-#:endif
- DIMENSION(${arr_exp}$), &
- POINTER :: work
-"""
-]
-
- outstring += [
-"""
-#:if worktype
-${worktype}$, &
-#:else
- ${type}$, &
-#:endif
- DIMENSION(${arr_exp}$), &
- POINTER :: work
-"""
-]
-
-
-
- for instr, outstr in zip(instring, outstring):
- self.assert_fprettify_result([], instr, outstr)
-
- def test_mod(self):
- """test indentation of module / program"""
- instring_mod = "module my_module\nintrinsic none\ncontains\nfunction my_func()\nend\nend module"
- instring_prog = "program my_program\nintrinsic none\ncontains\nfunction my_func()\nend\nend program"
-
- outstring_mod = "module my_module\n intrinsic none\ncontains\n function my_func()\n end\nend module"
- outstring_mod_disable = "module my_module\nintrinsic none\ncontains\nfunction my_func()\nend\nend module"
-
- outstring_prog = "program my_program\n intrinsic none\ncontains\n function my_func()\n end\nend program"
- outstring_prog_disable = "program my_program\nintrinsic none\ncontains\nfunction my_func()\nend\nend program"
-
- self.assert_fprettify_result([], instring_mod, outstring_mod)
- self.assert_fprettify_result([], instring_prog, outstring_prog)
-
- self.assert_fprettify_result(['--disable-indent-mod'], instring_mod, outstring_mod_disable)
- self.assert_fprettify_result(['--disable-indent-mod'], instring_prog, outstring_prog_disable)
-
- def test_decl(self):
- """test formatting of declarations"""
- instring_1 = "integer :: a"
- instring_2 = "integer, dimension(:) :: a"
- outstring_1 = "integer :: a"
- outstring_2 = "integer, dimension(:) :: a"
- outstring_2_min = "integer, dimension(:)::a"
-
- self.assert_fprettify_result([], instring_1, instring_1)
- self.assert_fprettify_result([], instring_2, instring_2)
- self.assert_fprettify_result(['--enable-decl'], instring_1, outstring_1)
- self.assert_fprettify_result(['--enable-decl'], instring_2, outstring_2)
- self.assert_fprettify_result(['--enable-decl', '--whitespace-decl=0'], instring_2, outstring_2_min)
-
- def test_statement_label(self):
- instring = "1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
- outstring = "1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
- self.assert_fprettify_result([], instring, outstring)
-
- instring = "print *, 'hello'\n1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
- outstring = "print *, 'hello'\n1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
- self.assert_fprettify_result([], instring, outstring)
-
- def test_multiline_str(self):
-
- instring = []
- outstring = []
-
- instring += [
-'''
- CHARACTER(len=*), PARAMETER :: serialized_string = &
- "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
- 12.0 12.0 12.0&
- 12.0 12.0 12.0&
- 12.0 12.0 12.0&
- 12.0 12.0 12.0&
- 12.0 12.0 12.0&
- 12.0 12.0 12.0"
-'''
-]
-
- outstring += [
-'''
- CHARACTER(len=*), PARAMETER :: serialized_string = &
- "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
-& 12.0 12.0 12.0&
-& 12.0 12.0 12.0&
-& 12.0 12.0 12.0&
-& 12.0 12.0 12.0&
-& 12.0 12.0 12.0&
-& 12.0 12.0 12.0"
-'''
-]
-
- instring += [
-'''
- CHARACTER(len=*), PARAMETER :: serialized_string = &
- "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0"
-'''
-]
-
- outstring += [
-'''
- CHARACTER(len=*), PARAMETER :: serialized_string = &
- "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0&
- & 12.0 12.0 12.0"
-'''
-]
-
- for instr, outstr in zip(instring, outstring):
- self.assert_fprettify_result([], instr, outstr)
-
- def test_label(self):
- instring = \
-"""
-MODULE cp_lbfgs
-CONTAINS
-20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- & 'it = iteration number', /, &
- & 'Machine precision =', 1p, d10.3)
-2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- & 'it = iteration number', /, &
- & 'Machine precision =', 1p, d10.3)
-20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- 'it = iteration number', /, &
- 'Machine precision =', 1p, d10.3)
-2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- 'it = iteration number', /, &
- 'Machine precision =', 1p, d10.3)
-END MODULE
-"""
-
- outstring = \
-"""
-MODULE cp_lbfgs
-CONTAINS
-20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- & 'it = iteration number', /, &
- & 'Machine precision =', 1p, d10.3)
-2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
-& 'it = iteration number', /, &
-& 'Machine precision =', 1p, d10.3)
-20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- 'it = iteration number', /, &
- 'Machine precision =', 1p, d10.3)
-2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
- 'it = iteration number', /, &
- 'Machine precision =', 1p, d10.3)
-END MODULE
-"""
-
- self.assert_fprettify_result([], instring, outstring)
-
-
-
-def addtestmethod(testcase, fpath, ffile):
- """add a test method for each example."""
-
- def testmethod(testcase):
- """this is the test method invoked for each example."""
-
- dirpath_before = joinpath(BEFORE_DIR, fpath)
- dirpath_after = joinpath(AFTER_DIR, fpath)
- if not os.path.exists(dirpath_after):
- os.makedirs(dirpath_after)
-
- example_before = joinpath(dirpath_before, ffile)
- example_after = joinpath(dirpath_after, ffile)
-
- if os.path.isfile(example_after):
- os.remove(example_after)
-
- def test_result(path, info):
- return [os.path.relpath(path, BEFORE_DIR), info]
-
- with io.open(example_before, 'r', encoding='utf-8') as infile:
-
- outstring = io.StringIO()
-
- try:
- fprettify.reformat_ffile(infile, outstring)
- m = hashlib.sha256()
- m.update(outstring.getvalue().encode('utf-8'))
-
- test_info = "checksum"
- test_content = test_result(example_before, m.hexdigest())
-
- with io.open(example_after, 'w', encoding='utf-8') as outfile:
- outfile.write(outstring.getvalue())
- FPrettifyTestCase.n_success += 1
- except FprettifyParseException as e:
- test_info = "parse error"
- fprettify.log_exception(e, test_info)
- test_content = test_result(example_before, test_info)
- FPrettifyTestCase.n_parsefail += 1
- except FprettifyInternalException as e:
- test_info = "internal error"
- fprettify.log_exception(e, test_info)
- test_content = test_result(example_before, test_info)
- FPrettifyTestCase.n_internalfail += 1
- except: # pragma: no cover
- FPrettifyTestCase.n_unexpectedfail += 1
- raise
-
- after_exists = os.path.isfile(example_after)
- if after_exists:
- with io.open(example_before, 'r', encoding='utf-8') as infile:
- before_content = infile.read()
- before_nosp = re.sub(
- r'\n{3,}', r'\n\n', before_content.lower().replace(' ', '').replace('\t', ''))
-
- with io.open(example_after, 'r', encoding='utf-8') as outfile:
- after_content = outfile.read()
- after_nosp = after_content.lower().replace(' ', '')
-
- testcase.assertMultiLineEqual(before_nosp, after_nosp)
-
- sep_str = ' : '
- with io.open(RESULT_FILE, 'r', encoding='utf-8') as infile:
- found = False
- for line in infile:
- line_content = line.strip().split(sep_str)
- if line_content[0] == test_content[0]:
- found = True
- eprint(test_info, end=" ")
- msg = '{} (old) != {} (new)'.format(
- line_content[1], test_content[1])
- if test_info == "checksum" and after_exists and after_content.count('\n') < 10000:
- # difflib can not handle large files
- result = list(difflib.unified_diff(before_content.splitlines(
- True), after_content.splitlines(True), fromfile=test_content[0], tofile=line_content[0]))
- msg += '\n' + ''.join(result)
- try:
- testcase.assertEqual(
- line_content[1], test_content[1], msg)
- except AssertionError: # pragma: no cover
- FPrettifyTestCase.write_result(
- FAILED_FILE, test_content, sep_str)
- raise
- break
-
- if not found: # pragma: no cover
- eprint(test_info + " new", end=" ")
- FPrettifyTestCase.write_result(RESULT_FILE, test_content, sep_str)
-
- # not sure why this even works, using "test something" (with a space) as function name...
- # however it gives optimal test output
- testmethod.__name__ = ("test " + joinpath(fpath, ffile))
-
- setattr(testcase, testmethod.__name__, testmethod)
-
-# make sure all directories exist
-if not os.path.exists(BEFORE_DIR): # pragma: no cover
- os.makedirs(BEFORE_DIR)
-if not os.path.exists(AFTER_DIR): # pragma: no cover
- os.makedirs(AFTER_DIR)
-if not os.path.exists(RESULT_DIR): # pragma: no cover
- os.makedirs(RESULT_DIR)
-if not os.path.exists(RESULT_FILE): # pragma: no cover
- io.open(RESULT_FILE, 'w', encoding='utf-8').close()
-if os.path.exists(FAILED_FILE): # pragma: no cover
- # erase failures from previous testers
- io.open(FAILED_FILE, 'w', encoding='utf-8').close()
-
-# this prepares FPrettifyTestCase class when module is loaded by unittest
-for dirpath, _, filenames in os.walk(BEFORE_DIR):
- for example in [f for f in filenames if any(f.endswith(_) for _ in fprettify.FORTRAN_EXTENSIONS)]:
- rel_dirpath = os.path.relpath(dirpath, start=BEFORE_DIR)
- addtestmethod(FPrettifyTestCase, rel_dirpath, example)
diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py
new file mode 100644
index 0000000..419a7d6
--- /dev/null
+++ b/fprettify/tests/fortrantests.py
@@ -0,0 +1,290 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+###############################################################################
+# This file is part of fprettify.
+# Copyright (C) 2016-2019 Patrick Seewald, CP2K developers group
+#
+# fprettify is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# fprettify is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with fprettify. If not, see .
+###############################################################################
+
+
+import sys
+import hashlib
+import logging
+import io
+import re
+import os
+import difflib
+import configparser
+import shutil
+import shlex
+from datetime import datetime
+import fprettify
+from fprettify.tests.test_common import _MYPATH, FprettifyTestCase, joinpath
+
+_TIMESTAMP = datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
+
+# main directory for running tests
+TEST_MAIN_DIR = joinpath(_MYPATH, r'../../fortran_tests')
+
+# directory for external Fortran code
+TEST_EXT_DIR = joinpath(TEST_MAIN_DIR, r'test_code')
+
+# directory containing Fortran examples
+EXAMPLE_DIR = joinpath(_MYPATH, r'../../examples/in')
+
+# backup directory
+BACKUP_DIR = joinpath(TEST_MAIN_DIR, r'test_code_in_' + _TIMESTAMP)
+
+# where to store summarized results
+RESULT_DIR = joinpath(TEST_MAIN_DIR, r'test_results')
+
+# expected hash-sums
+RESULT_FILE = joinpath(RESULT_DIR, r'expected_results')
+
+# test failures
+FAILED_FILE = joinpath(RESULT_DIR, r'failed_results')
+
+
+fprettify.set_fprettify_logger(logging.ERROR)
+
+class FprettifyIntegrationTestCase(FprettifyTestCase):
+ def shortDescription(self):
+ """don't print doc string of testmethod"""
+ return None
+
+ def setUp(self):
+ """
+ setUp to be recognized by unittest.
+ We have large files to compare, raise the limit
+ """
+ self.maxDiff = None
+
+ @classmethod
+ def setUpClass(cls):
+ """
+ setUpClass to be recognized by unittest.
+ """
+
+ cls.n_success = 0
+ cls.n_parsefail = 0
+ cls.n_internalfail = 0
+ cls.n_unexpectedfail = 0
+
+ FprettifyIntegrationTestCase.eprint("-" * 70)
+ FprettifyIntegrationTestCase.eprint("recognized Fortran files")
+ FprettifyIntegrationTestCase.eprint(", ".join(fprettify.FORTRAN_EXTENSIONS))
+ FprettifyIntegrationTestCase.eprint("-" * 70)
+ FprettifyIntegrationTestCase.eprint("Applying fprettify to Fortran files in " + TEST_EXT_DIR)
+ FprettifyIntegrationTestCase.eprint("Writing backup of original files to " + BACKUP_DIR)
+ FprettifyIntegrationTestCase.eprint("Storing expected results in " + RESULT_FILE)
+ FprettifyIntegrationTestCase.eprint("Storing failed results in " + FAILED_FILE)
+ FprettifyIntegrationTestCase.eprint("-" * 70)
+
+ @classmethod
+ def tearDownClass(cls):
+ """
+ tearDownClass to be recognized by unittest. Used for test summary
+ output.
+ """
+ if cls.n_parsefail + cls.n_internalfail > 0:
+ format = "{:<20}{:<6}"
+ FprettifyIntegrationTestCase.eprint('\n' + "=" * 70)
+ FprettifyIntegrationTestCase.eprint("IGNORED errors: invalid or old Fortran")
+ FprettifyIntegrationTestCase.eprint("-" * 70)
+ FprettifyIntegrationTestCase.eprint(format.format("parse errors: ", cls.n_parsefail))
+ FprettifyIntegrationTestCase.eprint(format.format("internal errors: ", cls.n_internalfail))
+
+ @staticmethod
+ def write_result(filename, content, sep_str): # pragma: no cover
+ with io.open(filename, 'a', encoding='utf-8') as outfile:
+ outfile.write(sep_str.join(content) + '\n')
+
+ @staticmethod
+ def eprint(*args, **kwargs):
+ """
+ Print to stderr - to print output compatible with default unittest output.
+ """
+
+ print(*args, file=sys.stderr, flush=True, **kwargs)
+
+
+def generate_suite(suite=None, name=None):
+ # make sure all directories exist
+ if not os.path.exists(TEST_EXT_DIR): # pragma: no cover
+ os.makedirs(TEST_EXT_DIR)
+ if not os.path.exists(BACKUP_DIR): # pragma: no cover
+ os.makedirs(BACKUP_DIR)
+ if not os.path.exists(RESULT_DIR): # pragma: no cover
+ os.makedirs(RESULT_DIR)
+ if not os.path.exists(RESULT_FILE): # pragma: no cover
+ io.open(RESULT_FILE, 'w', encoding='utf-8').close()
+ if os.path.exists(FAILED_FILE): # pragma: no cover
+ # erase failures from previous testers
+ io.open(FAILED_FILE, 'w', encoding='utf-8').close()
+
+ import git
+ config = configparser.ConfigParser()
+ config.read(joinpath(TEST_MAIN_DIR, 'testsuites.config'))
+
+ if suite is None and name is None:
+ return None
+
+ for key in config.sections():
+ code = config[key]
+ if code['suite'] == suite or key == name:
+ orig = os.getcwd()
+ try:
+ os.chdir(TEST_EXT_DIR)
+
+ if not os.path.isdir(code['path']):
+ print(f"obtaining {key} ...")
+ exec(code['obtain'])
+ finally:
+ os.chdir(orig)
+
+ addtestcode(code['path'], code['options'])
+ return FprettifyIntegrationTestCase
+
+def normalize_line(line):
+ """
+ Normalize fortran line in a way that resulting string should be the same
+ whether fprettify has been applied or not.
+ """
+ line_out = re.sub(r'\n{3,}', r'\n\n', line.lower().replace(' ', '').replace('\t', ''))
+ # fprettify might add missing ampersands when splitting string
+ line_out = re.sub("^&", '', line_out, flags=re.MULTILINE)
+ return line_out
+
+def addtestcode(code_path, options):
+ print(f"creating test cases from {code_path} ...")
+ # dynamically create test cases from fortran files in test directory
+
+ parser = fprettify.get_arg_parser()
+ args = parser.parse_args(shlex.split(options))
+ fprettify_args = fprettify.process_args(args)
+
+ for dirpath, _, filenames in os.walk(joinpath(TEST_EXT_DIR, code_path)):
+ for example in [f for f in filenames if any(f.endswith(_) for _ in fprettify.FORTRAN_EXTENSIONS)]:
+ rel_dirpath = os.path.relpath(dirpath, start=TEST_EXT_DIR)
+
+ include_file = True
+ if args.exclude_max_lines is not None:
+ line_count = 0
+ with open(joinpath(dirpath, example)) as f:
+ for i in f:
+ line_count += 1
+ if line_count > args.exclude_max_lines:
+ include_file = False
+ break
+
+ if include_file:
+ addtestmethod(FprettifyIntegrationTestCase, rel_dirpath, example, fprettify_args)
+
+def addtestmethod(testcase, fpath, ffile, args):
+ """add a test method for each example."""
+
+ def testmethod(testcase):
+ """this is the test method invoked for each example."""
+
+ example_path = joinpath(TEST_EXT_DIR, fpath)
+ backup_path = joinpath(BACKUP_DIR, fpath)
+ if not os.path.exists(backup_path):
+ os.makedirs(backup_path)
+
+ example = joinpath(example_path, ffile)
+ example_backup = joinpath(backup_path, ffile)
+
+ def test_result(path, info):
+ return [os.path.relpath(path, TEST_EXT_DIR), info]
+
+ with io.open(example, 'r', encoding='utf-8') as infile:
+ instring = infile.read()
+
+ # write backup of original file
+ with io.open(example_backup, 'w', encoding='utf-8') as outfile:
+ outfile.write(instring)
+
+ # initialize outstring containing reformatted file content
+ outstring = instring
+
+ # apply fprettify
+ try:
+ fprettify.reformat_inplace(example, **args)
+
+ # update outstring
+ with io.open(example, 'r', encoding='utf-8') as outfile:
+ outstring = outfile.read()
+
+ m = hashlib.sha256()
+ m.update(outstring.encode('utf-8'))
+
+ test_info = "checksum"
+ test_content = test_result(example, m.hexdigest())
+
+ FprettifyIntegrationTestCase.n_success += 1
+ except fprettify.FprettifyParseException as e:
+ test_info = "parse error"
+ fprettify.log_exception(e, test_info, level="warning")
+ test_content = test_result(example, test_info)
+ FprettifyIntegrationTestCase.n_parsefail += 1
+ except fprettify.FprettifyInternalException as e:
+ test_info = "internal error"
+ fprettify.log_exception(e, test_info, level="warning")
+ test_content = test_result(example, test_info)
+ FprettifyIntegrationTestCase.n_internalfail += 1
+ except: # pragma: no cover
+ FprettifyIntegrationTestCase.n_unexpectedfail += 1
+ raise
+
+ # check that no changes other than whitespace changes or lower/upper case occured
+ orig_stripped = normalize_line(instring)
+ new_stripped = normalize_line(outstring)
+
+ testcase.assertMultiLineEqual(orig_stripped, new_stripped, "fprettify caused changes other than whitespace or lower/upper case")
+
+ sep_str = ' : '
+ with io.open(RESULT_FILE, 'r', encoding='utf-8') as infile:
+ found = False
+ for line in infile:
+ line_content = line.strip().split(sep_str)
+ if line_content[0] == test_content[0]:
+ found = True
+ FprettifyIntegrationTestCase.eprint(test_info, end=" ")
+ msg = '{} (old) != {} (new)'.format(
+ line_content[1], test_content[1])
+ if test_info == "checksum" and outstring.count('\n') < 10000:
+ # difflib can not handle large files
+ result = list(difflib.unified_diff(instring.splitlines(
+ True), outstring.splitlines(True), fromfile=test_content[0], tofile=line_content[0]))
+ msg += '\n' + ''.join(result)
+ try:
+ testcase.assertEqual(
+ line_content[1], test_content[1], msg)
+ except AssertionError: # pragma: no cover
+ FprettifyIntegrationTestCase.write_result(
+ FAILED_FILE, test_content, sep_str)
+ raise
+ break
+
+ if not found: # pragma: no cover
+ FprettifyIntegrationTestCase.eprint(test_info + " new", end=" ")
+ FprettifyIntegrationTestCase.write_result(RESULT_FILE, test_content, sep_str)
+
+ # not sure why this even works, using "test something" (with a space) as function name...
+ # however it gives optimal test output
+ testmethod.__name__ = ("test " + joinpath(fpath, ffile))
+
+ setattr(testcase, testmethod.__name__, testmethod)
+
diff --git a/fprettify/tests/test_common.py b/fprettify/tests/test_common.py
new file mode 100644
index 0000000..0a518f2
--- /dev/null
+++ b/fprettify/tests/test_common.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+###############################################################################
+# This file is part of fprettify.
+# Copyright (C) 2016-2019 Patrick Seewald, CP2K developers group
+#
+# fprettify is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# fprettify is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with fprettify. If not, see .
+###############################################################################
+import os, sys, io
+import inspect
+import unittest
+import fprettify
+
+def joinpath(path1, path2):
+ return os.path.normpath(os.path.join(path1, path2))
+
+_MYPATH = os.path.dirname(os.path.abspath(
+ inspect.getfile(inspect.currentframe())))
+
+# path to fprettify
+RUNSCRIPT = joinpath(_MYPATH, r"../../fprettify.py")
+
+
+class FprettifyTestCase(unittest.TestCase):
+ """
+ test class to be recognized by unittest, specialized for fprettify tests.
+ """
diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py
new file mode 100644
index 0000000..911bcd8
--- /dev/null
+++ b/fprettify/tests/unittests.py
@@ -0,0 +1,833 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+###############################################################################
+# This file is part of fprettify.
+# Copyright (C) 2016-2019 Patrick Seewald, CP2K developers group
+#
+# fprettify is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# fprettify is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with fprettify. If not, see .
+###############################################################################
+
+from __future__ import (absolute_import, division,
+ print_function, unicode_literals)
+
+import sys
+import os
+import logging
+import io
+import subprocess
+
+sys.stderr = io.TextIOWrapper(
+ sys.stderr.detach(), encoding='UTF-8', line_buffering=True)
+
+import fprettify
+from fprettify.tests.test_common import FprettifyTestCase, RUNSCRIPT
+
+
+fprettify.set_fprettify_logger(logging.ERROR)
+
+class FprettifyUnitTestCase(FprettifyTestCase):
+ def assert_fprettify_result(self, args, instring, outstring_exp):
+ """
+ assert that result of calling fprettify with args on instring gives
+ outstring_exp
+ """
+
+ parser = fprettify.get_arg_parser()
+ args = parser.parse_args(args)
+ args = fprettify.process_args(args)
+
+ outfile = io.StringIO()
+ infile = io.StringIO(instring)
+
+ fprettify.reformat_ffile(infile, outfile, orig_filename='StringIO', **args)
+ outstring = outfile.getvalue()
+ self.assertEqual(outstring_exp.rstrip(), outstring.rstrip())
+
+ def test_whitespace(self):
+ """simple test for whitespace formatting options -w in [0, 1, 2]"""
+ instring = "(/-a-b-(a+b-c)/(-c)*d**e,f[1]%v/)"
+ outstring_exp = ["(/-a-b-(a+b-c)/(-c)*d**e,f[1]%v/)",
+ "(/-a-b-(a+b-c)/(-c)*d**e, f[1]%v/)",
+ "(/-a - b - (a + b - c)/(-c)*d**e, f[1]%v/)",
+ "(/-a - b - (a + b - c) / (-c) * d**e, f[1]%v/)"]
+
+ outstring = []
+ for w, out in zip(range(0, 4), outstring_exp):
+ args = ['-w', str(w)]
+ self.assert_fprettify_result(args, instring, out)
+
+ def test_type_selector(self):
+ """test for whitespace formatting option -w 4"""
+ instring = "A%component=func(mytype%a,mytype%abc+mytype%abcd)"
+ outstring_exp = "A % component = func(mytype % a, mytype % abc + mytype % abcd)"
+
+ self.assert_fprettify_result(['-w 4'], instring, outstring_exp)
+
+ def test_indent(self):
+ """simple test for indent options -i in [0, 3, 4]"""
+
+ indents = [0, 3, 4]
+
+ instring = "iF(teSt)ThEn\nCaLl subr(a,b,&\nc,(/d,&\ne,f/))\nEnD iF"
+ outstring_exp = [
+ "iF (teSt) ThEn\n" +
+ " " * ind + "CaLl subr(a, b, &\n" +
+ " " * (10 + ind) + "c, (/d, &\n" +
+ " " * (15 + ind) + "e, f/))\nEnD iF"
+ for ind in indents
+ ]
+
+ for ind, out in zip(indents, outstring_exp):
+ args = ['-i', str(ind)]
+ self.assert_fprettify_result(args, instring, out)
+
+ def test_nested(self):
+ """test correct indentation of nested loops"""
+ instring = ("integer :: i,j\ndo i=1,2\ndo j=1,3\n"
+ "print*,i,j,i*j\nend do\nend do")
+ outstring_exp_default = ("integer :: i, j\ndo i = 1, 2\ndo j = 1, 3\n"
+ " print *, i, j, i*j\nend do\nend do")
+ outstring_exp_strict = ("integer :: i, j\ndo i = 1, 2\n do j = 1, 3\n"
+ " print *, i, j, i*j\n end do\nend do")
+
+ self.assert_fprettify_result([], instring, outstring_exp_default)
+ self.assert_fprettify_result(['--strict-indent'], instring, outstring_exp_strict)
+
+ def test_reset_indent(self):
+ """test of reset indentation at file start"""
+ instring = ("integer :: i,j\ndo i=1,2\ndo j=1,3\n"
+ "print*,i,j,i*j\nend do\nend do",
+ " module a\ninteger :: 1\n",
+ " module a\nend\nend")
+ outstring = ("integer :: i, j\ndo i = 1, 2\ndo j = 1, 3\n"
+ " print *, i, j, i*j\nend do\nend do",
+ "module a\n integer :: 1",
+ "module a\nend\nend")
+
+ for ind, out in zip(instring, outstring):
+ self.assert_fprettify_result([],ind, out)
+
+ def test_disable(self):
+ """test disabling indentation and/or whitespace formatting"""
+ instring = ("if(&\nl==111)&\n then\n do m =1, 2\n A=&\nB+C\n end do; endif")
+ outstring_exp_default = ("if ( &\n l == 111) &\n then\n do m = 1, 2\n"
+ " A = &\n B + C\n end do; end if")
+ outstring_exp_nowhitespace = ("if(&\n l==111)&\n then\n do m =1, 2\n"
+ " A=&\n B+C\n end do; endif")
+ outstring_exp_noindent = ("if ( &\nl == 111) &\n then\n do m = 1, 2\n"
+ " A = &\nB + C\n end do; end if")
+
+ self.assert_fprettify_result([], instring, outstring_exp_default)
+ self.assert_fprettify_result(['--disable-whitespace'], instring, outstring_exp_nowhitespace)
+ self.assert_fprettify_result(['--disable-indent'], instring, outstring_exp_noindent)
+ self.assert_fprettify_result(['--disable-indent', '--disable-whitespace'], instring, instring)
+
+ def test_comments(self):
+ """test options related to comments"""
+ instring = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
+ " REAL :: b, & ! c4\n! c5\n ! c6\n"
+ " d ! c7\nEND TYPE ! c8")
+ outstring_exp_default = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
+ " REAL :: b, & ! c4\n ! c5\n ! c6\n"
+ " d ! c7\nEND TYPE ! c8")
+ outstring_exp_strip = ("TYPE mytype\n! c1\n !c2\n INTEGER :: a ! c3\n"
+ " REAL :: b, & ! c4\n ! c5\n ! c6\n"
+ " d ! c7\nEND TYPE ! c8")
+
+ self.assert_fprettify_result([], instring, outstring_exp_default)
+ self.assert_fprettify_result(['--strip-comments'], instring, outstring_exp_strip)
+
+ def test_directive(self):
+ """
+ test deactivate directives '!&' (inline) and '!&<', '!&>' (block)
+ and manual alignment (continuation line prefixed with '&')
+ """
+
+ # manual alignment
+ instring = "align_me = [ -1, 10,0, &\n & 0,1000 , 0,&\n &0 , -1, 1]"
+ outstring_exp = "align_me = [-1, 10, 0, &\n & 0, 1000, 0,&\n &0, -1, 1]"
+ self.assert_fprettify_result([], instring, outstring_exp)
+
+ # inline deactivate
+ instring2 = '\n'.join(_ + ' !&' for _ in instring.splitlines())
+ outstring_exp = instring2
+ self.assert_fprettify_result([], instring2, outstring_exp)
+
+ # block deactivate
+ instring3 = '!&<\n' + instring + '\n!&>'
+ outstring_exp = instring3
+ self.assert_fprettify_result([], instring3, outstring_exp)
+
+
+ def test_io(self):
+ """simple test for io (file inplace, stdin & stdout)"""
+
+ # io and unicode
+ outstring = []
+ instring = "CALL alien_invasion( 👽 )"
+ outstring_exp = "CALL alien_invasion(👽)"
+
+ alien_file = "alien_invasion.f90"
+ if os.path.isfile(alien_file):
+ raise Exception("remove file alien_invasion.f90") # pragma: no cover
+
+ try:
+ with io.open(alien_file, 'w', encoding='utf-8') as infile:
+ infile.write(instring)
+
+ # testing stdin --> stdout
+ p1 = subprocess.Popen(RUNSCRIPT,
+ stdout=subprocess.PIPE, stdin=subprocess.PIPE)
+ outstring.append(p1.communicate(
+ instring.encode('UTF-8'))[0].decode('UTF-8'))
+
+ # testing file --> stdout
+ p1 = subprocess.Popen([RUNSCRIPT, alien_file, '--stdout'],
+ stdout=subprocess.PIPE)
+ outstring.append(p1.communicate(
+ instring.encode('UTF-8')[0])[0].decode('UTF-8'))
+
+ # testing file --> file (inplace)
+ p1 = subprocess.Popen([RUNSCRIPT, alien_file])
+ p1.wait()
+
+ with io.open(alien_file, 'r', encoding='utf-8') as infile:
+ outstring.append(infile.read())
+
+ for outstr in outstring:
+ self.assertEqual(outstring_exp, outstr.strip())
+ except: # pragma: no cover
+ if os.path.isfile(alien_file):
+ os.remove(alien_file)
+ raise
+ else:
+ os.remove(alien_file)
+
+ def test_multi_alias(self):
+ """test for issue #11 (multiple alias and alignment)"""
+ instring="use A,only:B=>C,&\nD=>E"
+ outstring="use A, only: B => C, &\n D => E"
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_use(self):
+ """test for alignment of use statements"""
+ instring1="use A,only:B,C,&\nD,E"
+ instring2="use A,only:&\nB,C,D,E"
+ outstring1="use A, only: B, C, &\n D, E"
+ outstring2="use A, only: &\n B, C, D, E"
+ self.assert_fprettify_result([], instring1, outstring1)
+ self.assert_fprettify_result([], instring2, outstring2)
+
+ def test_wrongkind(self):
+ """test whitespacing of deprecated kind definition"""
+ instring = ["REAL*8 :: r, f ! some reals",
+ "REAL * 8 :: r, f ! some reals",
+ "INTEGER * 4 :: c, i ! some integers",
+ "INTEGER*4 :: c, i ! some integers"]
+ outstring = ["REAL*8 :: r, f ! some reals",
+ "REAL*8 :: r, f ! some reals",
+ "INTEGER*4 :: c, i ! some integers",
+ "INTEGER*4 :: c, i ! some integers"]
+
+ for i in range(0, len(instring)):
+ self.assert_fprettify_result([], instring[i], outstring[i])
+
+ def test_new_intrinsics(self):
+ """test new I/O intrinsics"""
+ instring = ["REWIND(12)",
+ "BACKSPACE(13)",
+ "INQUIRE(14)"]
+ outstring = ["REWIND (12)",
+ "BACKSPACE (13)",
+ "INQUIRE (14)"]
+
+ for i in range(0, len(instring)):
+ self.assert_fprettify_result([], instring[i], outstring[i])
+
+ def test_associate(self):
+ """test correct formatting of associate construct"""
+ instring = ("associate(a=>b , c =>d ,e=> f )\n"
+ "e=a+c\n"
+ "end associate")
+ outstring = ("associate (a => b, c => d, e => f)\n"
+ " e = a + c\n"
+ "end associate")
+
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_line_length(self):
+ """test line length option"""
+ instring = ["REAL(KIND=4) :: r,f ! some reals",
+ "if( min == max.and.min .eq. thres )",
+ "INQUIRE(14)"]
+ instring_ = "if( min == max.and.min .eq. thres ) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2,parameter3,parameter4,parameter5,err) ! this line would be too long"
+ outstring = ["REAL(KIND=4) :: r, f ! some reals",
+ "REAL(KIND=4) :: r,f ! some reals",
+ "if (min == max .and. min .eq. thres)",
+ "if( min == max.and.min .eq. thres )",
+ "INQUIRE (14)",
+ "INQUIRE (14)"]
+ outstring_ = ["if( min == max.and.min .eq. thres ) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2,parameter3,parameter4,parameter5,err) ! this line would be too long",
+ "if (min == max .and. min .eq. thres) one_really_long_function_call_to_hit_the_line_limit(parameter1, parameter2, parameter3, parameter4, parameter5, err) ! this line would be too long"]
+
+ # test shorter lines first, after all the actual length doesn't matter
+ for i in range(0, len(instring)):
+ self.assert_fprettify_result(['-S'], instring[i], outstring[2*i])
+ self.assert_fprettify_result(['-S', '-l 20'], instring[i], outstring[2*i + 1])
+ # now test a long line
+ self.assert_fprettify_result(['-S'], instring_, outstring_[0])
+ self.assert_fprettify_result(['-S', '-l 0'], instring_, outstring_[1])
+
+ def test_relation_replacement(self):
+ """test replacement of relational statements"""
+ instring = ["if ( min < max .and. min .lt. thres)",
+ "if (min > max .and. min .gt. thres )",
+ "if ( min == max .and. min .eq. thres )",
+ "if(min /= max .and. min .ne. thres)",
+ "if(min >= max .and. min .ge. thres )",
+ "if( min <= max .and. min .le. thres)",
+ "'==== heading",
+ "if (vtk%my_rank .eq. 0) write (vtk%filehandle_par, '(\"\",",
+ "if (abc(1) .lt. -bca .or. &\n qwe .gt. ewq) then"]
+ f_outstring = ["if (min .lt. max .and. min .lt. thres)",
+ "if (min .gt. max .and. min .gt. thres)",
+ "if (min .eq. max .and. min .eq. thres)",
+ "if (min .ne. max .and. min .ne. thres)",
+ "if (min .ge. max .and. min .ge. thres)",
+ "if (min .le. max .and. min .le. thres)",
+ "'==== heading",
+ "if (vtk%my_rank .eq. 0) write (vtk%filehandle_par, '(\"\",",
+ "if (abc(1) .lt. -bca .or. &\n qwe .gt. ewq) then"]
+ c_outstring = ["if (min < max .and. min < thres)",
+ "if (min > max .and. min > thres)",
+ "if (min == max .and. min == thres)",
+ "if (min /= max .and. min /= thres)",
+ "if (min >= max .and. min >= thres)",
+ "if (min <= max .and. min <= thres)",
+ "'==== heading",
+ "if (vtk%my_rank == 0) write (vtk%filehandle_par, '(\"\",",
+ "if (abc(1) < -bca .or. &\n qwe > ewq) then"]
+ for i in range(0, len(instring)):
+ self.assert_fprettify_result(['--enable-replacements', '--c-relations'], instring[i], c_outstring[i])
+ self.assert_fprettify_result(['--enable-replacements'], instring[i], f_outstring[i])
+
+ def test_swap_case(self):
+ """test replacement of keyword character case"""
+ instring = (
+ "MODULE exAmple",
+ "INTEGER, PARAMETER :: SELECTED_REAL_KIND = 1*2",
+ "INTEGER, PARAMETER :: dp1 = SELECTED_REAL_KIND ( 15 , 307)",
+ 'CHARACTER(LEN=*), PARAMETER :: a = "INTEGER, PARAMETER" // "b"',
+ "CHARACTER(LEN=*), PARAMETER :: a = 'INTEGER, PARAMETER' // 'b'",
+ "INTEGER(kind=int64), PARAMETER :: l64 = 2_int64",
+ "REAL(kind=real64), PARAMETER :: r64a = 2._real64",
+ "REAL(kind=real64), PARAMETER :: r64b = 2.0_real64",
+ "REAL(kind=real64), PARAMETER :: r64c = .0_real64",
+ "REAL(kind=real64), PARAMETER :: r64a = 2.e3_real64",
+ "REAL(kind=real64), PARAMETER :: r64b = 2.0e3_real64",
+ "REAL(kind=real64), PARAMETER :: r64c = .0e3_real64",
+ "REAL, PARAMETER :: r32 = 2.e3",
+ "REAL, PARAMETER :: r32 = 2.0d3",
+ "REAL, PARAMETER :: r32 = .2e3",
+ "USE ISO_FORTRAN_ENV, ONLY: int64",
+ "INTEGER, INTENT(IN) :: r, i, j, k",
+ "IF (l.EQ.2) l=MAX (l64, 2_int64)",
+ "PURE SUBROUTINE mypure()"
+ )
+ outstring = (
+ "module exAmple",
+ "integer, parameter :: SELECTED_REAL_KIND = 1*2",
+ "integer, parameter :: dp1 = selected_real_kind(15, 307)",
+ 'character(LEN=*), parameter :: a = "INTEGER, PARAMETER"//"b"',
+ "character(LEN=*), parameter :: a = 'INTEGER, PARAMETER'//'b'",
+ "integer(kind=INT64), parameter :: l64 = 2_INT64",
+ "real(kind=REAL64), parameter :: r64a = 2._REAL64",
+ "real(kind=REAL64), parameter :: r64b = 2.0_REAL64",
+ "real(kind=REAL64), parameter :: r64c = .0_REAL64",
+ "real(kind=REAL64), parameter :: r64a = 2.E3_REAL64",
+ "real(kind=REAL64), parameter :: r64b = 2.0E3_REAL64",
+ "real(kind=REAL64), parameter :: r64c = .0E3_REAL64",
+ "real, parameter :: r32 = 2.E3",
+ "real, parameter :: r32 = 2.0D3",
+ "real, parameter :: r32 = .2E3",
+ "use iso_fortran_env, only: INT64",
+ "integer, intent(IN) :: r, i, j, k",
+ "if (l .eq. 2) l = max(l64, 2_INT64)",
+ "pure subroutine mypure()"
+ )
+ for i in range(len(instring)):
+ self.assert_fprettify_result(['--case', '1', '1', '1', '2'],
+ instring[i], outstring[i])
+
+ def test_do(self):
+ """test correct parsing of do statement"""
+ instring = "do = 1\nb = 2"
+
+ self.assert_fprettify_result([], instring, instring)
+
+ def test_omp(self):
+ """test formatting of omp directives"""
+ instring = ("PROGRAM test_omp\n"
+ " !$OMP PARALLEL DO\n"
+ "b=4\n"
+ "!$a=b\n"
+ "!$ a=b\n"
+ " !$ c=b\n"
+ "!$acc parallel loop\n"
+ "!$OMP END PARALLEL DO\n"
+ "END PROGRAM")
+ outstring = ("PROGRAM test_omp\n"
+ "!$OMP PARALLEL DO\n"
+ " b = 4\n"
+ "!$a=b\n"
+ "!$ a = b\n"
+ "!$ c = b\n"
+ "!$acc parallel loop\n"
+ "!$OMP END PARALLEL DO\n"
+ "END PROGRAM")
+
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_ford(self):
+ """test formatting of ford comments"""
+ instring = (" a = b\n"
+ " !! ford docu\n"
+ "b=c\n"
+ " !! ford docu\n"
+ "subroutine test(a,b,&\n"
+ " !! ford docu\n"
+ " c, d, e)"
+ )
+ outstring = (" a = b\n"
+ " !! ford docu\n"
+ " b = c\n"
+ " !! ford docu\n"
+ " subroutine test(a, b, &\n"
+ " !! ford docu\n"
+ " c, d, e)"
+ )
+
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_plusminus(self):
+ """test corner cases of +/-"""
+ instring = "val_1d-1-1.0e-9-2.0d-08+.2e-1-val_2d-3.e-12+4"
+ outstring = "val_1d - 1 - 1.0e-9 - 2.0d-08 + .2e-1 - val_2d - 3.e-12 + 4"
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_fypp(self):
+ """test formatting of fypp statements"""
+
+ instring = []
+ outstring = []
+
+ instring += [
+"""
+#:if DEBUG> 0
+print *, "hola"
+if( .not. (${cond}$) ) then
+#:if ASSERT(cond)
+print *, "Assert failed!"
+#:endif
+error stop
+end if
+#:endif
+"""
+]
+
+ outstring += [
+"""
+#:if DEBUG> 0
+ print *, "hola"
+ if (.not. (${cond}$)) then
+ #:if ASSERT(cond)
+ print *, "Assert failed!"
+ #:endif
+ error stop
+ end if
+#:endif
+"""
+]
+
+ instring += [
+"""
+if (.not. (${cond}$)) then
+ #:for element in list
+ print *, "Element is in list!"
+ #:endfor
+ error stop
+end if
+"""
+]
+
+ outstring += [
+"""
+if (.not. (${cond}$)) then
+ #:for element in list
+ print *, "Element is in list!"
+ #:endfor
+ error stop
+end if
+"""
+]
+
+ instring += [
+"""
+#:if aa > 1
+print *, "Number is more than 1"
+if (condition) then
+ #:def something
+ print *, "Added Definition!"
+ #:enddef
+end if
+#:endif
+"""
+]
+
+ outstring += [
+"""
+#:if aa > 1
+ print *, "Number is more than 1"
+ if (condition) then
+ #:def something
+ print *, "Added Definition!"
+ #:enddef
+ end if
+#:endif
+"""
+]
+
+ instring += [
+"""
+#:def DEBUG_CODE( code)
+ #:if DEBUG > 0
+ $:code
+ #:endif
+#:enddef DEBUG_CODE
+"""
+]
+
+ outstring += [
+"""
+#:def DEBUG_CODE( code)
+ #:if DEBUG > 0
+ $:code
+ #:endif
+#:enddef DEBUG_CODE
+"""
+]
+
+
+ instring += [
+"""
+#:block DEBUG_CODE
+ if (a 0
+print *, "hola"
+if (.not. (${cond}$)) then
+ #:mute
+ print *, "Muted"
+ #:endmute
+ error stop
+end if
+#:endif
+"""
+]
+
+ outstring += [
+"""
+#:if DEBUG > 0
+ print *, "hola"
+ if (.not. (${cond}$)) then
+ #:mute
+ print *, "Muted"
+ #:endmute
+ error stop
+ end if
+#:endif
+"""
+]
+
+ instring += [
+"""
+program try
+#:def mydef
+a = &
+#:if dothat
+b + &
+#:else
+c + &
+#:endif
+d
+#:enddef
+end program
+"""
+]
+
+ outstring += [
+"""
+program try
+ #:def mydef
+ a = &
+#:if dothat
+ b + &
+#:else
+ c + &
+#:endif
+ d
+ #:enddef
+end program
+"""
+]
+
+ instring += [
+"""
+#:if worktype
+ ${worktype}$, &
+#:else
+ ${type}$, &
+#:endif
+ DIMENSION(${arr_exp}$), &
+ POINTER :: work
+"""
+]
+
+ outstring += [
+"""
+#:if worktype
+${worktype}$, &
+#:else
+ ${type}$, &
+#:endif
+ DIMENSION(${arr_exp}$), &
+ POINTER :: work
+"""
+]
+
+
+
+ for instr, outstr in zip(instring, outstring):
+ self.assert_fprettify_result([], instr, outstr)
+
+ def test_mod(self):
+ """test indentation of module / program"""
+ instring_mod = "module my_module\nintrinsic none\ncontains\nfunction my_func()\nend\nend module"
+ instring_prog = "program my_program\nintrinsic none\ncontains\nfunction my_func()\nend\nend program"
+
+ outstring_mod = "module my_module\n intrinsic none\ncontains\n function my_func()\n end\nend module"
+ outstring_mod_disable = "module my_module\nintrinsic none\ncontains\nfunction my_func()\nend\nend module"
+
+ outstring_prog = "program my_program\n intrinsic none\ncontains\n function my_func()\n end\nend program"
+ outstring_prog_disable = "program my_program\nintrinsic none\ncontains\nfunction my_func()\nend\nend program"
+
+ self.assert_fprettify_result([], instring_mod, outstring_mod)
+ self.assert_fprettify_result([], instring_prog, outstring_prog)
+
+ self.assert_fprettify_result(['--disable-indent-mod'], instring_mod, outstring_mod_disable)
+ self.assert_fprettify_result(['--disable-indent-mod'], instring_prog, outstring_prog_disable)
+
+ def test_decl(self):
+ """test formatting of declarations"""
+ instring_1 = "integer :: a"
+ instring_2 = "integer, dimension(:) :: a"
+ outstring_1 = "integer :: a"
+ outstring_2 = "integer, dimension(:) :: a"
+ outstring_2_min = "integer, dimension(:)::a"
+
+ self.assert_fprettify_result([], instring_1, instring_1)
+ self.assert_fprettify_result([], instring_2, instring_2)
+ self.assert_fprettify_result(['--enable-decl'], instring_1, outstring_1)
+ self.assert_fprettify_result(['--enable-decl'], instring_2, outstring_2)
+ self.assert_fprettify_result(['--enable-decl', '--whitespace-decl=0'], instring_2, outstring_2_min)
+
+ def test_statement_label(self):
+ instring = "1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
+ outstring = "1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
+ self.assert_fprettify_result([], instring, outstring)
+
+ instring = "print *, 'hello'\n1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
+ outstring = "print *, 'hello'\n1003 FORMAT(2(1x, i4), 5x, '-', 5x, '-', 3x, '-', 5x, '-', 5x, '-', 8x, '-', 3x, &\n 1p, 2(1x, d10.3))"
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_multiline_str(self):
+
+ instring = []
+ outstring = []
+
+ instring += [
+'''
+ CHARACTER(len=*), PARAMETER :: serialized_string = &
+ "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
+ 12.0 12.0 12.0&
+ 12.0 12.0 12.0&
+ 12.0 12.0 12.0&
+ 12.0 12.0 12.0&
+ 12.0 12.0 12.0&
+ 12.0 12.0 12.0"
+'''
+]
+
+ outstring += [
+'''
+ CHARACTER(len=*), PARAMETER :: serialized_string = &
+ "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
+& 12.0 12.0 12.0&
+& 12.0 12.0 12.0&
+& 12.0 12.0 12.0&
+& 12.0 12.0 12.0&
+& 12.0 12.0 12.0&
+& 12.0 12.0 12.0"
+'''
+]
+
+ instring += [
+'''
+ CHARACTER(len=*), PARAMETER :: serialized_string = &
+ "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0"
+'''
+]
+
+ outstring += [
+'''
+ CHARACTER(len=*), PARAMETER :: serialized_string = &
+ "qtb_rng_gaussian 1 F T F 0.0000000000000000E+00&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0&
+ & 12.0 12.0 12.0"
+'''
+]
+
+ for instr, outstr in zip(instring, outstring):
+ self.assert_fprettify_result([], instr, outstr)
+
+ def test_label(self):
+ instring = \
+"""
+MODULE cp_lbfgs
+CONTAINS
+20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ & 'it = iteration number', /, &
+ & 'Machine precision =', 1p, d10.3)
+2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ & 'it = iteration number', /, &
+ & 'Machine precision =', 1p, d10.3)
+20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ 'it = iteration number', /, &
+ 'Machine precision =', 1p, d10.3)
+2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ 'it = iteration number', /, &
+ 'Machine precision =', 1p, d10.3)
+END MODULE
+"""
+
+ outstring = \
+"""
+MODULE cp_lbfgs
+CONTAINS
+20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ & 'it = iteration number', /, &
+ & 'Machine precision =', 1p, d10.3)
+2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+& 'it = iteration number', /, &
+& 'Machine precision =', 1p, d10.3)
+20000 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ 'it = iteration number', /, &
+ 'Machine precision =', 1p, d10.3)
+2 FORMAT('RUNNING THE L-BFGS-B CODE', /, /, &
+ 'it = iteration number', /, &
+ 'Machine precision =', 1p, d10.3)
+END MODULE
+"""
+
+ self.assert_fprettify_result([], instring, outstring)
+
+ def test_ampersand_string(self):
+ """test linebreaks within strings"""
+ instring = ['write ( * , * ) "a&\nstring"',
+ 'write ( * , * )"a& \n string"',
+ 'write ( * , * ) "a& \n & string"']
+ outstring = ['write (*, *) "a&\n&string"',
+ 'write (*, *) "a&\n& string"',
+ 'write (*, *) "a&\n & string"']
+
+ for instr, outstr in zip(instring, outstring):
+ self.assert_fprettify_result([], instr, outstr)
+
+ def test_first_line_non_code(self):
+ """test whether first non-code line gets correctly indented"""
+ instr = " ! a comment\n module mod\n ! a comment\nend"
+ outstr = "! a comment\nmodule mod\n ! a comment\nend"
+ self.assert_fprettify_result([], instr, outstr)
+
+ instr = " ! a comment\n program mod\n ! a comment\nend"
+ outstr = "! a comment\nprogram mod\n ! a comment\nend"
+ self.assert_fprettify_result([], instr, outstr)
+
+ instr = " ! a comment\n function fun()\n ! a comment\nend"
+ outstr = " ! a comment\n function fun()\n ! a comment\n end"
+ self.assert_fprettify_result([], instr, outstr)
+
+
+
+
diff --git a/requirements.txt b/requirements.txt
index 45fab8d..9754b76 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,3 @@
setuptools
configargparse
+shlex
diff --git a/run_tests.py b/run_tests.py
index a5fefe3..cf3d3b1 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -19,7 +19,8 @@
###############################################################################
import unittest
-from fprettify.tests import FPrettifyTestCase, FAILED_FILE, RESULT_FILE
+from fprettify.tests.unittests import FprettifyUnitTestCase
+from fprettify.tests.fortrantests import generate_suite, FAILED_FILE, RESULT_FILE
import fileinput
import io
import os
@@ -31,11 +32,35 @@
description='Run tests', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-r", "--reset", action='store_true', default=False,
help="Reset test results to new results of failed tests")
+ parser.add_argument("-n", "--name", type=str, help="select tests by name (sections in testsuites.config).")
+
+ parser.add_argument(
+ "-s", "--suite",
+ nargs="+",
+ choices=["unittests", "builtin", "regular", "cron", "custom"],
+ default=["unittests", "builtin"],
+ help="select suite."
+ )
args = parser.parse_args()
- suite = unittest.TestLoader().loadTestsFromTestCase(FPrettifyTestCase)
- unittest.TextTestRunner(verbosity=2).run(suite)
+ test_cases = []
+
+ if args.name:
+ test_cases.append(generate_suite(name=args.name))
+ else:
+ for suite in args.suite:
+ if suite == "unittests":
+ test_cases.append(FprettifyUnitTestCase)
+ else:
+ test_cases.append(generate_suite(suite=suite))
+
+ test_suite = unittest.TestSuite()
+ for test_case in test_cases:
+ test_loaded = unittest.TestLoader().loadTestsFromTestCase(test_case)
+ test_suite.addTest(test_loaded)
+
+ unittest.TextTestRunner(verbosity=2).run(test_suite)
if args.reset and os.path.isfile(FAILED_FILE):
sep_str = ' : '
diff --git a/setup.cfg b/setup.cfg
index ba5454c..71de5e8 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -43,6 +43,7 @@ dev =
isort
pre-commit
coveralls
+ GitPython
[flake8]
max-line-length = 88