diff options
Diffstat (limited to 'third_party/lcov/example/example.c')
-rw-r--r-- | third_party/lcov/example/example.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/third_party/lcov/example/example.c b/third_party/lcov/example/example.c new file mode 100644 index 0000000..f9049aa --- /dev/null +++ b/third_party/lcov/example/example.c @@ -0,0 +1,60 @@ +/* + * example.c + * + * Calculate the sum of a given range of integer numbers. The range is + * specified by providing two integer numbers as command line argument. + * If no arguments are specified, assume the predefined range [0..9]. + * Abort with an error message if the resulting number is too big to be + * stored as int variable. + * + * This program example is similar to the one found in the GCOV documentation. + * It is used to demonstrate the HTML output generated by LCOV. + * + * The program is split into 3 modules to better demonstrate the 'directory + * overview' function. There are also a lot of bloated comments inserted to + * artificially increase the source code size so that the 'source code + * overview' function makes at least a minimum of sense. + * + */ + +#include <stdio.h> +#include <stdlib.h> +#include "iterate.h" +#include "gauss.h" + +static int start = 0; +static int end = 9; + + +int main (int argc, char* argv[]) +{ + int total1, total2; + + /* Accept a pair of numbers as command line arguments. */ + + if (argc == 3) + { + start = atoi(argv[1]); + end = atoi(argv[2]); + } + + + /* Use both methods to calculate the result. */ + + total1 = iterate_get_sum (start, end); + total2 = gauss_get_sum (start, end); + + + /* Make sure both results are the same. */ + + if (total1 != total2) + { + printf ("Failure (%d != %d)!\n", total1, total2); + } + else + { + printf ("Success, sum[%d..%d] = %d\n", start, end, total1); + } + + return 0; +} |