| Index: third_party/lcov/example/example.c
|
| ===================================================================
|
| --- third_party/lcov/example/example.c (revision 0)
|
| +++ third_party/lcov/example/example.c (revision 0)
|
| @@ -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;
|
| +}
|
|
|