From e99c88132aac72d877350fca3706f01097634d62 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Thu, 15 Sep 2022 00:35:46 +0200 Subject: [PATCH 01/27] =?UTF-8?q?=C2=A0Tests:=20change=20directory=20struc?= =?UTF-8?q?ture=20of=20automatic=20test=20detection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This overwrites input fortran files which can be useful for - testing idempotency (by running tests twice) - tracking formatting changes when tests are failing (by running tests twice with different fprettify versions) Dump original Fortran files into timestamped backup directory --- examples/example_after.f90 | 1 - examples/example_before.f90 | 1 - .../before => examples/in}/example.f90 | 0 .../in}/example_swapcase.f90 | 0 .../before => examples/in}/test_fypp.f90 | 0 .../before => examples/in}/test_invalid.f90 | 0 .../in}/test_namelist_block_select.f90 | 0 .../before => examples/in}/where_forall.f90 | 0 .../after => examples/out}/example.f90 | 0 .../out}/example_swapcase.f90 | 0 .../after => examples/out}/test_fypp.f90 | 0 .../after => examples/out}/test_invalid.f90 | 0 .../out}/test_namelist_block_select.f90 | 0 .../after => examples/out}/where_forall.f90 | 0 fprettify/tests/__init__.py | 95 +++++++++++-------- 15 files changed, 53 insertions(+), 44 deletions(-) delete mode 120000 examples/example_after.f90 delete mode 120000 examples/example_before.f90 rename {fortran_tests/before => examples/in}/example.f90 (100%) rename {fortran_tests/before => examples/in}/example_swapcase.f90 (100%) rename {fortran_tests/before => examples/in}/test_fypp.f90 (100%) rename {fortran_tests/before => examples/in}/test_invalid.f90 (100%) rename {fortran_tests/before => examples/in}/test_namelist_block_select.f90 (100%) rename {fortran_tests/before => examples/in}/where_forall.f90 (100%) rename {fortran_tests/after => examples/out}/example.f90 (100%) rename {fortran_tests/after => examples/out}/example_swapcase.f90 (100%) rename {fortran_tests/after => examples/out}/test_fypp.f90 (100%) rename {fortran_tests/after => examples/out}/test_invalid.f90 (100%) rename {fortran_tests/after => examples/out}/test_namelist_block_select.f90 (100%) rename {fortran_tests/after => examples/out}/where_forall.f90 (100%) 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 100% rename from fortran_tests/before/example_swapcase.f90 rename to examples/in/example_swapcase.f90 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 b/examples/out/example_swapcase.f90 similarity index 100% rename from fortran_tests/after/example_swapcase.f90 rename to examples/out/example_swapcase.f90 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/fprettify/tests/__init__.py b/fprettify/tests/__init__.py index 5980930..3fb2827 100644 --- a/fprettify/tests/__init__.py +++ b/fprettify/tests/__init__.py @@ -18,7 +18,6 @@ # 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) @@ -32,6 +31,8 @@ import difflib import subprocess import inspect +from datetime import datetime +import shutil sys.stderr = io.TextIOWrapper( sys.stderr.detach(), encoding='UTF-8', line_buffering=True) @@ -46,9 +47,11 @@ def joinpath(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/') +TEST_DIR = joinpath(MYPATH, r'../../fortran_tests/test_code') +EXAMPLE_DIR = joinpath(MYPATH, r'../../examples/in') +TIMESTAMP = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') +BACKUP_DIR = joinpath(MYPATH, r'../../fortran_tests/test_code_in_' + TIMESTAMP) +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') @@ -100,8 +103,8 @@ def setUpClass(cls): 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("Applying fprettify to Fortran files in " + TEST_DIR) + eprint("Writing backup of original files to " + BACKUP_DIR) eprint("Storing expected results in " + RESULT_FILE) eprint("Storing failed results in " + FAILED_FILE) eprint("-" * 70) @@ -891,61 +894,63 @@ def addtestmethod(testcase, fpath, ffile): 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_path = joinpath(TEST_DIR, fpath) + backup_path = joinpath(BACKUP_DIR, fpath) + if not os.path.exists(backup_path): + os.makedirs(backup_path) - example_before = joinpath(dirpath_before, ffile) - example_after = joinpath(dirpath_after, ffile) - - if os.path.isfile(example_after): - os.remove(example_after) + example = joinpath(example_path, ffile) + example_backup = joinpath(backup_path, ffile) def test_result(path, info): - return [os.path.relpath(path, BEFORE_DIR), info] + return [os.path.relpath(path, TEST_DIR), info] + + with io.open(example, 'r', encoding='utf-8') as infile: + instring = infile.read() - with io.open(example_before, 'r', encoding='utf-8') as infile: + # write backup of original file + with io.open(example_backup, 'w', encoding='utf-8') as outfile: + outfile.write(instring) + # apply fprettify + with io.open(example, 'r', encoding='utf-8') as infile: outstring = io.StringIO() try: fprettify.reformat_ffile(infile, outstring) + outstring = outstring.getvalue() m = hashlib.sha256() - m.update(outstring.getvalue().encode('utf-8')) + m.update(outstring.encode('utf-8')) test_info = "checksum" - test_content = test_result(example_before, m.hexdigest()) + test_content = test_result(example, 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) + test_content = test_result(example, 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) + test_content = test_result(example, 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', '')) + # overwrite example + with io.open(example, 'w', encoding='utf-8') as outfile: + outfile.write(outstring) + + # check that no changes other than whitespace changes or lower/upper case occured + before_nosp = re.sub( + r'\n{3,}', r'\n\n', instring.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(' ', '') + after_nosp = outstring.lower().replace(' ', '') - testcase.assertMultiLineEqual(before_nosp, after_nosp) + testcase.assertMultiLineEqual(before_nosp, after_nosp) sep_str = ' : ' with io.open(RESULT_FILE, 'r', encoding='utf-8') as infile: @@ -957,10 +962,10 @@ def test_result(path, info): 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: + if test_info == "checksum" and outstring.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])) + 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( @@ -982,10 +987,10 @@ def test_result(path, info): 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(TEST_DIR): # pragma: no cover + os.makedirs(TEST_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 @@ -995,7 +1000,13 @@ def test_result(path, info): 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): + +# copy examples to test directory +shutil.copytree(EXAMPLE_DIR, os.path.join(TEST_DIR, "examples"), dirs_exist_ok=True) + +# dynamically create test cases from fortran files in test directory +for dirpath, _, filenames in os.walk(TEST_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) + rel_dirpath = os.path.relpath(dirpath, start=TEST_DIR) addtestmethod(FPrettifyTestCase, rel_dirpath, example) + From fae7d609bea58667e2500ca4c742e022f31814de Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 27 Sep 2022 01:04:43 +0200 Subject: [PATCH 02/27] new testing mechanism working now --- fortran_tests/externalTestCode.config | 16 ++ fprettify/__init__.py | 283 ++++++++++++++------------ fprettify/tests/__init__.py | 52 +++-- 3 files changed, 202 insertions(+), 149 deletions(-) create mode 100644 fortran_tests/externalTestCode.config diff --git a/fortran_tests/externalTestCode.config b/fortran_tests/externalTestCode.config new file mode 100644 index 0000000..fffafbe --- /dev/null +++ b/fortran_tests/externalTestCode.config @@ -0,0 +1,16 @@ +[DEFAULT] +suite: regular +options: +[UnitTests] +obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True) +path: examples +options: +suite: unittests +[RosettaCodeData] +obtain: os.system('git clone https://github.com/acmeism/RosettaCodeData.git') +path: RosettaCodeData +options: -i 3 -w 0 +[wannier90] +obtain: os.system('git clone https://github.com/wannier-developers/wannier90') +path: wannier90 +suite: cron diff --git a/fprettify/__init__.py b/fprettify/__init__.py index d6450a3..e90cff1 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -70,6 +70,10 @@ import logging import os import io +try: + import configargparse as argparse +except ImportError: + import argparse sys.stdin = io.TextIOWrapper( sys.stdin.detach(), encoding='UTF-8', line_buffering=True) @@ -1911,23 +1915,143 @@ def log_message(message, level, filename, line_nr): logger_to_use = getattr(logger, level) logger_to_use(message, extra=logger_d) +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 + +def process_args(args): + + 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 + +def str2bool(str): + """helper function to convert strings to bool""" + if str.lower() in ('yes', 'true', 't', 'y', '1'): + return True + elif str.lower() in ('no', 'false', 'f', 'n', '0'): + return False + else: + return None + + +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 + + def run(argv=sys.argv): # pragma: no cover """Command line interface""" - try: - import configargparse as argparse - except ImportError: - import argparse - - def str2bool(str): - """helper function to convert strings to bool""" - if str.lower() in ('yes', 'true', 't', 'y', '1'): - return True - elif str.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - return None + + def get_config_file_list(filename): """helper function to create list of config files found in parent directories""" @@ -1951,101 +2075,11 @@ 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] @@ -2097,46 +2131,25 @@ 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] - } - stdout = file_args.stdout or directory == '-' - diffonly=file_args.diff + 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 - 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 3fb2827..4fb4f3b 100644 --- a/fprettify/tests/__init__.py +++ b/fprettify/tests/__init__.py @@ -33,6 +33,8 @@ import inspect from datetime import datetime import shutil +import configparser +import shlex sys.stderr = io.TextIOWrapper( sys.stderr.detach(), encoding='UTF-8', line_buffering=True) @@ -47,7 +49,9 @@ def joinpath(path1, path2): MYPATH = os.path.dirname(os.path.abspath( inspect.getfile(inspect.currentframe()))) -TEST_DIR = joinpath(MYPATH, r'../../fortran_tests/test_code') +TEST_MAIN_DIR = joinpath(MYPATH, r'../../fortran_tests') + +TEST_DIR = joinpath(TEST_MAIN_DIR, r'test_code') EXAMPLE_DIR = joinpath(MYPATH, r'../../examples/in') TIMESTAMP = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') BACKUP_DIR = joinpath(MYPATH, r'../../fortran_tests/test_code_in_' + TIMESTAMP) @@ -886,9 +890,33 @@ def test_label(self): self.assert_fprettify_result([], instring, outstring) +def generatesuite(suitename): + config = configparser.ConfigParser() + config.read(joinpath(TEST_MAIN_DIR, 'externalTestCode.config')) + + for key in config.sections(): + code = config[key] + if code['suite'] == suitename: + orig = os.getcwd() + try: + os.chdir(TEST_DIR) + + if not os.path.isdir(code['path']): + exec(code['obtain']) + finally: + os.chdir(orig) + + addtestcode(code['path'], code['options']) + +def addtestcode(code_path, options): + # dynamically create test cases from fortran files in test directory + for dirpath, _, filenames in os.walk(joinpath(TEST_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_DIR) + addtestmethod(FPrettifyTestCase, rel_dirpath, example, options) -def addtestmethod(testcase, fpath, ffile): +def addtestmethod(testcase, fpath, ffile, options): """add a test method for each example.""" def testmethod(testcase): @@ -917,7 +945,12 @@ def test_result(path, info): outstring = io.StringIO() try: - fprettify.reformat_ffile(infile, outstring) + parser = fprettify.get_arg_parser() + args = parser.parse_args(options) + + args = fprettify.process_args(args) + + fprettify.reformat_ffile(infile, outstring, **args) outstring = outstring.getvalue() m = hashlib.sha256() m.update(outstring.encode('utf-8')) @@ -999,14 +1032,5 @@ def test_result(path, info): # erase failures from previous testers io.open(FAILED_FILE, 'w', encoding='utf-8').close() -# this prepares FPrettifyTestCase class when module is loaded by unittest - -# copy examples to test directory -shutil.copytree(EXAMPLE_DIR, os.path.join(TEST_DIR, "examples"), dirs_exist_ok=True) - -# dynamically create test cases from fortran files in test directory -for dirpath, _, filenames in os.walk(TEST_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=TEST_DIR) - addtestmethod(FPrettifyTestCase, rel_dirpath, example) - +# ToDo: parameterize regular / cron +generatesuite('cron') From b9c5e7d77b1d38808fda8f6985a2c4d02a68b487 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 4 Oct 2022 01:29:22 +0200 Subject: [PATCH 03/27] Unit tests: use fprettify as a module instead of relying on subprocesses --- fprettify/__init__.py | 55 +++++++++++++---------------- fprettify/tests/__init__.py | 70 +++++++++++++++++++++++-------------- 2 files changed, 69 insertions(+), 56 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index e90cff1..20662e8 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -1915,23 +1915,24 @@ def log_message(message, level, filename, line_nr): logger_to_use = getattr(logger, level) logger_to_use(message, extra=logger_d) -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 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) @@ -1959,18 +1960,18 @@ def process_args(args): return args_out -def str2bool(str): - """helper function to convert strings to bool""" - if str.lower() in ('yes', 'true', 't', 'y', '1'): - return True - elif str.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - return None - - def get_arg_parser(args={}): """helper function to create the parser object""" + + def str2bool(str): + """helper function to convert strings to bool""" + if str.lower() in ('yes', 'true', 't', 'y', '1'): + return True + elif str.lower() in ('no', 'false', 'f', 'n', '0'): + return False + else: + return None + parser = argparse.ArgumentParser(**args) parser.add_argument("-i", "--indent", type=int, default=3, @@ -2046,13 +2047,9 @@ def get_arg_parser(args={}): 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 = [] @@ -2075,7 +2072,6 @@ 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." - parser = get_arg_parser(arguments) args = parser.parse_args(argv[1:]) @@ -2132,7 +2128,6 @@ def get_config_file_list(filename): 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) - args_tmp = file_argparser.parse_args(argv[1:]) file_args = process_args(args_tmp) file_args['stdout'] = args_tmp.stdout or directory == '-' diff --git a/fprettify/tests/__init__.py b/fprettify/tests/__init__.py index 4fb4f3b..100afe0 100644 --- a/fprettify/tests/__init__.py +++ b/fprettify/tests/__init__.py @@ -49,20 +49,34 @@ def joinpath(path1, path2): MYPATH = os.path.dirname(os.path.abspath( inspect.getfile(inspect.currentframe()))) +TIMESTAMP = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') + +# main directory for running tests TEST_MAIN_DIR = joinpath(MYPATH, r'../../fortran_tests') -TEST_DIR = joinpath(TEST_MAIN_DIR, r'test_code') +# 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') -TIMESTAMP = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') -BACKUP_DIR = joinpath(MYPATH, r'../../fortran_tests/test_code_in_' + TIMESTAMP) -RESULT_DIR = joinpath(MYPATH, r'../../fortran_tests/test_results') + +# 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') +# path to fprettify RUNSCRIPT = joinpath(MYPATH, r"../../fprettify.py") -fprettify.set_fprettify_logger(logging.ERROR) +fprettify.set_fprettify_logger(logging.ERROR) class AlienInvasion(Exception): """Should not happen""" @@ -107,7 +121,7 @@ def setUpClass(cls): eprint("recognized Fortran files") eprint(", ".join(fprettify.FORTRAN_EXTENSIONS)) eprint("-" * 70) - eprint("Applying fprettify to Fortran files in " + TEST_DIR) + eprint("Applying fprettify to Fortran files in " + TEST_EXT_DIR) eprint("Writing backup of original files to " + BACKUP_DIR) eprint("Storing expected results in " + RESULT_FILE) eprint("Storing failed results in " + FAILED_FILE) @@ -250,12 +264,17 @@ 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) + + 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_io(self): """simple test for io (file inplace, stdin & stdout)""" @@ -890,7 +909,7 @@ def test_label(self): self.assert_fprettify_result([], instring, outstring) -def generatesuite(suitename): +def generate_suite(suitename): config = configparser.ConfigParser() config.read(joinpath(TEST_MAIN_DIR, 'externalTestCode.config')) @@ -899,7 +918,7 @@ def generatesuite(suitename): if code['suite'] == suitename: orig = os.getcwd() try: - os.chdir(TEST_DIR) + os.chdir(TEST_EXT_DIR) if not os.path.isdir(code['path']): exec(code['obtain']) @@ -910,9 +929,9 @@ def generatesuite(suitename): def addtestcode(code_path, options): # dynamically create test cases from fortran files in test directory - for dirpath, _, filenames in os.walk(joinpath(TEST_DIR, code_path)): + 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_DIR) + rel_dirpath = os.path.relpath(dirpath, start=TEST_EXT_DIR) addtestmethod(FPrettifyTestCase, rel_dirpath, example, options) @@ -922,7 +941,7 @@ def addtestmethod(testcase, fpath, ffile, options): def testmethod(testcase): """this is the test method invoked for each example.""" - example_path = joinpath(TEST_DIR, fpath) + example_path = joinpath(TEST_EXT_DIR, fpath) backup_path = joinpath(BACKUP_DIR, fpath) if not os.path.exists(backup_path): os.makedirs(backup_path) @@ -931,7 +950,7 @@ def testmethod(testcase): example_backup = joinpath(backup_path, ffile) def test_result(path, info): - return [os.path.relpath(path, TEST_DIR), info] + return [os.path.relpath(path, TEST_EXT_DIR), info] with io.open(example, 'r', encoding='utf-8') as infile: instring = infile.read() @@ -942,16 +961,15 @@ def test_result(path, info): # apply fprettify with io.open(example, 'r', encoding='utf-8') as infile: - outstring = io.StringIO() + outfile = io.StringIO() try: parser = fprettify.get_arg_parser() - args = parser.parse_args(options) - + args = parser.parse_args(shlex.split(options)) args = fprettify.process_args(args) - fprettify.reformat_ffile(infile, outstring, **args) - outstring = outstring.getvalue() + fprettify.reformat_ffile(infile, outfile, **args) + outstring = outfile.getvalue() m = hashlib.sha256() m.update(outstring.encode('utf-8')) @@ -1020,8 +1038,8 @@ def test_result(path, info): setattr(testcase, testmethod.__name__, testmethod) # make sure all directories exist -if not os.path.exists(TEST_DIR): # pragma: no cover - os.makedirs(TEST_DIR) +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 @@ -1033,4 +1051,4 @@ def test_result(path, info): io.open(FAILED_FILE, 'w', encoding='utf-8').close() # ToDo: parameterize regular / cron -generatesuite('cron') +#generate_suite('cron') From ce9d619204a1cc1d885103ee12627d9ca9e96fbe Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 25 Oct 2022 01:45:04 +0200 Subject: [PATCH 04/27] finish core work on test reorganization --- fprettify/tests/__init__.py | 1054 ------------------------------- fprettify/tests/fortrantests.py | 178 ++++++ fprettify/tests/test_common.py | 124 ++++ fprettify/tests/unittests.py | 806 +++++++++++++++++++++++ run_tests.py | 12 +- 5 files changed, 1118 insertions(+), 1056 deletions(-) create mode 100644 fprettify/tests/fortrantests.py create mode 100644 fprettify/tests/test_common.py create mode 100644 fprettify/tests/unittests.py diff --git a/fprettify/tests/__init__.py b/fprettify/tests/__init__.py index 100afe0..e69de29 100644 --- a/fprettify/tests/__init__.py +++ b/fprettify/tests/__init__.py @@ -1,1054 +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 . -############################################################################### - -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 -from datetime import datetime -import shutil -import configparser -import shlex - -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()))) - -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') - -# path to fprettify -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("Applying fprettify to Fortran files in " + TEST_EXT_DIR) - eprint("Writing backup of original files to " + BACKUP_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 - """ - - 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_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 generate_suite(suitename): - config = configparser.ConfigParser() - config.read(joinpath(TEST_MAIN_DIR, 'externalTestCode.config')) - - for key in config.sections(): - code = config[key] - if code['suite'] == suitename: - orig = os.getcwd() - try: - os.chdir(TEST_EXT_DIR) - - if not os.path.isdir(code['path']): - exec(code['obtain']) - finally: - os.chdir(orig) - - addtestcode(code['path'], code['options']) - -def addtestcode(code_path, options): - # dynamically create test cases from fortran files in test directory - 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) - addtestmethod(FPrettifyTestCase, rel_dirpath, example, options) - - -def addtestmethod(testcase, fpath, ffile, options): - """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) - - # apply fprettify - with io.open(example, 'r', encoding='utf-8') as infile: - outfile = io.StringIO() - - try: - parser = fprettify.get_arg_parser() - args = parser.parse_args(shlex.split(options)) - args = fprettify.process_args(args) - - fprettify.reformat_ffile(infile, outfile, **args) - outstring = outfile.getvalue() - m = hashlib.sha256() - m.update(outstring.encode('utf-8')) - - test_info = "checksum" - test_content = test_result(example, m.hexdigest()) - - FPrettifyTestCase.n_success += 1 - except FprettifyParseException as e: - test_info = "parse error" - fprettify.log_exception(e, test_info) - test_content = test_result(example, 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, test_info) - FPrettifyTestCase.n_internalfail += 1 - except: # pragma: no cover - FPrettifyTestCase.n_unexpectedfail += 1 - raise - - # overwrite example - with io.open(example, 'w', encoding='utf-8') as outfile: - outfile.write(outstring) - - # check that no changes other than whitespace changes or lower/upper case occured - before_nosp = re.sub( - r'\n{3,}', r'\n\n', instring.lower().replace(' ', '').replace('\t', '')) - - after_nosp = outstring.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 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 - 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(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() - -# ToDo: parameterize regular / cron -#generate_suite('cron') diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py new file mode 100644 index 0000000..cb4da79 --- /dev/null +++ b/fprettify/tests/fortrantests.py @@ -0,0 +1,178 @@ +#!/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 hashlib +import logging +import io +import re +import os +import difflib +import configparser +import shutil +import shlex +import fprettify +from fprettify.tests.test_common import TEST_MAIN_DIR, TEST_EXT_DIR, BACKUP_DIR, RESULT_DIR, RESULT_FILE, FAILED_FILE, FprettifyTestCase, joinpath + + +fprettify.set_fprettify_logger(logging.ERROR) + +def generate_suite(suitename): + config = configparser.ConfigParser() + config.read(joinpath(TEST_MAIN_DIR, 'externalTestCode.config')) + + for key in config.sections(): + code = config[key] + if code['suite'] == suitename: + orig = os.getcwd() + try: + os.chdir(TEST_EXT_DIR) + + if not os.path.isdir(code['path']): + exec(code['obtain']) + finally: + os.chdir(orig) + + addtestcode(code['path'], code['options']) + return FprettifyTestCase + +def addtestcode(code_path, options): + # dynamically create test cases from fortran files in test directory + 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) + addtestmethod(FprettifyTestCase, rel_dirpath, example, options) + +def addtestmethod(testcase, fpath, ffile, options): + """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) + + # apply fprettify + with io.open(example, 'r', encoding='utf-8') as infile: + outfile = io.StringIO() + + try: + parser = fprettify.get_arg_parser() + args = parser.parse_args(shlex.split(options)) + args = fprettify.process_args(args) + + fprettify.reformat_ffile(infile, outfile, **args) + outstring = outfile.getvalue() + m = hashlib.sha256() + m.update(outstring.encode('utf-8')) + + test_info = "checksum" + test_content = test_result(example, m.hexdigest()) + + FprettifyTestCase.n_success += 1 + except fprettify.FprettifyParseException as e: + test_info = "parse error" + fprettify.log_exception(e, test_info) + test_content = test_result(example, test_info) + FprettifyTestCase.n_parsefail += 1 + except fprettify.FprettifyInternalException as e: + test_info = "internal error" + fprettify.log_exception(e, test_info) + test_content = test_result(example, test_info) + FprettifyTestCase.n_internalfail += 1 + except: # pragma: no cover + FprettifyTestCase.n_unexpectedfail += 1 + raise + + # overwrite example + with io.open(example, 'w', encoding='utf-8') as outfile: + outfile.write(outstring) + + # check that no changes other than whitespace changes or lower/upper case occured + before_nosp = re.sub( + r'\n{3,}', r'\n\n', instring.lower().replace(' ', '').replace('\t', '')) + + after_nosp = outstring.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 + FprettifyTestCase.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 + FprettifyTestCase.write_result( + FAILED_FILE, test_content, sep_str) + raise + break + + if not found: # pragma: no cover + FprettifyTestCase.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(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() + + diff --git a/fprettify/tests/test_common.py b/fprettify/tests/test_common.py new file mode 100644 index 0000000..ae26947 --- /dev/null +++ b/fprettify/tests/test_common.py @@ -0,0 +1,124 @@ +#!/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 hashlib +from datetime import datetime +import unittest +import fprettify + +def joinpath(path1, path2): + return os.path.normpath(os.path.join(path1, path2)) + +#ToDo: replace with __FILE__ +_MYPATH = os.path.dirname(os.path.abspath( + inspect.getfile(inspect.currentframe()))) + +_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') + +# path to fprettify +RUNSCRIPT = joinpath(_MYPATH, r"../../fprettify.py") + + +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 + + FprettifyTestCase.eprint("-" * 70) + FprettifyTestCase.eprint("recognized Fortran files") + FprettifyTestCase.eprint(", ".join(fprettify.FORTRAN_EXTENSIONS)) + FprettifyTestCase.eprint("-" * 70) + FprettifyTestCase.eprint("Applying fprettify to Fortran files in " + TEST_EXT_DIR) + FprettifyTestCase.eprint("Writing backup of original files to " + BACKUP_DIR) + FprettifyTestCase.eprint("Storing expected results in " + RESULT_FILE) + FprettifyTestCase.eprint("Storing failed results in " + FAILED_FILE) + FprettifyTestCase.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}" + FprettifyTestCase.eprint('\n' + "=" * 70) + FprettifyTestCase.eprint("IGNORED errors: invalid or old Fortran") + FprettifyTestCase.eprint("-" * 70) + FprettifyTestCase.eprint(format.format("parse errors: ", cls.n_parsefail)) + FprettifyTestCase.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) + diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py new file mode 100644 index 0000000..c83e4e5 --- /dev/null +++ b/fprettify/tests/unittests.py @@ -0,0 +1,806 @@ +#!/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 +import shlex + +sys.stderr = io.TextIOWrapper( + sys.stderr.detach(), encoding='UTF-8', line_buffering=True) + +import fprettify +from fprettify.fparse_utils import FprettifyParseException, FprettifyInternalException +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") + 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 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) + + + diff --git a/run_tests.py b/run_tests.py index a5fefe3..1a53599 100755 --- a/run_tests.py +++ b/run_tests.py @@ -19,7 +19,9 @@ ############################################################################### import unittest -from fprettify.tests import FPrettifyTestCase, FAILED_FILE, RESULT_FILE +from fprettify.tests.unittests import FprettifyUnitTestCase +from fprettify.tests.fortrantests import generate_suite +from fprettify.tests.test_common import FAILED_FILE, RESULT_FILE, FprettifyTestCase import fileinput import io import os @@ -31,10 +33,16 @@ 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("-s", "--suite", type=str, default="unittests", help="select suite.") args = parser.parse_args() - suite = unittest.TestLoader().loadTestsFromTestCase(FPrettifyTestCase) + if args.suite == "unittests": + suite = unittest.TestLoader().loadTestsFromTestCase(FprettifyUnitTestCase) + else: + testCase = generate_suite(args.suite) + suite = unittest.TestLoader().loadTestsFromTestCase(testCase) + unittest.TextTestRunner(verbosity=2).run(suite) if args.reset and os.path.isfile(FAILED_FILE): From e1d7aa71fd6155d44a73e73cf6d1612f01c48be3 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 25 Oct 2022 02:08:56 +0200 Subject: [PATCH 05/27] suppress exceptions from test output (closes #134) --- fprettify/__init__.py | 4 ++-- fprettify/tests/fortrantests.py | 4 ++-- fprettify/tests/unittests.py | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index 20662e8..d83c29d 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -1902,9 +1902,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): diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index cb4da79..ca464cd 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -104,12 +104,12 @@ def test_result(path, info): FprettifyTestCase.n_success += 1 except fprettify.FprettifyParseException as e: test_info = "parse error" - fprettify.log_exception(e, test_info) + fprettify.log_exception(e, test_info, level="warning") test_content = test_result(example, test_info) FprettifyTestCase.n_parsefail += 1 except fprettify.FprettifyInternalException as e: test_info = "internal error" - fprettify.log_exception(e, test_info) + fprettify.log_exception(e, test_info, level="warning") test_content = test_result(example, test_info) FprettifyTestCase.n_internalfail += 1 except: # pragma: no cover diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py index c83e4e5..40996b2 100644 --- a/fprettify/tests/unittests.py +++ b/fprettify/tests/unittests.py @@ -32,7 +32,6 @@ sys.stderr.detach(), encoding='UTF-8', line_buffering=True) import fprettify -from fprettify.fparse_utils import FprettifyParseException, FprettifyInternalException from fprettify.tests.test_common import FprettifyTestCase, RUNSCRIPT From 1576631332d50b87d2bd6fe5bf1ab1fa157e2d4f Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sat, 4 May 2024 12:22:31 +0200 Subject: [PATCH 06/27] polishing test suites --- .github/workflows/test.yml | 2 +- fortran_tests/externalTestCode.config | 16 -------------- fortran_tests/testsuites.config | 30 +++++++++++++++++++++++++++ fprettify/tests/fortrantests.py | 12 ++++++++--- run_tests.py | 26 +++++++++++++++++------ 5 files changed, 60 insertions(+), 26 deletions(-) delete mode 100644 fortran_tests/externalTestCode.config create mode 100644 fortran_tests/testsuites.config diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab00c05..4201898 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -102,7 +102,7 @@ jobs: python-version: ${{ matrix.python }} - name: Install dependencies - run: pip install -r requirements.txt coveralls + run: pip install -r requirements.txt coveralls GitPython - name: Install project run: pip install . diff --git a/fortran_tests/externalTestCode.config b/fortran_tests/externalTestCode.config deleted file mode 100644 index fffafbe..0000000 --- a/fortran_tests/externalTestCode.config +++ /dev/null @@ -1,16 +0,0 @@ -[DEFAULT] -suite: regular -options: -[UnitTests] -obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True) -path: examples -options: -suite: unittests -[RosettaCodeData] -obtain: os.system('git clone https://github.com/acmeism/RosettaCodeData.git') -path: RosettaCodeData -options: -i 3 -w 0 -[wannier90] -obtain: os.system('git clone https://github.com/wannier-developers/wannier90') -path: wannier90 -suite: cron diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config new file mode 100644 index 0000000..4996a6c --- /dev/null +++ b/fortran_tests/testsuites.config @@ -0,0 +1,30 @@ +[DEFAULT] +suite: builtin +options: + +[UnitTests] +obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True) +path: examples +suite: builtin + +[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: regular + +[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 +suite: cron + +[flap] +obtain: git.Repo.clone_from("https://github.com/szaghi/FLAP", "FLAP", branch="v1.2.5") +path: FLAP +suite: regular diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index ca464cd..79a9c6d 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -34,18 +34,23 @@ fprettify.set_fprettify_logger(logging.ERROR) -def generate_suite(suitename): +def generate_suite(suite=None, name=None): + import git config = configparser.ConfigParser() - config.read(joinpath(TEST_MAIN_DIR, 'externalTestCode.config')) + 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'] == suitename: + 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) @@ -54,6 +59,7 @@ def generate_suite(suitename): return FprettifyTestCase def addtestcode(code_path, options): + print(f"creating test cases from {code_path} ...") # dynamically create test cases from fortran files in test directory 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)]: diff --git a/run_tests.py b/run_tests.py index 1a53599..4fe1db0 100755 --- a/run_tests.py +++ b/run_tests.py @@ -33,17 +33,31 @@ 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("-s", "--suite", type=str, default="unittests", help="select suite.") + parser.add_argument("-n", "--name", type=str, help="select tests by name (sections in testsuites.config).") + + suite_default = ["unittests", "builtin"] + parser.add_argument("-s", "--suite", type=str, default=suite_default, help="select suite.", choices=["unittests", "builtin", "regular", "cron", "custom"], action='append') args = parser.parse_args() - if args.suite == "unittests": - suite = unittest.TestLoader().loadTestsFromTestCase(FprettifyUnitTestCase) + # remove defaults if user has specified anything + if args.suite[:2] == suite_default and len(args.suite) > 2: + args.suite = args.suite[2:] + + if args.name: + testCase = generate_suite(name=args.name) else: - testCase = generate_suite(args.suite) - suite = unittest.TestLoader().loadTestsFromTestCase(testCase) + test_suite = unittest.TestSuite() + for suite in args.suite: + if suite == "unittests": + test_loaded = unittest.TestLoader().loadTestsFromTestCase(FprettifyUnitTestCase) + test_suite.addTest(test_loaded) + else: + testCase = generate_suite(suite=suite) + test_loaded = unittest.TestLoader().loadTestsFromTestCase(testCase) + test_suite.addTest(test_loaded) - unittest.TextTestRunner(verbosity=2).run(suite) + unittest.TextTestRunner(verbosity=2).run(test_suite) if args.reset and os.path.isfile(FAILED_FILE): sep_str = ' : ' From 1303fe96672ca63a259b43414360ccb5a7fb8887 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sat, 4 May 2024 12:24:35 +0200 Subject: [PATCH 07/27] Splitting test class into unit and integration tests --- fortran_tests/testsuites.config | 2 +- fprettify/tests/fortrantests.py | 108 ++++++++++++++++++++++++++++---- fprettify/tests/test_common.py | 87 +------------------------ fprettify/tests/unittests.py | 1 - run_tests.py | 20 +++--- 5 files changed, 110 insertions(+), 108 deletions(-) diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config index 4996a6c..b5a8de7 100644 --- a/fortran_tests/testsuites.config +++ b/fortran_tests/testsuites.config @@ -2,7 +2,7 @@ suite: builtin options: -[UnitTests] +[Examples] obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True) path: examples suite: builtin diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index 79a9c6d..3aa95f0 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -19,6 +19,7 @@ ############################################################################### +import sys import hashlib import logging import io @@ -28,12 +29,97 @@ import configparser import shutil import shlex +from datetime import datetime import fprettify -from fprettify.tests.test_common import TEST_MAIN_DIR, TEST_EXT_DIR, BACKUP_DIR, RESULT_DIR, RESULT_FILE, FAILED_FILE, FprettifyTestCase, joinpath +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): import git config = configparser.ConfigParser() @@ -56,7 +142,7 @@ def generate_suite(suite=None, name=None): os.chdir(orig) addtestcode(code['path'], code['options']) - return FprettifyTestCase + return FprettifyIntegrationTestCase def addtestcode(code_path, options): print(f"creating test cases from {code_path} ...") @@ -64,7 +150,7 @@ def addtestcode(code_path, options): 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) - addtestmethod(FprettifyTestCase, rel_dirpath, example, options) + addtestmethod(FprettifyIntegrationTestCase, rel_dirpath, example, options) def addtestmethod(testcase, fpath, ffile, options): """add a test method for each example.""" @@ -107,19 +193,19 @@ def test_result(path, info): test_info = "checksum" test_content = test_result(example, m.hexdigest()) - FprettifyTestCase.n_success += 1 + 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) - FprettifyTestCase.n_parsefail += 1 + 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) - FprettifyTestCase.n_internalfail += 1 + FprettifyIntegrationTestCase.n_internalfail += 1 except: # pragma: no cover - FprettifyTestCase.n_unexpectedfail += 1 + FprettifyIntegrationTestCase.n_unexpectedfail += 1 raise # overwrite example @@ -141,7 +227,7 @@ def test_result(path, info): line_content = line.strip().split(sep_str) if line_content[0] == test_content[0]: found = True - FprettifyTestCase.eprint(test_info, end=" ") + FprettifyIntegrationTestCase.eprint(test_info, end=" ") msg = '{} (old) != {} (new)'.format( line_content[1], test_content[1]) if test_info == "checksum" and outstring.count('\n') < 10000: @@ -153,14 +239,14 @@ def test_result(path, info): testcase.assertEqual( line_content[1], test_content[1], msg) except AssertionError: # pragma: no cover - FprettifyTestCase.write_result( + FprettifyIntegrationTestCase.write_result( FAILED_FILE, test_content, sep_str) raise break if not found: # pragma: no cover - FprettifyTestCase.eprint(test_info + " new", end=" ") - FprettifyTestCase.write_result(RESULT_FILE, test_content, sep_str) + 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 diff --git a/fprettify/tests/test_common.py b/fprettify/tests/test_common.py index ae26947..8f9c94e 100644 --- a/fprettify/tests/test_common.py +++ b/fprettify/tests/test_common.py @@ -19,8 +19,6 @@ ############################################################################### import os, sys, io import inspect -import hashlib -from datetime import datetime import unittest import fprettify @@ -31,94 +29,11 @@ def joinpath(path1, path2): _MYPATH = os.path.dirname(os.path.abspath( inspect.getfile(inspect.currentframe()))) -_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') - # path to fprettify RUNSCRIPT = joinpath(_MYPATH, r"../../fprettify.py") class FprettifyTestCase(unittest.TestCase): """ - test class to be recognized by unittest. + test class to be recognized by unittest, specialized for fprettify tests. """ - - 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 - - FprettifyTestCase.eprint("-" * 70) - FprettifyTestCase.eprint("recognized Fortran files") - FprettifyTestCase.eprint(", ".join(fprettify.FORTRAN_EXTENSIONS)) - FprettifyTestCase.eprint("-" * 70) - FprettifyTestCase.eprint("Applying fprettify to Fortran files in " + TEST_EXT_DIR) - FprettifyTestCase.eprint("Writing backup of original files to " + BACKUP_DIR) - FprettifyTestCase.eprint("Storing expected results in " + RESULT_FILE) - FprettifyTestCase.eprint("Storing failed results in " + FAILED_FILE) - FprettifyTestCase.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}" - FprettifyTestCase.eprint('\n' + "=" * 70) - FprettifyTestCase.eprint("IGNORED errors: invalid or old Fortran") - FprettifyTestCase.eprint("-" * 70) - FprettifyTestCase.eprint(format.format("parse errors: ", cls.n_parsefail)) - FprettifyTestCase.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) - diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py index 40996b2..18d6fdd 100644 --- a/fprettify/tests/unittests.py +++ b/fprettify/tests/unittests.py @@ -26,7 +26,6 @@ import logging import io import subprocess -import shlex sys.stderr = io.TextIOWrapper( sys.stderr.detach(), encoding='UTF-8', line_buffering=True) diff --git a/run_tests.py b/run_tests.py index 4fe1db0..68ccd62 100755 --- a/run_tests.py +++ b/run_tests.py @@ -20,8 +20,7 @@ import unittest from fprettify.tests.unittests import FprettifyUnitTestCase -from fprettify.tests.fortrantests import generate_suite -from fprettify.tests.test_common import FAILED_FILE, RESULT_FILE, FprettifyTestCase +from fprettify.tests.fortrantests import generate_suite, FAILED_FILE, RESULT_FILE import fileinput import io import os @@ -44,18 +43,21 @@ if args.suite[:2] == suite_default and len(args.suite) > 2: args.suite = args.suite[2:] + test_cases = [] + if args.name: - testCase = generate_suite(name=args.name) + test_cases.append(generate_suite(name=args.name)) else: - test_suite = unittest.TestSuite() for suite in args.suite: if suite == "unittests": - test_loaded = unittest.TestLoader().loadTestsFromTestCase(FprettifyUnitTestCase) - test_suite.addTest(test_loaded) + test_cases.append(FprettifyUnitTestCase) else: - testCase = generate_suite(suite=suite) - test_loaded = unittest.TestLoader().loadTestsFromTestCase(testCase) - test_suite.addTest(test_loaded) + 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) From 02728b2747ad26d456c53e212221efecd7c0a2a7 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Fri, 10 May 2024 18:22:09 +0200 Subject: [PATCH 08/27] minor cleanups and test fixes --- fprettify/__init__.py | 14 +++--- fprettify/tests/fortrantests.py | 75 ++++++++++++++++----------------- 2 files changed, 43 insertions(+), 46 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index d83c29d..1884946 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -1233,10 +1233,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(' '))) @@ -1244,13 +1245,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(' ')) diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index 3aa95f0..400f94a 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -176,49 +176,49 @@ def test_result(path, info): with io.open(example_backup, 'w', encoding='utf-8') as outfile: outfile.write(instring) - # apply fprettify - with io.open(example, 'r', encoding='utf-8') as infile: - outfile = io.StringIO() + # initialize outstring containing reformatted file content + outstring = instring - try: - parser = fprettify.get_arg_parser() - args = parser.parse_args(shlex.split(options)) - args = fprettify.process_args(args) - - fprettify.reformat_ffile(infile, outfile, **args) - outstring = outfile.getvalue() - 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 - - # overwrite example - with io.open(example, 'w', encoding='utf-8') as outfile: - outfile.write(outstring) + # apply fprettify + try: + parser = fprettify.get_arg_parser() + args = parser.parse_args(shlex.split(options)) + args = fprettify.process_args(args) + + 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 - before_nosp = re.sub( + before_stripped = re.sub( r'\n{3,}', r'\n\n', instring.lower().replace(' ', '').replace('\t', '')) - after_nosp = outstring.lower().replace(' ', '') + after_stripped = outstring.lower().replace(' ', '').replace('\t', '') - testcase.assertMultiLineEqual(before_nosp, after_nosp) + testcase.assertMultiLineEqual(before_stripped, after_stripped, "fprettify caused changes other than whitespace or lower/upper case") sep_str = ' : ' with io.open(RESULT_FILE, 'r', encoding='utf-8') as infile: @@ -267,4 +267,3 @@ def test_result(path, info): # erase failures from previous testers io.open(FAILED_FILE, 'w', encoding='utf-8').close() - From bb668c5e1abc2ed150916d33306c4377b09eaef2 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Fri, 10 May 2024 23:53:28 +0200 Subject: [PATCH 09/27] More test fixes --- fprettify/__init__.py | 15 ++++++++------- fprettify/tests/fortrantests.py | 18 +++++++++++++----- fprettify/tests/unittests.py | 12 ++++++++++++ 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index 1884946..71ee48d 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -1556,7 +1556,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(' ') @@ -1600,6 +1600,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: @@ -1608,11 +1612,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): @@ -1764,7 +1763,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: @@ -1778,6 +1777,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) diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index 400f94a..5602ef0 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -144,6 +144,16 @@ def generate_suite(suite=None, name=None): 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 @@ -213,12 +223,10 @@ def test_result(path, info): raise # check that no changes other than whitespace changes or lower/upper case occured - before_stripped = re.sub( - r'\n{3,}', r'\n\n', instring.lower().replace(' ', '').replace('\t', '')) - - after_stripped = outstring.lower().replace(' ', '').replace('\t', '') + orig_stripped = normalize_line(instring) + new_stripped = normalize_line(outstring) - testcase.assertMultiLineEqual(before_stripped, after_stripped, "fprettify caused changes other than whitespace or lower/upper case") + 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: diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py index 18d6fdd..00cba7d 100644 --- a/fprettify/tests/unittests.py +++ b/fprettify/tests/unittests.py @@ -800,5 +800,17 @@ def test_label(self): self.assert_fprettify_result([], instring, outstring) + def test_ampersand_string(self): + 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) + + From 74cb5ade031302bc3a2d32f5dadedeb52e38c74c Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sat, 11 May 2024 02:01:12 +0200 Subject: [PATCH 10/27] More test fixes --- fprettify/__init__.py | 2 +- fprettify/tests/unittests.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index 71ee48d..b003c44 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -550,7 +550,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) diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py index 00cba7d..705c6e8 100644 --- a/fprettify/tests/unittests.py +++ b/fprettify/tests/unittests.py @@ -108,10 +108,12 @@ 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\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\n integer :: 1", + "module a\nend\nend") for ind, out in zip(instring, outstring): self.assert_fprettify_result([],ind, out) @@ -801,6 +803,7 @@ def test_label(self): 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"'] From 72bc6ce5f288f446aed6581ccdb878c0b3bcef03 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sat, 11 May 2024 02:12:42 +0200 Subject: [PATCH 11/27] Updating test results --- fortran_tests/test_results/expected_results | 423 ++++++++++++++++---- 1 file changed, 339 insertions(+), 84 deletions(-) diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results index e109307..991e67b 100644 --- a/fortran_tests/test_results/expected_results +++ b/fortran_tests/test_results/expected_results @@ -1,5 +1,5 @@ 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 +13,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 +80,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 +98,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 +141,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 +163,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 +184,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,10 +199,10 @@ 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 +RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-1.f : a3262f22055fb743029a67cc9578ab5fcee554e4722df60906f1168166ffdcca RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-2.f : 8b6eb20fa34089cdb0b9700e02fa6c06c06ac1bf4868e58446d11575ebb51ca9 RosettaCodeData/Task/Execute-Brain----/Fortran/execute-brain-----1.f : 008147b30c6b7d8a5f990c9d80efe7c39d845f048941f32fd8aaed46797bc2e5 RosettaCodeData/Task/Execute-Brain----/Fortran/execute-brain-----2.f : 0521bf5368ba92ee0d9528f5a521be25e53e4519f1bc12e95c81f0216404ea3a @@ -217,10 +217,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 +299,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 +329,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 +348,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 +386,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 +401,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 +423,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 +489,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 +533,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 +541,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 +560,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 +580,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 +632,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 +665,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 @@ -1920,17 +1920,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 @@ -2036,35 +2036,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 @@ -2090,7 +2090,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 +2109,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 +2135,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 +2145,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 @@ -2265,3 +2265,258 @@ cp2k/src/xas_tdp_types.F : 728f382598e79fa0e7b3be6d88a3218fea45e19744bbe7bdaaa96 cp2k/src/xas_tdp_utils.F : 002dfdc6e9d5979516458b6f890950bd94df49e947633a7253b46be5f3fd7d61 cp2k/src/xc/xc_sr_lda.F : 094099ac92a6749028c004d37b7646e2af7de402ee5804de27192b56588cc7fe cp2k/src/xtb_ehess.F : 45fe2c022760195affb0fd5155d865b6deac896cf6e6714e772bef04afad4be2 +examples/example.f90 : f5b449553856f8e62b253402ed2189044554f53c9954aad045db44ff3c2d49b7 +examples/example_swapcase.f90 : 8dfac266553a438deb71e3faf5aeb97cd067a004c5cf61cda341237cd6328d55 +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 : 03863f01d4583c88bcd69df6285e0d7b7155a354b26c767b7d066fbbbbf96216 +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 From 24e71d922afedbbffb76f75e0fb7528b5be9d767 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sat, 11 May 2024 03:28:53 +0200 Subject: [PATCH 12/27] =?UTF-8?q?Setting=20limit=20to=20number=20of=20line?= =?UTF-8?q?s=20per=20file=C2=A0(to=20speedup=20cron=20tests)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fortran_tests/testsuites.config | 2 +- fprettify/__init__.py | 22 ++++++++++++++++++---- fprettify/tests/fortrantests.py | 25 +++++++++++++++++++------ 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config index b5a8de7..6597c74 100644 --- a/fortran_tests/testsuites.config +++ b/fortran_tests/testsuites.config @@ -21,7 +21,7 @@ suite: regular [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 +options: --whitespace 2 --indent 3 --case 2 2 2 2 --exclude-max-lines 10000 suite: cron [flap] diff --git a/fprettify/__init__.py b/fprettify/__init__.py index b003c44..8dfe73b 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -2036,9 +2036,11 @@ def str2bool(str): 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', + 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', @@ -2109,15 +2111,27 @@ def get_config_file_list(filename): # 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: diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index 5602ef0..b57168c 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -157,12 +157,29 @@ def normalize_line(line): 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) - addtestmethod(FprettifyIntegrationTestCase, rel_dirpath, example, options) -def addtestmethod(testcase, fpath, ffile, options): + 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): @@ -191,10 +208,6 @@ def test_result(path, info): # apply fprettify try: - parser = fprettify.get_arg_parser() - args = parser.parse_args(shlex.split(options)) - args = fprettify.process_args(args) - fprettify.reformat_inplace(example, **args) # update outstring From 7bfac51e46e3c47d07393794e8086afd9c6ee3c4 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 4 Aug 2024 00:15:09 +0200 Subject: [PATCH 13/27] Allow to set options as annotations within Fortran file --- examples/in/example_swapcase.f90 | 2 +- examples/out/example_swapcase.f90 | 242 +++++++------- .../after/example_swapcase.f90-enabled | 304 ------------------ fortran_tests/test_results/expected_results | 2 +- fprettify/__init__.py | 21 ++ requirements.txt | 1 + 6 files changed, 145 insertions(+), 427 deletions(-) delete mode 100644 fortran_tests/after/example_swapcase.f90-enabled diff --git a/examples/in/example_swapcase.f90 b/examples/in/example_swapcase.f90 index ce85a95..a4a5b9a 100644 --- a/examples/in/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/examples/out/example_swapcase.f90 b/examples/out/example_swapcase.f90 index 53a8f2e..d19162b 100644 --- a/examples/out/example_swapcase.f90 +++ b/examples/out/example_swapcase.f90 @@ -1,8 +1,8 @@ - -MODULE exAmple - IMPLICIT NONE - PRIVATE - PUBLIC :: dp, test_routine, & +! fprettify: --case 1 1 1 1 +module exAmple + implicit none + private + public :: dp, test_routine, & test_function, test_type, str_function ! Comment, should not change case nor spaces @@ -25,83 +25,83 @@ MODULE exAmple !!$ 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 + 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(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 + 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 +contains - SUBROUTINE test_routine( & + 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 + 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) - IF (l .EQ. 2) l = max + 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 + end & + subroutine - PURE FUNCTION test_function(r, i, j, & + pure function test_function(r, i, j, & k) & - RESULT(l) - INTEGER, INTENT(in) :: r, i, j, k - INTEGER :: l + 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 + end function + function & + str_function(a) result(l) + character(len=*) :: a + integer :: l - IF (LEN(a) < 5) THEN + if (len(a) < 5) then l = 0 - ELSE + else l = 1 - END IF - END FUNCTION + end if + end function -END MODULE +end module -PROGRAM example_prog - USE example, ONLY: dp, test_routine, test_function, test_type, str_function +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 + 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() + point => null() ! 1) white space formatting ! !***************************! @@ -109,9 +109,9 @@ PROGRAM example_prog 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) + 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 = ") @@ -153,42 +153,42 @@ PROGRAM example_prog ! example 2.1 l = 0 - DO r = 1, 10 - SELECT CASE (r) - CASE (1) - do_label: DO i = 1, 100 - IF (i <= 2) THEN + 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) + 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) + 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 + 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 + 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 ! !************************************! @@ -240,34 +240,34 @@ PROGRAM example_prog ! 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 + 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 + end do; end do + elseif (.not. j == 4) then my_integer = 4 - ELSE - WRITE (*, *) " hello" - END IF - END DO - CASE (2) + else + write (*, *) " hello" + end if + end do + case (2) l = i + j + k - END SELECT - END DO + end select + end do ! example 4.2 - IF ( & + if ( & l == & 111) & - THEN - DO k = 1, 2 - IF (k == 1) & + 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"), & @@ -276,10 +276,10 @@ PROGRAM example_prog ! test_function(1,2,3,4)),9,10) & ! +13*str_function('') + str_function('"') + 13*str_function('') + str_function('"') - END & ! comment + end & ! comment ! comment - DO - END IF + do + end if ! example 4.3 arr = [1, (/3, 4, & @@ -289,16 +289,16 @@ PROGRAM example_prog 3, 4, 5] ! example 4.4 - ENDIF = 3 - IF (ENDIF == 2) THEN - ENDIF = 5 - ELSE IF (ENDIF == 3) THEN - WRITE (*, *) ENDIF - END IF + 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 + do i = 1, 2; if (.true.) then + write (*, *) "hello" + end if; end do -END PROGRAM +end program diff --git a/fortran_tests/after/example_swapcase.f90-enabled b/fortran_tests/after/example_swapcase.f90-enabled deleted file mode 100644 index 06ba99f..0000000 --- a/fortran_tests/after/example_swapcase.f90-enabled +++ /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 - endif - 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 - enddo - endif - enddo do_label - case (2) - l = i + j + k - end select - enddo - -! 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 - enddo - enddo - enddo - enddo - enddo - enddo - enddo - -! 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; enddo - elseif (.not. j == 4) then - my_integer = 4 - else - write (*, *) " hello" - endif - enddo - case (2) - l = i + j + k - end select - enddo - -! 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 - endif - -! 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 - endif - -! example 4.5 - do i = 1, 2; if (.true.) then - write (*, *) "hello" - endif; enddo - -end program diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results index 991e67b..7000ceb 100644 --- a/fortran_tests/test_results/expected_results +++ b/fortran_tests/test_results/expected_results @@ -2266,7 +2266,7 @@ cp2k/src/xas_tdp_utils.F : 002dfdc6e9d5979516458b6f890950bd94df49e947633a7253b46 cp2k/src/xc/xc_sr_lda.F : 094099ac92a6749028c004d37b7646e2af7de402ee5804de27192b56588cc7fe cp2k/src/xtb_ehess.F : 45fe2c022760195affb0fd5155d865b6deac896cf6e6714e772bef04afad4be2 examples/example.f90 : f5b449553856f8e62b253402ed2189044554f53c9954aad045db44ff3c2d49b7 -examples/example_swapcase.f90 : 8dfac266553a438deb71e3faf5aeb97cd067a004c5cf61cda341237cd6328d55 +examples/example_swapcase.f90 : dc7ed8594a11400427558825749b00b473d55b9d3cfa1cc93765844896c1b880 examples/test_fypp.f90 : 31f61e4343e01cc9a981165b2905372ed51236653e304a5948990672df2510e9 examples/test_invalid.f90 : 45514bd722d41f25504452820ced31106e4551443f410246be55e84429939daa examples/test_namelist_block_select.f90 : 90257fe1108c8689002b470e2e2620c2a0652ca6465ba1a5bbbd6667e2339be0 diff --git a/fprettify/__init__.py b/fprettify/__init__.py index 8dfe73b..c84c817 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -70,6 +70,7 @@ import logging import os import io +import shlex try: import configargparse as argparse except ImportError: @@ -240,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 """ @@ -1389,6 +1393,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) 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 From 2856e8e5db89f04b33a709320a7adfde3b54cff2 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 4 Aug 2024 00:15:28 +0200 Subject: [PATCH 14/27] cosmetic --- fprettify/tests/fortrantests.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/fprettify/tests/fortrantests.py b/fprettify/tests/fortrantests.py index b57168c..419a7d6 100644 --- a/fprettify/tests/fortrantests.py +++ b/fprettify/tests/fortrantests.py @@ -121,6 +121,19 @@ def eprint(*args, **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')) @@ -275,16 +288,3 @@ def test_result(path, info): setattr(testcase, testmethod.__name__, testmethod) -# 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() - From 3063fdd7e0ff9e6a6ef394b381907f6a90d49d36 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 4 Aug 2024 00:42:52 +0200 Subject: [PATCH 15/27] Fix bug related to first line this bug caused 2 test cases to be indeterministic: - RosettaCodeData/Task/Cartesian-product-of-two-or-more-lists/Fortran/cartesian-product-of-two-or-more-lists.f - RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-1.f --- fortran_tests/test_results/expected_results | 4 ++-- fprettify/__init__.py | 6 +++++- fprettify/tests/unittests.py | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results index 7000ceb..0db10f1 100644 --- a/fortran_tests/test_results/expected_results +++ b/fortran_tests/test_results/expected_results @@ -202,7 +202,7 @@ RosettaCodeData/Task/Evaluate-binomial-coefficients/Fortran/evaluate-binomial-co 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 : a3262f22055fb743029a67cc9578ab5fcee554e4722df60906f1168166ffdcca +RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-1.f : 517c7d8b5f9ab77136c983ea64d58bb9e334adf39fde925bf13f05bf14d8d94e RosettaCodeData/Task/Evolutionary-algorithm/Fortran/evolutionary-algorithm-2.f : 8b6eb20fa34089cdb0b9700e02fa6c06c06ac1bf4868e58446d11575ebb51ca9 RosettaCodeData/Task/Execute-Brain----/Fortran/execute-brain-----1.f : 008147b30c6b7d8a5f990c9d80efe7c39d845f048941f32fd8aaed46797bc2e5 RosettaCodeData/Task/Execute-Brain----/Fortran/execute-brain-----2.f : 0521bf5368ba92ee0d9528f5a521be25e53e4519f1bc12e95c81f0216404ea3a @@ -2323,7 +2323,7 @@ RosettaCodeData/Task/Boyer-Moore-string-search/Fortran/boyer-moore-string-search 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 : 03863f01d4583c88bcd69df6285e0d7b7155a354b26c767b7d066fbbbbf96216 +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 diff --git a/fprettify/__init__.py b/fprettify/__init__.py index c84c817..5381386 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -880,7 +880,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: diff --git a/fprettify/tests/unittests.py b/fprettify/tests/unittests.py index 705c6e8..911bcd8 100644 --- a/fprettify/tests/unittests.py +++ b/fprettify/tests/unittests.py @@ -814,6 +814,20 @@ def test_ampersand_string(self): 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) + From eec327ed3be364e90448e4caf8fc0e3f78a6fd93 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 4 Aug 2024 02:34:11 +0200 Subject: [PATCH 16/27] Fix regex This regex caused fprettify to be stuck on file c2k/src/beta_gamma_psi.F --- fprettify/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fprettify/__init__.py b/fprettify/__init__.py index 5381386..247c0a6 100644 --- a/fprettify/__init__.py +++ b/fprettify/__init__.py @@ -480,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", From 39a7f00d16ddbdd04baf087d7c9fc15be3e32be1 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 4 Aug 2024 02:35:38 +0200 Subject: [PATCH 17/27] Update cron test results --- fortran_tests/test_results/expected_results | 2306 ++++++++++--------- 1 file changed, 1210 insertions(+), 1096 deletions(-) diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results index 0db10f1..991c651 100644 --- a/fortran_tests/test_results/expected_results +++ b/fortran_tests/test_results/expected_results @@ -698,99 +698,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 +800,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 +812,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 +1036,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 +1149,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 +1784,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 @@ -1940,18 +1940,18 @@ FLAP/src/tests/test_nested.f90 : f1fff1f3dedc2d19fea72e1b443f0bd62c8ba9ce9d65377 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,61 +1970,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 +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 test_fypp.f90 : 31f61e4343e01cc9a981165b2905372ed51236653e304a5948990672df2510e9 wannier90/pwscf/post_v6.2.1/pw2wannier90.f90 : e41bc8f625bd729bd16ef8ae54b3e9bb909a6cc606d75c72cf9f04f47272f7fe wannier90/pwscf/v3.2.3/pw2wannier90.f90 : 9db89aacccc86da7297c2cd8b38eaa118ca9a917e2c5c10f4ac782cb7f723eb7 @@ -2072,16 +2072,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 @@ -2157,114 +2157,114 @@ 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 +cp2k/src/xtb_coulomb.F : 21867d63a9e221b6d7e4e0ccefca82f819d0c220f3507673d68004f5fe19b167 +cp2k/src/xtb_matrices.F : b6cc92b6c3a8452fdc6c265883630b8092ff5a57f10b0a4f8c717bb3e9cd6668 +cp2k/src/xtb_parameters.F : 14184f67d5353cdcd6acd7fbaa067b4a85ccc6293df3acfa2ab3ee57c4de3faa +cp2k/src/xtb_types.F : 88de765a8df90dd9adc86e9eaa0b58e37d9369097c76785e1ae5b3835c77c100 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/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 @@ -2520,3 +2520,117 @@ RosettaCodeData/Task/Write-entire-file/Fortran/write-entire-file.f : 8ce2f65bb1a 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 From 15b6ec25ac3289506839ad79e135473ced13e65c Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 15 Sep 2024 19:13:06 +0200 Subject: [PATCH 18/27] Clean up file --- fortran_tests/test_results/expected_results | 6 ------ 1 file changed, 6 deletions(-) diff --git a/fortran_tests/test_results/expected_results b/fortran_tests/test_results/expected_results index 991c651..4235d0c 100644 --- a/fortran_tests/test_results/expected_results +++ b/fortran_tests/test_results/expected_results @@ -1,4 +1,3 @@ -example.f90 : f5b449553856f8e62b253402ed2189044554f53c9954aad045db44ff3c2d49b7 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 @@ -1938,8 +1937,6 @@ 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 : 7ca38bb7e9fd097984b8e805cf70f6824bdb8668b72ff55d5f0ea5d987627bd4 cp2k/src/arnoldi/arnoldi_data_manipulation.f90 : aca384f26bf61dba98b18313c5b82c30573d1d8989a25001b3c55aac33abd29a cp2k/src/arnoldi/arnoldi_data_selection.f90 : 8a821f5d55cb6aac362f6c5f73609c3769efdc6f3a61c33d43bca376435da0d7 @@ -2025,7 +2022,6 @@ cp2k/src/spglib_f08.F : b0220aad31e57cf3e02bfe897c79b9d7f996a0d9f2bdf67f7bced426 cp2k/src/subsys/molecule_kind_list_types.F : d847b99600e0ebfcc72a3206e6fdde36e77e5307bb1999dd8db340f0dde96f1e cp2k/src/subsys/molecule_list_types.F : 30fe9d055adcf1ca35dc6591c40f13a80edadb57aec288fe8ff76dfb20475fe0 cp2k/src/subsys/molecule_types.F : cd86e0bb34fdcedae6ae3359c4068b357547648e465542400f22d2c391a8ef6b -test_fypp.f90 : 31f61e4343e01cc9a981165b2905372ed51236653e304a5948990672df2510e9 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 @@ -2177,8 +2173,6 @@ cp2k/src/xtb_coulomb.F : 21867d63a9e221b6d7e4e0ccefca82f819d0c220f3507673d68004f cp2k/src/xtb_matrices.F : b6cc92b6c3a8452fdc6c265883630b8092ff5a57f10b0a4f8c717bb3e9cd6668 cp2k/src/xtb_parameters.F : 14184f67d5353cdcd6acd7fbaa067b4a85ccc6293df3acfa2ab3ee57c4de3faa cp2k/src/xtb_types.F : 88de765a8df90dd9adc86e9eaa0b58e37d9369097c76785e1ae5b3835c77c100 -example_swapcase.f90 : 8dfac266553a438deb71e3faf5aeb97cd067a004c5cf61cda341237cd6328d55 -where_forall.f90 : 11062d8d766cce036a0c2ed25ce3d8fe75fee47ab1e6566ec24c6b0043f6ffea cp2k/src/almo_scf_lbfgs_types.F : 927dd2fac1a18e293d78f9153ba0ff5ee284a7b4ce947b2b35ece5bde48b3ceb cp2k/src/common/callgraph.F : 48eb0d8f058a57438ac0d9ce72100265c2b52b957108adc58bea741a4d51fd5a cp2k/src/common/d3_poly.F : d9e828fd85d1ee24f8cee03cb2b9cd6d9839cd6b3a359c5a941224ed510cad45 From 65237e818fc5147d6ccd4f18404b86e0088dc484 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 15 Sep 2024 19:14:44 +0200 Subject: [PATCH 19/27] Explaining test mechanism in README.md --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/README.md b/README.md index 2678693..c63d837 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,64 @@ A = [-1, 10, 0, & ## Contributing / Testing +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 examinated. 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" + + # seleced 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. You 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 debug test failures + +`fprettify` comes with **unit tests**, typically testing expected formatting of smaller code snippets. These tests are entirely self-contained, insofar as the Fortran code, the fprettify options and the expected formatting results are all set within the respective test method. `fprettify` also allows to configure **integration tests** to test expected formatting of external Fortran code. **Unit tests** are relevant when adding new features to `fprettify`, and when these features can easily be tested by small code snippets. **Integration tests** are relevant when an entire Fortran module or program is needed to test a specific feature, or when an external repository relying on `fprettify` should be checked regularly for invariance under `fprettify` formatting. + + +Run single unit test: + +```python +python3 -m unittest -v fprettify.tests.unittests.FprettifyUnitTestCase.test_whitespace +``` + 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! From 2e97c9c592725ae12997aa3906fd186b4b817035 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 15 Sep 2024 20:12:41 +0200 Subject: [PATCH 20/27] Further working on README.md for tests --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index c63d837..e555e01 100644 --- a/README.md +++ b/README.md @@ -184,8 +184,27 @@ Can the new feature be reasonably covered by small code snippets (< 10 lines)? with your example. Rerun `./run_tests.py -s builtin` and check that the output mentions the newly added example with `checksum ok`. +### How to locally run all unit and integration tests: + +Run + +1. unit tests: `./run_tests.py -s unittests` +2. builtin examples integration tests: `./run_tests.py -s builtin` +3. `regular` integration test suite: `./run_tests.py -s regular` +4. `cron` integration test suite (optional, takes a long time to execute): `./run_tests.py -s cron` + ### How to debug test failures +Unit test failures should be rather easy to understand because the test output shows the diff of the actual vs. expected result. For integration tests, we don't store the Fortran code (as it's usually external to this repository), and the result is verified by comparing the SHA256 checksums of the actual vs. expected result. The test output shows the diff of the actual result vs. the previously tested version of the code. Thus, in order to obtain the diff of the actual vs. 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 a version of `fprettify` for which the test passes. +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. Now the `diff` shown in the test output refers to the expected result. + `fprettify` comes with **unit tests**, typically testing expected formatting of smaller code snippets. These tests are entirely self-contained, insofar as the Fortran code, the fprettify options and the expected formatting results are all set within the respective test method. `fprettify` also allows to configure **integration tests** to test expected formatting of external Fortran code. **Unit tests** are relevant when adding new features to `fprettify`, and when these features can easily be tested by small code snippets. **Integration tests** are relevant when an entire Fortran module or program is needed to test a specific feature, or when an external repository relying on `fprettify` should be checked regularly for invariance under `fprettify` formatting. From c17325751fbb8816c3597c09d755e83e1949d36a Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Thu, 6 Feb 2025 21:46:40 +0100 Subject: [PATCH 21/27] update README.md --- README.md | 104 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index e555e01..87e1b3c 100644 --- a/README.md +++ b/README.md @@ -147,10 +147,11 @@ unwanted side effects. It is expected that before merging a pull request: 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`: +- **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): @@ -169,52 +170,89 @@ Can the new feature be reasonably covered by small code snippets (< 10 lines)? 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 +- **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. You need to manually remove + 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 locally run all unit and integration tests: - -Run +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`. -1. unit tests: `./run_tests.py -s unittests` -2. builtin examples integration tests: `./run_tests.py -s builtin` -3. `regular` integration test suite: `./run_tests.py -s regular` -4. `cron` integration test suite (optional, takes a long time to execute): `./run_tests.py -s cron` -### How to debug test failures +### How to add integration tests -Unit test failures should be rather easy to understand because the test output shows the diff of the actual vs. expected result. For integration tests, we don't store the Fortran code (as it's usually external to this repository), and the result is verified by comparing the SHA256 checksums of the actual vs. expected result. The test output shows the diff of the actual result vs. the previously tested version of the code. Thus, in order to obtain the diff of the actual vs. expected result, the following steps need to be executed: +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: -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 a version of `fprettify` for which the test passes. -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. Now the `diff` shown in the test output refers to the expected result. +``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 +`` -`fprettify` comes with **unit tests**, typically testing expected formatting of smaller code snippets. These tests are entirely self-contained, insofar as the Fortran code, the fprettify options and the expected formatting results are all set within the respective test method. `fprettify` also allows to configure **integration tests** to test expected formatting of external Fortran code. **Unit tests** are relevant when adding new features to `fprettify`, and when these features can easily be tested by small code snippets. **Integration tests** are relevant when an entire Fortran module or program is needed to test a specific feature, or when an external repository relying on `fprettify` should be checked regularly for invariance under `fprettify` formatting. +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) -Run single unit test: - -```python -python3 -m unittest -v fprettify.tests.unittests.FprettifyUnitTestCase.test_whitespace -``` +### How to locally run all unit and integration tests: -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! +- 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. [![Code Climate](https://codeclimate.com/github/pseewald/fprettify/badges/gpa.svg)](https://codeclimate.com/github/pseewald/fprettify) From f23c7e6c2dc03408af3f40d3c127f95fd82e57f9 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Thu, 6 Feb 2025 21:46:55 +0100 Subject: [PATCH 22/27] minor change --- fortran_tests/testsuites.config | 1 - 1 file changed, 1 deletion(-) diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config index 6597c74..b7ed3d7 100644 --- a/fortran_tests/testsuites.config +++ b/fortran_tests/testsuites.config @@ -5,7 +5,6 @@ options: [Examples] obtain: shutil.copytree('../../examples/in', 'examples', dirs_exist_ok=True) path: examples -suite: builtin [RosettaCodeData] obtain: repo = git.Repo.clone_from("https://github.com/acmeism/RosettaCodeData.git", "RosettaCodeData", no_checkout=True); repo.git.checkout("29a5eea") From c1cbf900dd32c6ba317575e0c6f75f47345865e7 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Thu, 6 Feb 2025 22:35:39 +0100 Subject: [PATCH 23/27] removed todo --- fprettify/tests/test_common.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fprettify/tests/test_common.py b/fprettify/tests/test_common.py index 8f9c94e..0a518f2 100644 --- a/fprettify/tests/test_common.py +++ b/fprettify/tests/test_common.py @@ -25,7 +25,6 @@ def joinpath(path1, path2): return os.path.normpath(os.path.join(path1, path2)) -#ToDo: replace with __FILE__ _MYPATH = os.path.dirname(os.path.abspath( inspect.getfile(inspect.currentframe()))) From bb37a80cb73435f7e5245dffba9b6eb91e40ab33 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 9 Nov 2025 22:12:25 +0100 Subject: [PATCH 24/27] Adapt test workflows to new test mechanism and remove lengthy tests from regular testing --- .github/workflows/test.yml | 39 ++++++--------------------------- fortran_tests/testsuites.config | 4 ++-- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c41da81..e26dcb5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,32 +8,8 @@ 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 @@ -45,12 +21,6 @@ jobs: - 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 }} @@ -58,9 +28,14 @@ jobs: - name: Install project & dependencies run: pip install .[dev] - - name: Run tests + - name: Run unit and short integration tests + run: | + coverage run --source=fprettify run_tests.py -s unittests -s builtin -s regular + + - name: Run long integration tests + if: ${{ github.event_name == 'schedule' }} run: | - coverage run --source=fprettify setup.py test + coverage run --source=fprettify run_tests.py -s cron - name: Coverage upload run: coveralls --service=github diff --git a/fortran_tests/testsuites.config b/fortran_tests/testsuites.config index b7ed3d7..c56c168 100644 --- a/fortran_tests/testsuites.config +++ b/fortran_tests/testsuites.config @@ -15,7 +15,7 @@ suite: regular obtain: git.Repo.clone_from("https://github.com/wannier-developers/wannier90", "wannier90", branch="v3.1.0") path: wannier90/src options: --indent 2 -suite: regular +suite: cron [cp2k] obtain: git.Repo.clone_from("https://github.com/cp2k/cp2k.git", "cp2k", branch="v2024.1") @@ -26,4 +26,4 @@ suite: cron [flap] obtain: git.Repo.clone_from("https://github.com/szaghi/FLAP", "FLAP", branch="v1.2.5") path: FLAP -suite: regular +suite: cron From c7ddfff2f671f2c2c1fa92d04795e5a0b53d00de Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Sun, 9 Nov 2025 22:32:44 +0100 Subject: [PATCH 25/27] fix issues with gh actions test workflow --- .github/workflows/test.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e26dcb5..6645fda 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: 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 @@ -24,18 +24,22 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} + cache: pip - name: Install project & dependencies run: pip install .[dev] - name: Run unit and short integration tests run: | - coverage run --source=fprettify run_tests.py -s unittests -s builtin -s regular + coverage run -p --source=fprettify run_tests.py -s unittests -s builtin -s regular - name: Run long integration tests if: ${{ github.event_name == 'schedule' }} run: | - coverage run --source=fprettify run_tests.py -s cron + coverage run -p --source=fprettify run_tests.py -s cron + + - name: Combine coverage files + run: coverage combine - name: Coverage upload run: coveralls --service=github From a26d99406e4032a2b78c620db0bf3d8c1aa13ee8 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 11 Nov 2025 20:03:20 +0100 Subject: [PATCH 26/27] simplify cli as suggested by @max-models --- .github/workflows/test.yml | 2 +- run_tests.py | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6645fda..2e37d17 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: - name: Run unit and short integration tests run: | - coverage run -p --source=fprettify run_tests.py -s unittests -s builtin -s regular + coverage run -p --source=fprettify run_tests.py -s unittests builtin regular - name: Run long integration tests if: ${{ github.event_name == 'schedule' }} diff --git a/run_tests.py b/run_tests.py index 68ccd62..cf3d3b1 100755 --- a/run_tests.py +++ b/run_tests.py @@ -34,15 +34,16 @@ 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).") - suite_default = ["unittests", "builtin"] - parser.add_argument("-s", "--suite", type=str, default=suite_default, help="select suite.", choices=["unittests", "builtin", "regular", "cron", "custom"], action='append') + parser.add_argument( + "-s", "--suite", + nargs="+", + choices=["unittests", "builtin", "regular", "cron", "custom"], + default=["unittests", "builtin"], + help="select suite." + ) args = parser.parse_args() - # remove defaults if user has specified anything - if args.suite[:2] == suite_default and len(args.suite) > 2: - args.suite = args.suite[2:] - test_cases = [] if args.name: From 6120962f8daaefc26b8572e76e2da15804bb1566 Mon Sep 17 00:00:00 2001 From: Patrick Seewald Date: Tue, 11 Nov 2025 20:04:49 +0100 Subject: [PATCH 27/27] =?UTF-8?q?=C2=A0fix=20typos=20(as=20suggested=20by?= =?UTF-8?q?=20@dbroemmel)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a33cc53..a4f130f 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,7 @@ 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 examinated. Only if the test failures are due to + 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. @@ -176,7 +176,7 @@ Can the new feature be reasonably covered by small code snippets (< 10 lines)? in = "Some Fortran code" out = "Same Fortran code after fprettify formatting" - # seleced fprettify command line arguments, as documented in "fprettify.py -h": + # 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":