Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | - |
17 | | - |
18 | | - |
19 | | - |
20 | #include <config.h> | - |
21 | #include "buffer-lcm.h" | - |
22 | | - |
23 | | - |
24 | | - |
25 | | - |
26 | | - |
27 | size_t | - |
28 | buffer_lcm (size_t a, size_t b, size_t lcm_max) | - |
29 | { | - |
30 | size_t size; | - |
31 | | - |
32 | | - |
33 | if (!a)TRUE | never evaluated | FALSE | evaluated 4371 times by 3 tests |
| 0-4371 |
34 | size = b ? b : 8 * 1024; never executed: size = b ? b : 8 * 1024; TRUE | never evaluated | FALSE | never evaluated |
| 0 |
35 | else | - |
36 | { | - |
37 | if (b)TRUE | evaluated 4371 times by 3 tests | FALSE | never evaluated |
| 0-4371 |
38 | { | - |
39 | | - |
40 | | - |
41 | | - |
42 | size_t lcm, m, n, q, r; | - |
43 | | - |
44 | | - |
45 | for (m = a, n = b; (r = m % n) != 0; m = n, n = r)TRUE | never evaluated | FALSE | evaluated 4371 times by 3 tests |
| 0-4371 |
46 | continue; never executed: continue; | 0 |
47 | | - |
48 | | - |
49 | q = a / n; | - |
50 | lcm = q * b; | - |
51 | if (lcm <= lcm_max && lcm / b == q)TRUE | evaluated 4371 times by 3 tests | FALSE | never evaluated |
TRUE | evaluated 4371 times by 3 tests | FALSE | never evaluated |
| 0-4371 |
52 | return lcm;executed 4371 times by 3 tests: return lcm; | 4371 |
53 | } never executed: end of block | 0 |
54 | | - |
55 | size = a; | - |
56 | } never executed: end of block | 0 |
57 | | - |
58 | return size <= lcm_max ? size : lcm_max; never executed: return size <= lcm_max ? size : lcm_max; | 0 |
59 | } | - |
| | |