TerrainGen coverage


terraingen/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
39 / 39
100.0%
Branches:
14 / 14
100.0%
Functions:
4 / 4
100.0%

raster/geotiff/tiff_format.cpp
Line Branch Exec Source
1 #include "terraingen/raster/geotiff/tiff_format.h"
2
3 namespace terraingen::detail {
4
5 7135 std::size_t FieldSize(std::uint16_t type) {
6
5/5
✓ Branch 0 taken 173 times.
✓ Branch 1 taken 4189 times.
✓ Branch 2 taken 2142 times.
✓ Branch 3 taken 630 times.
✓ Branch 4 taken 1 time.
7135 switch (type) {
7 173 case kByte:
8 case kAscii:
9 case kSByte:
10 case kUndefined:
11 173 return 1;
12 4189 case kShort:
13 case kSShort:
14 4189 return 2;
15 2142 case kLong:
16 case kSLong:
17 case kFloat:
18 2142 return 4;
19 630 case kRational:
20 case kSRational:
21 case kDouble:
22 case kLong8:
23 case kSLong8:
24 case kIfd8:
25 630 return 8;
26 1 default:
27 1 return 0;
28 }
29 }
30
31 250 std::optional<TiffCompression> CompressionFromCode(std::uint64_t code) {
32
5/5
✓ Branch 0 taken 18 times.
✓ Branch 1 taken 204 times.
✓ Branch 2 taken 4 times.
✓ Branch 3 taken 16 times.
✓ Branch 4 taken 8 times.
250 switch (code) {
33 18 case kCompressionNone:
34 18 return TiffCompression::None;
35 204 case kCompressionLzw:
36 204 return TiffCompression::Lzw;
37 4 case kCompressionPackBits:
38 4 return TiffCompression::PackBits;
39 16 case kCompressionDeflate:
40 case kCompressionAdobeDeflate:
41 16 return TiffCompression::Deflate;
42 8 default:
43 8 return std::nullopt;
44 }
45 }
46
47 311 std::uint16_t CompressionCodeOf(TiffCompression compression) {
48
4/4
✓ Branch 0 taken 301 times.
✓ Branch 1 taken 1 time.
✓ Branch 2 taken 6 times.
✓ Branch 3 taken 3 times.
311 switch (compression) {
49 301 case TiffCompression::Lzw:
50 301 return kCompressionLzw;
51 1 case TiffCompression::PackBits:
52 1 return kCompressionPackBits;
53 6 case TiffCompression::Deflate:
54 6 return kCompressionDeflate;
55 3 default:
56 3 return kCompressionNone;
57 }
58 }
59
60 8 GeoTransform ShiftHalfPixel(const GeoTransform& transform, double sign) {
61 8 GeoTransform shifted = transform;
62 8 shifted.originX += sign * 0.5 * (transform.pixelWidth + transform.rowRotation);
63 8 shifted.originY += sign * 0.5 * (transform.colRotation + transform.pixelHeight);
64 8 return shifted;
65 }
66
67 } // namespace terraingen::detail
68