Coverage Report

Created: 2026-03-31 07:17

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/mupdf/thirdparty/extract/src/rect.c
Line
Count
Source
1
#include "extract/extract.h"
2
#include "document.h"
3
4
static inline double
5
mind(double a, double b)
6
0
{
7
0
  return (a < b) ? a : b;
8
0
}
9
10
static inline double
11
maxd(double a, double b)
12
0
{
13
0
  return (a > b) ? a : b;
14
0
}
15
16
rect_t extract_rect_intersect(rect_t a, rect_t b)
17
0
{
18
0
  rect_t r;
19
20
0
  r.min.x = maxd(a.min.x, b.min.x);
21
0
  r.min.y = maxd(a.min.y, b.min.y);
22
0
  r.max.x = mind(a.max.x, b.max.x);
23
0
  r.max.y = mind(a.max.y, b.max.y);
24
25
0
  return r;
26
0
}
27
28
rect_t extract_rect_union(rect_t a, rect_t b)
29
0
{
30
0
  rect_t r;
31
32
0
  r.min.x = mind(a.min.x, b.min.x);
33
0
  r.min.y = mind(a.min.y, b.min.y);
34
0
  r.max.x = maxd(a.max.x, b.max.x);
35
0
  r.max.y = maxd(a.max.y, b.max.y);
36
37
0
  return r;
38
0
}
39
40
rect_t extract_rect_union_point(rect_t a, point_t b)
41
0
{
42
0
  rect_t r;
43
44
0
  r.min.x = mind(a.min.x, b.x);
45
0
  r.min.y = mind(a.min.y, b.y);
46
0
  r.max.x = maxd(a.max.x, b.x);
47
0
  r.max.y = maxd(a.max.y, b.y);
48
49
0
  return r;
50
0
}
51
52
int extract_rect_contains_rect(rect_t a, rect_t b)
53
0
{
54
0
  if (a.min.x > b.min.x)
55
0
    return 0;
56
0
  if (a.min.y > b.min.y)
57
0
    return 0;
58
0
  if (a.max.x < b.max.x)
59
0
    return 0;
60
0
  if (a.max.y < b.max.y)
61
0
    return 0;
62
63
0
  return 1;
64
0
}
65
66
int extract_rect_valid(rect_t a)
67
0
{
68
0
  return (a.min.x <= a.max.x && a.min.y <= a.max.y);
69
0
}