Euler Fortran Implementation

Fri

All problems are solved in Fortran90, and should be compliant with later standards.

Organization

All Fortran files share a common prefix with their problem number. All shared functions are moved to header files in the include subfolder

Makefile

There are three main recipes in this Makefile

test

This recipe runs tests in a single thread and performs benchmarks on each.

test_*

This recipe currently redirects to test, but in future versions may spawn a number of threads equal to the suffix given, with auto equalling the number of CPUs on the system.

clean

This removes any build files, as well as the test runner executable

Tests

Generic Problems

For each problem it will check the answer against a known dictionary. If the problem is not in the "known slow" category (meaning that I generate the correct answer with a poor solution), it will run it as many times as the benchmark plugin wants. Otherwise it is run exactly once.

A test fails if it gets the wrong answer or if it takes more than 1 minute.

Dependencies

I try to keep the dependencies of this project as small as possible, except for test plugins. At the moment there are no dependencies for this section.

Problems Solved