Line | Branch | Exec | Source |
---|---|---|---|
1 | // This file is part of INSTINCT, the INS Toolkit for Integrated | ||
2 | // Navigation Concepts and Training by the Institute of Navigation of | ||
3 | // the University of Stuttgart, Germany. | ||
4 | // | ||
5 | // This Source Code Form is subject to the terms of the Mozilla Public | ||
6 | // License, v. 2.0. If a copy of the MPL was not distributed with this | ||
7 | // file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
8 | |||
9 | #include "Code.hpp" | ||
10 | |||
11 | #include <array> | ||
12 | #include <fmt/core.h> | ||
13 | #include <imgui.h> | ||
14 | |||
15 | #include "util/Logger.hpp" | ||
16 | |||
17 | namespace NAV | ||
18 | { | ||
19 | |||
20 | ✗ | Code::Code(SatelliteSystem_ sys) | |
21 | { | ||
22 | ✗ | if (sys & GPS) { *this |= Code(G01 | G02 | G05); } | |
23 | ✗ | if (sys & GAL) { *this |= Code(E01 | E05 | E06 | E07 | E08); } | |
24 | ✗ | if (sys & GLO) { *this |= Code(R01 | R02 | R03 | R04 | R06); } | |
25 | ✗ | if (sys & BDS) { *this |= Code(B01 | B02 | B05 | B06 | B07 | B08); } | |
26 | ✗ | if (sys & QZSS) { *this |= Code(J01 | J02 | J05 | J06); } | |
27 | ✗ | if (sys & IRNSS) { *this |= Code(I05 | I09); } | |
28 | ✗ | if (sys & SBAS) { *this |= Code(S01 | S05); } | |
29 | ✗ | } | |
30 | |||
31 | ✗ | Code::Code(Frequency_ freq) | |
32 | { | ||
33 | ✗ | if (freq & G01) { *this |= G1C | G1S | G1L | G1X | G1P | G1W | G1Y | G1M | G1N; } | |
34 | ✗ | if (freq & G02) { *this |= G2C | G2D | G2S | G2L | G2X | G2P | G2W | G2Y | G2M | G2N; } | |
35 | ✗ | if (freq & G05) { *this |= G5I | G5Q | G5X; } | |
36 | ✗ | if (freq & E01) { *this |= E1A | E1B | E1C | E1X | E1Z; } | |
37 | ✗ | if (freq & E05) { *this |= E5I | E5Q | E5X; } | |
38 | ✗ | if (freq & E06) { *this |= E6A | E6B | E6C | E6X | E6Z; } | |
39 | ✗ | if (freq & E07) { *this |= E7I | E7Q | E7X; } | |
40 | ✗ | if (freq & E08) { *this |= E8I | E8Q | E8X; } | |
41 | ✗ | if (freq & R01) { *this |= R1C | R1P; } | |
42 | ✗ | if (freq & R02) { *this |= R2C | R2P; } | |
43 | ✗ | if (freq & R03) { *this |= R3I | R3Q | R3X; } | |
44 | ✗ | if (freq & R04) { *this |= R4A | R4B | R4X; } | |
45 | ✗ | if (freq & R06) { *this |= R6A | R6B | R6X; } | |
46 | ✗ | if (freq & B01) { *this |= B1D | B1P | B1X; } | |
47 | ✗ | if (freq & B02) { *this |= B2I | B2Q | B2X; } | |
48 | ✗ | if (freq & B05) { *this |= B5D | B5P | B5X; } | |
49 | ✗ | if (freq & B06) { *this |= B6I | B6Q | B6X | B6A; } | |
50 | ✗ | if (freq & B07) { *this |= B7I | B7Q | B7X | B7D | B7P | B7Z; } | |
51 | ✗ | if (freq & B08) { *this |= B8D | B8P | B8X; } | |
52 | ✗ | if (freq & J01) { *this |= J1C | J1S | J1L | J1X | J1Z; } | |
53 | ✗ | if (freq & J02) { *this |= J2S | J2L | J2X; } | |
54 | ✗ | if (freq & J05) { *this |= J5I | J5Q | J5X | J5D | J5P | J5Z; } | |
55 | ✗ | if (freq & J06) { *this |= J6S | J6L | J6X | J6E | J6Z; } | |
56 | ✗ | if (freq & I05) { *this |= I5A | I5B | I5C | I5X; } | |
57 | ✗ | if (freq & I09) { *this |= I9A | I9B | I9C | I9X; } | |
58 | ✗ | if (freq & S01) { value |= S1C; } | |
59 | ✗ | if (freq & S05) { *this |= S5I | S5Q | S5X; } | |
60 | ✗ | } | |
61 | |||
62 | 549400 | Code::operator std::string() const | |
63 | { | ||
64 |
1/2✓ Branch 1 taken 549439 times.
✗ Branch 2 not taken.
|
549400 | const std::string filler = " | "; |
65 | 549439 | std::string str; | |
66 | |||
67 |
8/18✓ Branch 1 taken 549422 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 105709 times.
✓ Branch 5 taken 443726 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 105710 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 105711 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 105711 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 105712 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 105709 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
760858 | if (*this & G1C) { str += (!str.empty() ? filler : "") + "G1C"; } |
68 |
2/18✓ Branch 1 taken 549424 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549433 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549435 | if (*this & G1S) { str += (!str.empty() ? filler : "") + "G1S"; } |
69 |
8/18✓ Branch 1 taken 549439 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1284 times.
✓ Branch 5 taken 548149 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1283 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1285 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1286 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1285 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1286 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552002 | if (*this & G1L) { str += (!str.empty() ? filler : "") + "G1L"; } |
70 |
8/18✓ Branch 1 taken 549437 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2211 times.
✓ Branch 5 taken 547228 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2211 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2211 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2211 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2211 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2211 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
553857 | if (*this & G1X) { str += (!str.empty() ? filler : "") + "G1X"; } |
71 |
8/18✓ Branch 1 taken 549434 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4480 times.
✓ Branch 5 taken 544956 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 4480 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 4480 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 4480 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 4480 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 4480 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
558399 | if (*this & G1P) { str += (!str.empty() ? filler : "") + "G1P"; } |
72 |
8/18✓ Branch 1 taken 549435 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2698 times.
✓ Branch 5 taken 546747 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2696 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2699 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2697 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2698 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2699 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554831 | if (*this & G1W) { str += (!str.empty() ? filler : "") + "G1W"; } |
73 |
2/18✓ Branch 1 taken 549439 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549443 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & G1Y) { str += (!str.empty() ? filler : "") + "G1Y"; } |
74 |
2/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549444 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549443 | if (*this & G1M) { str += (!str.empty() ? filler : "") + "G1M"; } |
75 |
2/18✓ Branch 1 taken 549438 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549446 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549444 | if (*this & G1N) { str += (!str.empty() ? filler : "") + "G1N"; } |
76 |
8/18✓ Branch 1 taken 549438 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2190 times.
✓ Branch 5 taken 547255 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2190 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2190 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2190 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2190 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2190 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
553826 | if (*this & G2C) { str += (!str.empty() ? filler : "") + "G2C"; } |
77 |
2/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549445 | if (*this & G2D) { str += (!str.empty() ? filler : "") + "G2D"; } |
78 |
2/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549450 | if (*this & G2S) { str += (!str.empty() ? filler : "") + "G2S"; } |
79 |
8/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2715 times.
✓ Branch 5 taken 546731 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2716 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2714 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2715 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2716 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2716 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554882 | if (*this & G2L) { str += (!str.empty() ? filler : "") + "G2L"; } |
80 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 40938 times.
✓ Branch 5 taken 508505 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 40939 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 40939 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 40939 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 40939 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 40939 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
631325 | if (*this & G2X) { str += (!str.empty() ? filler : "") + "G2X"; } |
81 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4480 times.
✓ Branch 5 taken 544967 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 4480 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 4480 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 4480 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 4480 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 4480 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
558404 | if (*this & G2P) { str += (!str.empty() ? filler : "") + "G2P"; } |
82 |
8/18✓ Branch 1 taken 549438 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2743 times.
✓ Branch 5 taken 546700 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2743 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2743 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2743 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2742 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2742 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554932 | if (*this & G2W) { str += (!str.empty() ? filler : "") + "G2W"; } |
83 |
2/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549442 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549442 | if (*this & G2Y) { str += (!str.empty() ? filler : "") + "G2Y"; } |
84 |
2/18✓ Branch 1 taken 549439 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549445 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549442 | if (*this & G2M) { str += (!str.empty() ? filler : "") + "G2M"; } |
85 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549444 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549445 | if (*this & G2N) { str += (!str.empty() ? filler : "") + "G2N"; } |
86 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2314 times.
✓ Branch 5 taken 547139 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2314 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2314 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2314 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2314 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2314 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554072 | if (*this & G5I) { str += (!str.empty() ? filler : "") + "G5I"; } |
87 |
8/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1423 times.
✓ Branch 5 taken 548026 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1423 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1424 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1423 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1424 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1424 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552300 | if (*this & G5Q) { str += (!str.empty() ? filler : "") + "G5Q"; } |
88 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 38352 times.
✓ Branch 5 taken 511091 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 38352 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 38352 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 38352 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 38352 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 38352 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
626154 | if (*this & G5X) { str += (!str.empty() ? filler : "") + "G5X"; } |
89 | |||
90 |
8/18✓ Branch 1 taken 549453 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549428 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549483 | if (*this & E1A) { str += (!str.empty() ? filler : "") + "E1A"; } |
91 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549430 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549488 | if (*this & E1B) { str += (!str.empty() ? filler : "") + "E1B"; } |
92 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3800 times.
✓ Branch 5 taken 545648 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 3799 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 3800 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3799 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 3799 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 3798 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
557047 | if (*this & E1C) { str += (!str.empty() ? filler : "") + "E1C"; } |
93 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 85062 times.
✓ Branch 5 taken 464384 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 85062 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 85062 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 85062 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 85062 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 85062 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
719570 | if (*this & E1X) { str += (!str.empty() ? filler : "") + "E1X"; } |
94 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549447 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & E1Z) { str += (!str.empty() ? filler : "") + "E1Z"; } |
95 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549432 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549487 | if (*this & E5I) { str += (!str.empty() ? filler : "") + "E5I"; } |
96 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2622 times.
✓ Branch 5 taken 546828 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2622 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2621 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2621 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2620 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2619 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554693 | if (*this & E5Q) { str += (!str.empty() ? filler : "") + "E5Q"; } |
97 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 35969 times.
✓ Branch 5 taken 513477 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 35969 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 35969 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 35969 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 35969 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 35969 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
621385 | if (*this & E5X) { str += (!str.empty() ? filler : "") + "E5X"; } |
98 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549428 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549486 | if (*this & E6A) { str += (!str.empty() ? filler : "") + "E6A"; } |
99 |
8/18✓ Branch 1 taken 549452 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549435 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549488 | if (*this & E6B) { str += (!str.empty() ? filler : "") + "E6B"; } |
100 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 36 times.
✓ Branch 5 taken 549411 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 36 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 36 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549527 | if (*this & E6C) { str += (!str.empty() ? filler : "") + "E6C"; } |
101 |
8/18✓ Branch 1 taken 549443 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✓ Branch 5 taken 549429 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 21 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 21 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 21 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 21 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 21 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549489 | if (*this & E6X) { str += (!str.empty() ? filler : "") + "E6X"; } |
102 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549451 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549450 | if (*this & E6Z) { str += (!str.empty() ? filler : "") + "E6Z"; } |
103 |
8/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549428 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549491 | if (*this & E7I) { str += (!str.empty() ? filler : "") + "E7I"; } |
104 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2621 times.
✓ Branch 5 taken 546829 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2621 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2622 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2621 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2621 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2621 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554690 | if (*this & E7Q) { str += (!str.empty() ? filler : "") + "E7Q"; } |
105 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 40999 times.
✓ Branch 5 taken 508452 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 40999 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 40999 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 40999 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 40999 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 40999 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
631448 | if (*this & E7X) { str += (!str.empty() ? filler : "") + "E7X"; } |
106 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549427 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549491 | if (*this & E8I) { str += (!str.empty() ? filler : "") + "E8I"; } |
107 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2622 times.
✓ Branch 5 taken 546832 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2622 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 2622 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2622 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2622 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 2622 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
554691 | if (*this & E8Q) { str += (!str.empty() ? filler : "") + "E8Q"; } |
108 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✓ Branch 5 taken 549428 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 21 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 21 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 21 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 21 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 21 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549496 | if (*this & E8X) { str += (!str.empty() ? filler : "") + "E8X"; } |
109 | |||
110 |
8/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 51280 times.
✓ Branch 5 taken 498168 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 51280 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 51280 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 51281 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 51281 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 51281 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
652010 | if (*this & R1C) { str += (!str.empty() ? filler : "") + "R1C"; } |
111 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1040 times.
✓ Branch 5 taken 548408 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1040 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1040 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1040 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1040 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1040 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
551529 | if (*this & R1P) { str += (!str.empty() ? filler : "") + "R1P"; } |
112 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 46045 times.
✓ Branch 5 taken 503405 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 46045 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 46045 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 46044 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 46044 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 46045 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
641538 | if (*this & R2C) { str += (!str.empty() ? filler : "") + "R2C"; } |
113 |
8/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1034 times.
✓ Branch 5 taken 548415 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1034 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1034 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1034 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1034 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1034 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
551518 | if (*this & R2P) { str += (!str.empty() ? filler : "") + "R2P"; } |
114 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549430 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549489 | if (*this & R3I) { str += (!str.empty() ? filler : "") + "R3I"; } |
115 |
8/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 36 times.
✓ Branch 5 taken 549416 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 36 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 36 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 36 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 36 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 36 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549522 | if (*this & R3Q) { str += (!str.empty() ? filler : "") + "R3Q"; } |
116 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 41 times.
✓ Branch 5 taken 549411 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 41 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 41 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 41 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 41 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 41 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549534 | if (*this & R3X) { str += (!str.empty() ? filler : "") + "R3X"; } |
117 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549431 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549492 | if (*this & R4A) { str += (!str.empty() ? filler : "") + "R4A"; } |
118 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549429 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549491 | if (*this & R4B) { str += (!str.empty() ? filler : "") + "R4B"; } |
119 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549431 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549489 | if (*this & R4X) { str += (!str.empty() ? filler : "") + "R4X"; } |
120 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549451 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549451 | if (*this & R6A) { str += (!str.empty() ? filler : "") + "R6A"; } |
121 |
8/18✓ Branch 1 taken 549452 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549432 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549491 | if (*this & R6B) { str += (!str.empty() ? filler : "") + "R6B"; } |
122 |
2/18✓ Branch 1 taken 549452 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549451 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549452 | if (*this & R6X) { str += (!str.empty() ? filler : "") + "R6X"; } |
123 | |||
124 |
2/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549447 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549451 | if (*this & B1D) { str += (!str.empty() ? filler : "") + "B1D"; } |
125 |
2/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549447 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549447 | if (*this & B1P) { str += (!str.empty() ? filler : "") + "B1P"; } |
126 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4271 times.
✓ Branch 5 taken 545178 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 4271 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 4271 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 4271 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 4271 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 4271 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
557989 | if (*this & B1X) { str += (!str.empty() ? filler : "") + "B1X"; } |
127 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 34642 times.
✓ Branch 5 taken 514804 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 34642 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 34643 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 34642 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 34643 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 34643 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
618734 | if (*this & B2I) { str += (!str.empty() ? filler : "") + "B2I"; } |
128 |
2/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549452 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549447 | if (*this & B2Q) { str += (!str.empty() ? filler : "") + "B2Q"; } |
129 |
8/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3208 times.
✓ Branch 5 taken 546241 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 3208 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 3208 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3208 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 3208 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 3208 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
555868 | if (*this & B2X) { str += (!str.empty() ? filler : "") + "B2X"; } |
130 |
2/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549449 | if (*this & B5D) { str += (!str.empty() ? filler : "") + "B5D"; } |
131 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549451 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549450 | if (*this & B5P) { str += (!str.empty() ? filler : "") + "B5P"; } |
132 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4271 times.
✓ Branch 5 taken 545177 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 4271 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 4271 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 4271 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 4271 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 4271 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
557993 | if (*this & B5X) { str += (!str.empty() ? filler : "") + "B5X"; } |
133 |
8/18✓ Branch 1 taken 549452 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1547 times.
✓ Branch 5 taken 547902 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1547 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1547 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1547 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1547 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1547 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552542 | if (*this & B6I) { str += (!str.empty() ? filler : "") + "B6I"; } |
134 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549446 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549449 | if (*this & B6Q) { str += (!str.empty() ? filler : "") + "B6Q"; } |
135 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549446 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & B6X) { str += (!str.empty() ? filler : "") + "B6X"; } |
136 |
2/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549453 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & B6A) { str += (!str.empty() ? filler : "") + "B6A"; } |
137 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1633 times.
✓ Branch 5 taken 547818 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1633 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1633 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1633 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1633 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1633 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552719 | if (*this & B7I) { str += (!str.empty() ? filler : "") + "B7I"; } |
138 |
2/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549452 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549451 | if (*this & B7Q) { str += (!str.empty() ? filler : "") + "B7Q"; } |
139 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3208 times.
✓ Branch 5 taken 546236 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 3208 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 3208 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3208 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 3208 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 3208 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
555868 | if (*this & B7X) { str += (!str.empty() ? filler : "") + "B7X"; } |
140 |
8/18✓ Branch 1 taken 549444 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1498 times.
✓ Branch 5 taken 547950 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1498 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1498 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1498 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1498 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1498 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552440 | if (*this & B7D) { str += (!str.empty() ? filler : "") + "B7D"; } |
141 |
2/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549443 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549448 | if (*this & B7P) { str += (!str.empty() ? filler : "") + "B7P"; } |
142 |
2/18✓ Branch 1 taken 549442 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549449 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549443 | if (*this & B7Z) { str += (!str.empty() ? filler : "") + "B7Z"; } |
143 |
2/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549446 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549449 | if (*this & B8D) { str += (!str.empty() ? filler : "") + "B8D"; } |
144 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549452 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & B8P) { str += (!str.empty() ? filler : "") + "B8P"; } |
145 |
2/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549452 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549452 | if (*this & B8X) { str += (!str.empty() ? filler : "") + "B8X"; } |
146 | |||
147 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1230 times.
✓ Branch 5 taken 548219 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1230 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1230 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1230 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1230 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1230 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
551912 | if (*this & J1C) { str += (!str.empty() ? filler : "") + "J1C"; } |
148 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549453 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549449 | if (*this & J1S) { str += (!str.empty() ? filler : "") + "J1S"; } |
149 |
2/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549453 | if (*this & J1L) { str += (!str.empty() ? filler : "") + "J1L"; } |
150 |
8/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1214 times.
✓ Branch 5 taken 548237 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1214 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1214 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1214 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1214 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1214 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
551878 | if (*this & J1X) { str += (!str.empty() ? filler : "") + "J1X"; } |
151 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1214 times.
✓ Branch 5 taken 548235 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1214 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1214 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1214 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1214 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1214 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
551879 | if (*this & J1Z) { str += (!str.empty() ? filler : "") + "J1Z"; } |
152 |
2/18✓ Branch 1 taken 549453 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549453 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549449 | if (*this & J2S) { str += (!str.empty() ? filler : "") + "J2S"; } |
153 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 549435 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 16 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 16 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 16 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549485 | if (*this & J2L) { str += (!str.empty() ? filler : "") + "J2L"; } |
154 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 616 times.
✓ Branch 5 taken 548829 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 616 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 616 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 616 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 616 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 616 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
550683 | if (*this & J2X) { str += (!str.empty() ? filler : "") + "J2X"; } |
155 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 616 times.
✓ Branch 5 taken 548831 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 616 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 616 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 616 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 616 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 616 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
550677 | if (*this & J5I) { str += (!str.empty() ? filler : "") + "J5I"; } |
156 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 549433 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 16 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 16 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 16 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549479 | if (*this & J5Q) { str += (!str.empty() ? filler : "") + "J5Q"; } |
157 |
8/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 598 times.
✓ Branch 5 taken 548855 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 598 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 598 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 598 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 598 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 598 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
550645 | if (*this & J5X) { str += (!str.empty() ? filler : "") + "J5X"; } |
158 |
2/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549445 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549453 | if (*this & J5D) { str += (!str.empty() ? filler : "") + "J5D"; } |
159 |
2/18✓ Branch 1 taken 549441 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549448 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549445 | if (*this & J5P) { str += (!str.empty() ? filler : "") + "J5P"; } |
160 |
8/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 597 times.
✓ Branch 5 taken 548850 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 598 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 597 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 598 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 598 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 598 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
550644 | if (*this & J5Z) { str += (!str.empty() ? filler : "") + "J5Z"; } |
161 |
2/18✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549447 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549448 | if (*this & J6S) { str += (!str.empty() ? filler : "") + "J6S"; } |
162 |
2/18✓ Branch 1 taken 549452 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549451 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549447 | if (*this & J6L) { str += (!str.empty() ? filler : "") + "J6L"; } |
163 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549446 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549451 | if (*this & J6X) { str += (!str.empty() ? filler : "") + "J6X"; } |
164 |
2/18✓ Branch 1 taken 549450 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549453 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549446 | if (*this & J6E) { str += (!str.empty() ? filler : "") + "J6E"; } |
165 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✓ Branch 5 taken 549428 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 20 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 20 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549493 | if (*this & J6Z) { str += (!str.empty() ? filler : "") + "J6Z"; } |
166 | |||
167 |
8/18✓ Branch 1 taken 549449 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 549436 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 16 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 16 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 16 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549480 | if (*this & I5A) { str += (!str.empty() ? filler : "") + "I5A"; } |
168 |
2/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549445 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549452 | if (*this & I5B) { str += (!str.empty() ? filler : "") + "I5B"; } |
169 |
2/18✓ Branch 1 taken 549443 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549449 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549445 | if (*this & I5C) { str += (!str.empty() ? filler : "") + "I5C"; } |
170 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 616 times.
✓ Branch 5 taken 548836 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 616 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 616 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 616 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 616 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 616 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
550681 | if (*this & I5X) { str += (!str.empty() ? filler : "") + "I5X"; } |
171 |
2/18✓ Branch 1 taken 549446 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549452 | if (*this & I9A) { str += (!str.empty() ? filler : "") + "I9A"; } |
172 |
2/18✓ Branch 1 taken 549443 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549448 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549450 | if (*this & I9B) { str += (!str.empty() ? filler : "") + "I9B"; } |
173 |
2/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549447 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549448 | if (*this & I9C) { str += (!str.empty() ? filler : "") + "I9C"; } |
174 |
2/18✓ Branch 1 taken 549445 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549449 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549447 | if (*this & I9X) { str += (!str.empty() ? filler : "") + "I9X"; } |
175 | |||
176 |
8/18✓ Branch 1 taken 549447 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1708 times.
✓ Branch 5 taken 547742 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1708 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1708 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1708 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1708 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1708 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552865 | if (*this & S1C) { str += (!str.empty() ? filler : "") + "S1C"; } |
177 |
8/18✓ Branch 1 taken 549451 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 549436 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 16 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 16 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 16 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 16 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 16 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549482 | if (*this & S5I) { str += (!str.empty() ? filler : "") + "S5I"; } |
178 |
2/18✓ Branch 1 taken 549443 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 549450 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
549452 | if (*this & S5Q) { str += (!str.empty() ? filler : "") + "S5Q"; } |
179 |
8/18✓ Branch 1 taken 549442 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1645 times.
✓ Branch 5 taken 547806 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1645 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 1645 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1645 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1645 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1645 times.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
|
552740 | if (*this & S5X) { str += (!str.empty() ? filler : "") + "S5X"; } |
180 | |||
181 |
1/2✓ Branch 1 taken 549448 times.
✗ Branch 2 not taken.
|
549451 | if (!str.empty()) |
182 | { | ||
183 | 549448 | return str; | |
184 | } | ||
185 | ✗ | return "None"; | |
186 | 549437 | } | |
187 | |||
188 | 2781 | Code Code::fromFreqAttr(Frequency freq, char attribute) | |
189 | { | ||
190 |
25/29✓ Branch 1 taken 318 times.
✓ Branch 2 taken 291 times.
✓ Branch 3 taken 88 times.
✓ Branch 4 taken 209 times.
✓ Branch 5 taken 104 times.
✓ Branch 6 taken 80 times.
✓ Branch 7 taken 171 times.
✓ Branch 8 taken 76 times.
✓ Branch 9 taken 189 times.
✓ Branch 10 taken 166 times.
✓ Branch 11 taken 80 times.
✓ Branch 12 taken 60 times.
✓ Branch 13 taken 20 times.
✓ Branch 14 taken 48 times.
✓ Branch 15 taken 139 times.
✓ Branch 16 taken 48 times.
✓ Branch 17 taken 44 times.
✓ Branch 18 taken 152 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 212 times.
✓ Branch 21 taken 32 times.
✓ Branch 22 taken 119 times.
✓ Branch 23 taken 20 times.
✓ Branch 24 taken 32 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 60 times.
✓ Branch 27 taken 32 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
|
2781 | switch (Frequency_(freq)) |
191 | { | ||
192 | 318 | case G01: // GPS L1 (1575.42 MHz). | |
193 |
3/4✓ Branch 0 taken 173 times.
✓ Branch 1 taken 145 times.
✓ Branch 3 taken 174 times.
✗ Branch 4 not taken.
|
318 | if (attribute == 'C') { return G1C; } |
194 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 145 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
145 | if (attribute == 'S') { return G1S; } |
195 |
3/4✓ Branch 0 taken 15 times.
✓ Branch 1 taken 130 times.
✓ Branch 3 taken 15 times.
✗ Branch 4 not taken.
|
145 | if (attribute == 'L') { return G1L; } |
196 |
3/4✓ Branch 0 taken 60 times.
✓ Branch 1 taken 70 times.
✓ Branch 3 taken 60 times.
✗ Branch 4 not taken.
|
130 | if (attribute == 'X') { return G1X; } |
197 |
3/4✓ Branch 0 taken 52 times.
✓ Branch 1 taken 18 times.
✓ Branch 3 taken 52 times.
✗ Branch 4 not taken.
|
70 | if (attribute == 'P') { return G1P; } |
198 |
3/4✓ Branch 0 taken 16 times.
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
|
18 | if (attribute == 'W') { return G1W; } |
199 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
2 | if (attribute == 'Y') { return G1Y; } |
200 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
2 | if (attribute == 'M') { return G1M; } |
201 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
2 | if (attribute == 'N') { return G1N; } |
202 | 2 | break; | |
203 | 291 | case G02: // GPS L2 (1227.6 MHz). | |
204 |
3/4✓ Branch 0 taken 48 times.
✓ Branch 1 taken 243 times.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
|
291 | if (attribute == 'C') { return G2C; } |
205 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 243 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
243 | if (attribute == 'D') { return G2D; } |
206 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 243 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
243 | if (attribute == 'S') { return G2S; } |
207 |
3/4✓ Branch 0 taken 36 times.
✓ Branch 1 taken 207 times.
✓ Branch 3 taken 35 times.
✗ Branch 4 not taken.
|
243 | if (attribute == 'L') { return G2L; } |
208 |
3/4✓ Branch 0 taken 111 times.
✓ Branch 1 taken 96 times.
✓ Branch 3 taken 110 times.
✗ Branch 4 not taken.
|
207 | if (attribute == 'X') { return G2X; } |
209 |
3/4✓ Branch 0 taken 52 times.
✓ Branch 1 taken 44 times.
✓ Branch 3 taken 52 times.
✗ Branch 4 not taken.
|
96 | if (attribute == 'P') { return G2P; } |
210 |
2/4✓ Branch 0 taken 46 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
|
44 | if (attribute == 'W') { return G2W; } |
211 | ✗ | if (attribute == 'Y') { return G2Y; } | |
212 | ✗ | if (attribute == 'M') { return G2M; } | |
213 | ✗ | if (attribute == 'N') { return G2N; } | |
214 | ✗ | break; | |
215 | 88 | case G05: // GPS L5 (1176.45 MHz). | |
216 |
3/4✓ Branch 0 taken 28 times.
✓ Branch 1 taken 60 times.
✓ Branch 3 taken 28 times.
✗ Branch 4 not taken.
|
88 | if (attribute == 'I') { return G5I; } |
217 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 40 times.
✓ Branch 3 taken 19 times.
✗ Branch 4 not taken.
|
60 | if (attribute == 'Q') { return G5Q; } |
218 |
2/4✓ Branch 0 taken 40 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 40 times.
✗ Branch 4 not taken.
|
40 | if (attribute == 'X') { return G5X; } |
219 | ✗ | break; | |
220 | 209 | case E01: // Galileo, "E1" (1575.42 MHz). | |
221 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 189 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
209 | if (attribute == 'A') { return E1A; } |
222 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 169 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
189 | if (attribute == 'B') { return E1B; } |
223 |
3/4✓ Branch 0 taken 59 times.
✓ Branch 1 taken 110 times.
✓ Branch 3 taken 59 times.
✗ Branch 4 not taken.
|
169 | if (attribute == 'C') { return E1C; } |
224 |
2/4✓ Branch 0 taken 111 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 111 times.
✗ Branch 4 not taken.
|
110 | if (attribute == 'X') { return E1X; } |
225 | ✗ | if (attribute == 'Z') { return E1Z; } | |
226 | ✗ | break; | |
227 | 104 | case E05: // Galileo E5a (1176.45 MHz). | |
228 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 84 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
104 | if (attribute == 'I') { return E5I; } |
229 |
3/4✓ Branch 0 taken 44 times.
✓ Branch 1 taken 40 times.
✓ Branch 3 taken 43 times.
✗ Branch 4 not taken.
|
84 | if (attribute == 'Q') { return E5Q; } |
230 |
2/4✓ Branch 0 taken 40 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 40 times.
✗ Branch 4 not taken.
|
40 | if (attribute == 'X') { return E5X; } |
231 | ✗ | break; | |
232 | 80 | case E06: // Galileo E6 (1278.75 MHz). | |
233 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 60 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
80 | if (attribute == 'A') { return E6A; } |
234 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 40 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
60 | if (attribute == 'B') { return E6B; } |
235 |
3/4✓ Branch 0 taken 28 times.
✓ Branch 1 taken 12 times.
✓ Branch 3 taken 28 times.
✗ Branch 4 not taken.
|
40 | if (attribute == 'C') { return E6C; } |
236 |
2/4✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
|
12 | if (attribute == 'X') { return E6X; } |
237 | ✗ | if (attribute == 'Z') { return E6Z; } | |
238 | ✗ | break; | |
239 | 171 | case E07: // Galileo E5b (1207.14 MHz). | |
240 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 151 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
171 | if (attribute == 'I') { return E7I; } |
241 |
3/4✓ Branch 0 taken 43 times.
✓ Branch 1 taken 108 times.
✓ Branch 3 taken 42 times.
✗ Branch 4 not taken.
|
151 | if (attribute == 'Q') { return E7Q; } |
242 |
3/4✓ Branch 0 taken 107 times.
✓ Branch 1 taken 1 times.
✓ Branch 3 taken 107 times.
✗ Branch 4 not taken.
|
108 | if (attribute == 'X') { return E7X; } |
243 | 1 | break; | |
244 | 76 | case E08: // Galileo E5 (E5a + E5b) (1191.795MHz). | |
245 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 56 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
76 | if (attribute == 'I') { return E8I; } |
246 |
3/4✓ Branch 0 taken 44 times.
✓ Branch 1 taken 12 times.
✓ Branch 3 taken 43 times.
✗ Branch 4 not taken.
|
56 | if (attribute == 'Q') { return E8Q; } |
247 |
2/4✓ Branch 0 taken 12 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
|
12 | if (attribute == 'X') { return E8X; } |
248 | ✗ | break; | |
249 | |||
250 | 189 | case R01: // GLONASS, "G1" (1602 MHZ). | |
251 |
3/4✓ Branch 0 taken 157 times.
✓ Branch 1 taken 32 times.
✓ Branch 3 taken 158 times.
✗ Branch 4 not taken.
|
189 | if (attribute == 'C') { return R1C; } |
252 |
2/4✓ Branch 0 taken 32 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'P') { return R1P; } |
253 | ✗ | break; | |
254 | 166 | case R02: // GLONASS, "G2" (1246 MHz). | |
255 |
3/4✓ Branch 0 taken 134 times.
✓ Branch 1 taken 32 times.
✓ Branch 3 taken 135 times.
✗ Branch 4 not taken.
|
166 | if (attribute == 'C') { return R2C; } |
256 |
2/4✓ Branch 0 taken 32 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'P') { return R2P; } |
257 | ✗ | break; | |
258 | 80 | case R03: // GLONASS, "G3" (1202.025 MHz). | |
259 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 60 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
80 | if (attribute == 'I') { return R3I; } |
260 |
3/4✓ Branch 0 taken 28 times.
✓ Branch 1 taken 32 times.
✓ Branch 3 taken 28 times.
✗ Branch 4 not taken.
|
60 | if (attribute == 'Q') { return R3Q; } |
261 |
2/4✓ Branch 0 taken 32 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'X') { return R3X; } |
262 | ✗ | break; | |
263 | 60 | case R04: // GLONASS, "G1a" (1600.995 MHZ). | |
264 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 40 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
60 | if (attribute == 'A') { return R4A; } |
265 |
3/4✓ Branch 0 taken 20 times.
✓ Branch 1 taken 20 times.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
40 | if (attribute == 'B') { return R4B; } |
266 |
2/4✓ Branch 0 taken 20 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
20 | if (attribute == 'X') { return R4X; } |
267 | ✗ | break; | |
268 | 20 | case R06: // GLONASS, "G2a" (1248.06 MHz). | |
269 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
20 | if (attribute == 'A') { return R6A; } |
270 |
2/4✓ Branch 0 taken 20 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
20 | if (attribute == 'B') { return R6B; } |
271 | ✗ | if (attribute == 'X') { return R6X; } | |
272 | ✗ | break; | |
273 | |||
274 | 48 | case B01: // Beidou B1 (1575.42 MHz). | |
275 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
48 | if (attribute == 'D') { return B1D; } |
276 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
48 | if (attribute == 'P') { return B1P; } |
277 |
2/4✓ Branch 0 taken 48 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
|
48 | if (attribute == 'X') { return B1X; } |
278 | ✗ | break; | |
279 | 139 | case B02: // Beidou B1-2 (1561.098 MHz). | |
280 |
3/4✓ Branch 0 taken 115 times.
✓ Branch 1 taken 24 times.
✓ Branch 3 taken 114 times.
✗ Branch 4 not taken.
|
139 | if (attribute == 'I') { return B2I; } |
281 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
24 | if (attribute == 'Q') { return B2Q; } |
282 |
2/4✓ Branch 0 taken 24 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
24 | if (attribute == 'X') { return B2X; } |
283 | ✗ | break; | |
284 | 48 | case B05: // Beidou B2a (1176.45 MHz). | |
285 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
48 | if (attribute == 'D') { return B5D; } |
286 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
48 | if (attribute == 'P') { return B5P; } |
287 |
2/4✓ Branch 0 taken 48 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 48 times.
✗ Branch 4 not taken.
|
48 | if (attribute == 'X') { return B5X; } |
288 | ✗ | break; | |
289 | 44 | case B06: // Beidou B3 (1268.52 MHz). | |
290 |
2/4✓ Branch 0 taken 44 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
|
44 | if (attribute == 'I') { return B6I; } |
291 | ✗ | if (attribute == 'Q') { return B6Q; } | |
292 | ✗ | if (attribute == 'X') { return B6X; } | |
293 | ✗ | if (attribute == 'A') { return B6A; } | |
294 | ✗ | break; | |
295 | 152 | case B07: // Beidou B2b (1207.14 MHz). | |
296 |
3/4✓ Branch 0 taken 104 times.
✓ Branch 1 taken 48 times.
✓ Branch 3 taken 104 times.
✗ Branch 4 not taken.
|
152 | if (attribute == 'I') { return B7I; } |
297 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 48 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
48 | if (attribute == 'Q') { return B7Q; } |
298 |
3/4✓ Branch 0 taken 24 times.
✓ Branch 1 taken 24 times.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
48 | if (attribute == 'X') { return B7X; } |
299 |
2/4✓ Branch 0 taken 24 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
24 | if (attribute == 'D') { return B7D; } |
300 | ✗ | if (attribute == 'P') { return B7P; } | |
301 | ✗ | if (attribute == 'Z') { return B7Z; } | |
302 | ✗ | break; | |
303 | ✗ | case B08: // Beidou B2 (B2a + B2b) (1191.795MHz). | |
304 | ✗ | if (attribute == 'D') { return B8D; } | |
305 | ✗ | if (attribute == 'P') { return B8P; } | |
306 | ✗ | if (attribute == 'X') { return B8X; } | |
307 | ✗ | break; | |
308 | |||
309 | 212 | case J01: // QZSS L1 (1575.42 MHz). | |
310 |
3/4✓ Branch 0 taken 76 times.
✓ Branch 1 taken 136 times.
✓ Branch 3 taken 76 times.
✗ Branch 4 not taken.
|
212 | if (attribute == 'C') { return J1C; } |
311 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 136 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
136 | if (attribute == 'S') { return J1S; } |
312 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 136 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
136 | if (attribute == 'L') { return J1L; } |
313 |
3/4✓ Branch 0 taken 68 times.
✓ Branch 1 taken 68 times.
✓ Branch 3 taken 68 times.
✗ Branch 4 not taken.
|
136 | if (attribute == 'X') { return J1X; } |
314 |
2/4✓ Branch 0 taken 68 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 68 times.
✗ Branch 4 not taken.
|
68 | if (attribute == 'Z') { return J1Z; } |
315 | ✗ | break; | |
316 | 32 | case J02: // QZSS L2 (1227.6 MHz). | |
317 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 32 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
32 | if (attribute == 'S') { return J2S; } |
318 |
3/4✓ Branch 0 taken 8 times.
✓ Branch 1 taken 24 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'L') { return J2L; } |
319 |
2/4✓ Branch 0 taken 24 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
24 | if (attribute == 'X') { return J2X; } |
320 | ✗ | break; | |
321 | 119 | case J05: // QZSS L5 (1176.45 MHz). | |
322 |
3/4✓ Branch 0 taken 24 times.
✓ Branch 1 taken 95 times.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
119 | if (attribute == 'I') { return J5I; } |
323 |
3/4✓ Branch 0 taken 8 times.
✓ Branch 1 taken 87 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
|
95 | if (attribute == 'Q') { return J5Q; } |
324 |
3/4✓ Branch 0 taken 44 times.
✓ Branch 1 taken 43 times.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
|
87 | if (attribute == 'X') { return J5X; } |
325 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 43 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
43 | if (attribute == 'D') { return J5D; } |
326 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 43 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
43 | if (attribute == 'P') { return J5P; } |
327 |
2/4✓ Branch 0 taken 43 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 44 times.
✗ Branch 4 not taken.
|
43 | if (attribute == 'Z') { return J5Z; } |
328 | ✗ | break; | |
329 | 20 | case J06: // QZSS L6 / LEX (1278.75 MHz). | |
330 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
20 | if (attribute == 'S') { return J6S; } |
331 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
20 | if (attribute == 'L') { return J6L; } |
332 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
20 | if (attribute == 'X') { return J6X; } |
333 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
20 | if (attribute == 'E') { return J6E; } |
334 |
2/4✓ Branch 0 taken 20 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 20 times.
✗ Branch 4 not taken.
|
20 | if (attribute == 'Z') { return J6Z; } |
335 | ✗ | break; | |
336 | |||
337 | 32 | case I05: // IRNSS L5 (1176.45 MHz). | |
338 |
3/4✓ Branch 0 taken 8 times.
✓ Branch 1 taken 24 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'A') { return I5A; } |
339 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
24 | if (attribute == 'B') { return I5B; } |
340 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
24 | if (attribute == 'C') { return I5C; } |
341 |
2/4✓ Branch 0 taken 24 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
24 | if (attribute == 'X') { return I5X; } |
342 | ✗ | break; | |
343 | ✗ | case I09: // IRNSS S (2492.028 MHz). | |
344 | ✗ | if (attribute == 'A') { return I9A; } | |
345 | ✗ | if (attribute == 'B') { return I9B; } | |
346 | ✗ | if (attribute == 'C') { return I9C; } | |
347 | ✗ | if (attribute == 'X') { return I9X; } | |
348 | ✗ | break; | |
349 | |||
350 | 60 | case S01: // SBAS L1 (1575.42 MHz). | |
351 |
2/4✓ Branch 0 taken 60 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 60 times.
✗ Branch 4 not taken.
|
60 | if (attribute == 'C') { return S1C; } |
352 | ✗ | break; | |
353 | 32 | case S05: // SBAS L5 (1176.45 MHz). | |
354 |
3/4✓ Branch 0 taken 8 times.
✓ Branch 1 taken 24 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
|
32 | if (attribute == 'I') { return S5I; } |
355 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 24 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
|
24 | if (attribute == 'Q') { return S5Q; } |
356 |
2/4✓ Branch 0 taken 24 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 24 times.
✗ Branch 4 not taken.
|
24 | if (attribute == 'X') { return S5X; } |
357 | ✗ | break; | |
358 | |||
359 | ✗ | case Freq_None: | |
360 | ✗ | break; | |
361 | } | ||
362 | |||
363 | ✗ | LOG_WARN("Can't convert frequency '{}' and attribute '{}'. Unkown code.", freq, attribute); | |
364 | |||
365 | ✗ | return Code(Set()); | |
366 | } | ||
367 | |||
368 | ✗ | const char* Code::GetCodeDescription(Code code) | |
369 | { | ||
370 | ✗ | if (code == G1C) { return "GPS L1 - C/A-code"; } | |
371 | ✗ | if (code == G1S) { return "GPS L1 - L1C-D (data)"; } | |
372 | ✗ | if (code == G1L) { return "GPS L1 - L1C-P (pilot)"; } | |
373 | ✗ | if (code == G1X) { return "GPS L1 - L1C-(D+P) (combined)"; } | |
374 | ✗ | if (code == G1P) { return "GPS L1 - P-code (unencrypted)"; } | |
375 | ✗ | if (code == G1W) { return "GPS L1 - Semicodeless P(Y) tracking (Z-tracking)"; } | |
376 | ✗ | if (code == G1Y) { return "GPS L1 - Y-code (with decryption)"; } | |
377 | ✗ | if (code == G1M) { return "GPS L1 - M-code"; } | |
378 | ✗ | if (code == G1N) { return "GPS L1 - codeless"; } | |
379 | ✗ | if (code == G2C) { return "GPS L2 - C/A-code"; } | |
380 | ✗ | if (code == G2D) { return "GPS L2 - Semi-codeless P(Y) tracking (L1 C/A + (P2-P1))"; } | |
381 | ✗ | if (code == G2S) { return "GPS L2 - L2C(M) (medium)"; } | |
382 | ✗ | if (code == G2L) { return "GPS L2 - L2C(L) (long)"; } | |
383 | ✗ | if (code == G2X) { return "GPS L2 - L2C(M+L) (combined)"; } | |
384 | ✗ | if (code == G2P) { return "GPS L2 - P-code (unencrypted)"; } | |
385 | ✗ | if (code == G2W) { return "GPS L2 - Semicodeless P(Y) tracking (Z-tracking)"; } | |
386 | ✗ | if (code == G2Y) { return "GPS L2 - Y-code (with decryption)"; } | |
387 | ✗ | if (code == G2M) { return "GPS L2 - M-code"; } | |
388 | ✗ | if (code == G2N) { return "GPS L2 - codeless"; } | |
389 | ✗ | if (code == G5I) { return "GPS L5 - Data"; } | |
390 | ✗ | if (code == G5Q) { return "GPS L5 - Pilot"; } | |
391 | ✗ | if (code == G5X) { return "GPS L5 - Combined"; } | |
392 | |||
393 | ✗ | if (code == E1A) { return "GAL E1 - PRS signal"; } | |
394 | ✗ | if (code == E1B) { return "GAL E1 - OS (data)"; } | |
395 | ✗ | if (code == E1C) { return "GAL E1 - OS (pilot)"; } | |
396 | ✗ | if (code == E1X) { return "GAL E1 - OS(B+C) (combined)"; } | |
397 | ✗ | if (code == E1Z) { return "GAL E1 - PRS + OS (data + pilot)"; } | |
398 | ✗ | if (code == E5I) { return "GAL E5a - Data"; } | |
399 | ✗ | if (code == E5Q) { return "GAL E5a - Pilot"; } | |
400 | ✗ | if (code == E5X) { return "GAL E5a - Combined"; } | |
401 | ✗ | if (code == E6A) { return "GAL E6 - PRS signal"; } | |
402 | ✗ | if (code == E6B) { return "GAL E6 - Data"; } | |
403 | ✗ | if (code == E6C) { return "GAL E6 - Pilot"; } | |
404 | ✗ | if (code == E6X) { return "GAL E6 - Combined (B+C)"; } | |
405 | ✗ | if (code == E6Z) { return "GAL E6 - PRS + OS (A+B+C)"; } | |
406 | ✗ | if (code == E7I) { return "GAL E5b - Data"; } | |
407 | ✗ | if (code == E7Q) { return "GAL E5b - Pilot"; } | |
408 | ✗ | if (code == E7X) { return "GAL E5b - Combined"; } | |
409 | ✗ | if (code == E8I) { return "GAL E5(a+b) - AltBOC (data)"; } | |
410 | ✗ | if (code == E8Q) { return "GAL E5(a+b) - AltBOC (pilot)"; } | |
411 | ✗ | if (code == E8X) { return "GAL E5(a+b) - AltBOC (combined)"; } | |
412 | |||
413 | ✗ | if (code == R1C) { return "GLO L1 - C/A-code"; } | |
414 | ✗ | if (code == R1P) { return "GLO L1 - P-code"; } | |
415 | ✗ | if (code == R2C) { return "GLO L2 - C/A-code"; } | |
416 | ✗ | if (code == R2P) { return "GLO L2 - P-code"; } | |
417 | ✗ | if (code == R3I) { return "GLO L3 - Data"; } | |
418 | ✗ | if (code == R3Q) { return "GLO L3 - Pilot"; } | |
419 | ✗ | if (code == R3X) { return "GLO L3 - Combined"; } | |
420 | ✗ | if (code == R4A) { return "GLO G1a - L1OCd (data)"; } | |
421 | ✗ | if (code == R4B) { return "GLO G1a - L1OCp (pilot)"; } | |
422 | ✗ | if (code == R4X) { return "GLO G1a - L1OCd+L1OCp (combined)"; } | |
423 | ✗ | if (code == R6A) { return "GLO G2a - L2CSI (data)"; } | |
424 | ✗ | if (code == R6B) { return "GLO G2a - L2OCp (pilot)"; } | |
425 | ✗ | if (code == R6X) { return "GLO G2a - L2CSI+L2OCp (combined)"; } | |
426 | |||
427 | ✗ | if (code == B1D) { return "BeiDou B1 - Data (D)"; } | |
428 | ✗ | if (code == B1P) { return "BeiDou B1 - Pilot(P)"; } | |
429 | ✗ | if (code == B1X) { return "BeiDou B1 - D+P"; } | |
430 | ✗ | if (code == B2I) { return "BeiDou B1-2 - B1I(OS)"; } | |
431 | ✗ | if (code == B2Q) { return "BeiDou B1-2 - B1Q"; } | |
432 | ✗ | if (code == B2X) { return "BeiDou B1-2 - B1I(OS), B1Q, combined"; } | |
433 | ✗ | if (code == B5D) { return "BeiDou B2a - Data (D)"; } | |
434 | ✗ | if (code == B5P) { return "BeiDou B2a - Pilot(P)"; } | |
435 | ✗ | if (code == B5X) { return "BeiDou B2a - D+P"; } | |
436 | ✗ | if (code == B6I) { return "BeiDou B3 - B3I"; } | |
437 | ✗ | if (code == B6Q) { return "BeiDou B3 - B3Q"; } | |
438 | ✗ | if (code == B6X) { return "BeiDou B3 - B3I, B3Q, combined"; } | |
439 | ✗ | if (code == B6A) { return "BeiDou B3 - B3A"; } | |
440 | ✗ | if (code == B7I) { return "BeiDou B2b (BDS-2) - B2I(OS)"; } | |
441 | ✗ | if (code == B7Q) { return "BeiDou B2b (BDS-2) - B2Q"; } | |
442 | ✗ | if (code == B7X) { return "BeiDou B2b (BDS-2) - B2I(OS), B2Q, combined"; } | |
443 | ✗ | if (code == B7D) { return "BeiDou B2b (BDS-3) - Data (D)"; } | |
444 | ✗ | if (code == B7P) { return "BeiDou B2b (BDS-3) - Pilot(P)"; } | |
445 | ✗ | if (code == B7Z) { return "BeiDou B2b (BDS-3) - D+P"; } | |
446 | ✗ | if (code == B8D) { return "BeiDou B2 (B2a+B2b) - Data (D)"; } | |
447 | ✗ | if (code == B8P) { return "BeiDou B2 (B2a+B2b) - Pilot(P)"; } | |
448 | ✗ | if (code == B8X) { return "BeiDou B2 (B2a+B2b) - D+P"; } | |
449 | |||
450 | ✗ | if (code == J1C) { return "QZSS L1 - C/A-code"; } | |
451 | ✗ | if (code == J1S) { return "QZSS L1 - L1C (data)"; } | |
452 | ✗ | if (code == J1L) { return "QZSS L1 - L1C (pilot)"; } | |
453 | ✗ | if (code == J1X) { return "QZSS L1 - L1C (combined)"; } | |
454 | ✗ | if (code == J1Z) { return "QZSS L1 - L1-SAIF signal"; } | |
455 | ✗ | if (code == J2S) { return "QZSS L2 - L2C-code (medium)"; } | |
456 | ✗ | if (code == J2L) { return "QZSS L2 - L2C-code (long)"; } | |
457 | ✗ | if (code == J2X) { return "QZSS L2 - L2C-code (combined)"; } | |
458 | ✗ | if (code == J5I) { return "QZSS L5 - Data"; } | |
459 | ✗ | if (code == J5Q) { return "QZSS L5 - Pilot"; } | |
460 | ✗ | if (code == J5X) { return "QZSS L5 - Combined"; } | |
461 | ✗ | if (code == J5D) { return "QZSS L5S - I"; } | |
462 | ✗ | if (code == J5P) { return "QZSS L5S - Q"; } | |
463 | ✗ | if (code == J5Z) { return "QZSS L5S - I+Q"; } | |
464 | ✗ | if (code == J6S) { return "QZSS L6 - L6D LEX signal (short)"; } | |
465 | ✗ | if (code == J6L) { return "QZSS L6 - L6P LEX signal (long)"; } | |
466 | ✗ | if (code == J6X) { return "QZSS L6 - L6(D+P) LEX signal (combined)"; } | |
467 | ✗ | if (code == J6E) { return "QZSS L6 - L6E"; } | |
468 | ✗ | if (code == J6Z) { return "QZSS L6 - L6(D+E)"; } | |
469 | |||
470 | ✗ | if (code == I5A) { return "IRNSS L5 - SPS Signal"; } | |
471 | ✗ | if (code == I5B) { return "IRNSS L5 - RS (data)"; } | |
472 | ✗ | if (code == I5C) { return "IRNSS L5 - RS (pilot)"; } | |
473 | ✗ | if (code == I5X) { return "IRNSS L5 - RS (combined)"; } | |
474 | ✗ | if (code == I9A) { return "IRNSS S - SPS signal"; } | |
475 | ✗ | if (code == I9B) { return "IRNSS S - RS (data)"; } | |
476 | ✗ | if (code == I9C) { return "IRNSS S - RS (pilot)"; } | |
477 | ✗ | if (code == I9X) { return "IRNSS S - RS (combined)"; } | |
478 | |||
479 | ✗ | if (code == S1C) { return "SBAS L1 - C/A-code"; } | |
480 | ✗ | if (code == S5I) { return "SBAS L5 - Data"; } | |
481 | ✗ | if (code == S5Q) { return "SBAS L5 - Pilot"; } | |
482 | ✗ | if (code == S5X) { return "SBAS L5 - Combined"; } | |
483 | |||
484 | ✗ | return "Unknown code."; | |
485 | } | ||
486 | |||
487 | ✗ | const char* Code::getDescription() const | |
488 | { | ||
489 | ✗ | return GetCodeDescription(*this); | |
490 | } | ||
491 | |||
492 | 6355032 | Frequency Code::GetCodeFequency(Code code) | |
493 | { | ||
494 |
3/4✓ Branch 1 taken 6349539 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 987545 times.
✓ Branch 4 taken 5361994 times.
|
6355032 | if (code == G1C) { return G01; } // GPS L1 - C/A-code |
495 |
3/4✓ Branch 1 taken 5365431 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5716 times.
✓ Branch 4 taken 5359715 times.
|
5361994 | if (code == G1S) { return G01; } // GPS L1 - L1C-D (data) |
496 |
3/4✓ Branch 1 taken 5359857 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 32963 times.
✓ Branch 4 taken 5326894 times.
|
5359715 | if (code == G1L) { return G01; } // GPS L1 - L1C-P (pilot) |
497 |
3/4✓ Branch 1 taken 5327142 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 65447 times.
✓ Branch 4 taken 5261695 times.
|
5326894 | if (code == G1X) { return G01; } // GPS L1 - L1C-(D+P) (combined) |
498 |
3/4✓ Branch 1 taken 5261526 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 151438 times.
✓ Branch 4 taken 5110088 times.
|
5261695 | if (code == G1P) { return G01; } // GPS L1 - P-code (unencrypted) |
499 |
3/4✓ Branch 1 taken 5110432 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 31482 times.
✓ Branch 4 taken 5078950 times.
|
5110088 | if (code == G1W) { return G01; } // GPS L1 - Semicodeless P(Y) tracking (Z-tracking) |
500 |
3/4✓ Branch 1 taken 5079027 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5716 times.
✓ Branch 4 taken 5073311 times.
|
5078950 | if (code == G1Y) { return G01; } // GPS L1 - Y-code (with decryption) |
501 |
3/4✓ Branch 1 taken 5073354 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5716 times.
✓ Branch 4 taken 5067638 times.
|
5073311 | if (code == G1M) { return G01; } // GPS L1 - M-code |
502 |
3/4✓ Branch 1 taken 5067497 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5716 times.
✓ Branch 4 taken 5061781 times.
|
5067638 | if (code == G1N) { return G01; } // GPS L1 - codeless |
503 |
3/4✓ Branch 1 taken 5061916 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 69786 times.
✓ Branch 4 taken 4992130 times.
|
5061781 | if (code == G2C) { return G02; } // GPS L2 - C/A-code |
504 |
3/4✓ Branch 1 taken 4992061 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5316 times.
✓ Branch 4 taken 4986745 times.
|
4992130 | if (code == G2D) { return G02; } // GPS L2 - Semi-codeless P(Y) tracking (L1 C/A + (P2-P1)) |
505 |
3/4✓ Branch 1 taken 4986858 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5316 times.
✓ Branch 4 taken 4981542 times.
|
4986745 | if (code == G2S) { return G02; } // GPS L2 - L2C(M) (medium) |
506 |
3/4✓ Branch 1 taken 4981407 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 36173 times.
✓ Branch 4 taken 4945234 times.
|
4981542 | if (code == G2L) { return G02; } // GPS L2 - L2C(L) (long) |
507 |
3/4✓ Branch 1 taken 4945171 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 436617 times.
✓ Branch 4 taken 4508554 times.
|
4945234 | if (code == G2X) { return G02; } // GPS L2 - L2C(M+L) (combined) |
508 |
3/4✓ Branch 1 taken 4509424 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 156214 times.
✓ Branch 4 taken 4353210 times.
|
4508554 | if (code == G2P) { return G02; } // GPS L2 - P-code (unencrypted) |
509 |
3/4✓ Branch 1 taken 4353335 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 36216 times.
✓ Branch 4 taken 4317119 times.
|
4353210 | if (code == G2W) { return G02; } // GPS L2 - Semicodeless P(Y) tracking (Z-tracking) |
510 |
3/4✓ Branch 1 taken 4316973 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5316 times.
✓ Branch 4 taken 4311657 times.
|
4317119 | if (code == G2Y) { return G02; } // GPS L2 - Y-code (with decryption) |
511 |
3/4✓ Branch 1 taken 4311829 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5316 times.
✓ Branch 4 taken 4306513 times.
|
4311657 | if (code == G2M) { return G02; } // GPS L2 - M-code |
512 |
3/4✓ Branch 1 taken 4306502 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5316 times.
✓ Branch 4 taken 4301186 times.
|
4306513 | if (code == G2N) { return G02; } // GPS L2 - codeless |
513 |
3/4✓ Branch 1 taken 4301253 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 97362 times.
✓ Branch 4 taken 4203891 times.
|
4301186 | if (code == G5I) { return G05; } // GPS L5 - Data |
514 |
3/4✓ Branch 1 taken 4203899 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 21591 times.
✓ Branch 4 taken 4182308 times.
|
4203891 | if (code == G5Q) { return G05; } // GPS L5 - Pilot |
515 |
3/4✓ Branch 1 taken 4182271 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 243138 times.
✓ Branch 4 taken 3939133 times.
|
4182308 | if (code == G5X) { return G05; } // GPS L5 - Combined |
516 | |||
517 |
3/4✓ Branch 1 taken 3939487 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 3933383 times.
|
3939133 | if (code == E1A) { return E01; } // GAL E1 - PRS signal |
518 |
3/4✓ Branch 1 taken 3933391 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23184 times.
✓ Branch 4 taken 3910207 times.
|
3933383 | if (code == E1B) { return E01; } // GAL E1 - OS (data) |
519 |
3/4✓ Branch 1 taken 3910120 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 63957 times.
✓ Branch 4 taken 3846163 times.
|
3910207 | if (code == E1C) { return E01; } // GAL E1 - OS (pilot) |
520 |
3/4✓ Branch 1 taken 3846224 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 693640 times.
✓ Branch 4 taken 3152584 times.
|
3846163 | if (code == E1X) { return E01; } // GAL E1 - OS(B+C) (combined) |
521 |
3/4✓ Branch 1 taken 3153009 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 3146905 times.
|
3152584 | if (code == E1Z) { return E01; } // GAL E1 - PRS + OS (data + pilot) |
522 |
3/4✓ Branch 1 taken 3146924 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23984 times.
✓ Branch 4 taken 3122940 times.
|
3146905 | if (code == E5I) { return E05; } // GAL E5a - Data |
523 |
3/4✓ Branch 1 taken 3122871 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 49004 times.
✓ Branch 4 taken 3073867 times.
|
3122940 | if (code == E5Q) { return E05; } // GAL E5a - Pilot |
524 |
3/4✓ Branch 1 taken 3073941 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 200115 times.
✓ Branch 4 taken 2873826 times.
|
3073867 | if (code == E5X) { return E05; } // GAL E5a - Combined |
525 |
3/4✓ Branch 1 taken 2873772 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 2867668 times.
|
2873826 | if (code == E6A) { return E06; } // GAL E6 - PRS signal |
526 |
3/4✓ Branch 1 taken 2867723 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 2861619 times.
|
2867668 | if (code == E6B) { return E06; } // GAL E6 - Data |
527 |
3/4✓ Branch 1 taken 2861578 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6123 times.
✓ Branch 4 taken 2855455 times.
|
2861619 | if (code == E6C) { return E06; } // GAL E6 - Pilot |
528 |
3/4✓ Branch 1 taken 2855487 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6132 times.
✓ Branch 4 taken 2849355 times.
|
2855455 | if (code == E6X) { return E06; } // GAL E6 - Combined (B+C) |
529 |
3/4✓ Branch 1 taken 2849355 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 2843251 times.
|
2849355 | if (code == E6Z) { return E06; } // GAL E6 - PRS + OS (A+B+C) |
530 |
3/4✓ Branch 1 taken 2843267 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23984 times.
✓ Branch 4 taken 2819283 times.
|
2843251 | if (code == E7I) { return E07; } // GAL E5b - Data |
531 |
3/4✓ Branch 1 taken 2819247 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 49007 times.
✓ Branch 4 taken 2770240 times.
|
2819283 | if (code == E7Q) { return E07; } // GAL E5b - Pilot |
532 |
3/4✓ Branch 1 taken 2770247 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 385099 times.
✓ Branch 4 taken 2385148 times.
|
2770240 | if (code == E7X) { return E07; } // GAL E5b - Combined |
533 |
3/4✓ Branch 1 taken 2385296 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23984 times.
✓ Branch 4 taken 2361312 times.
|
2385148 | if (code == E8I) { return E08; } // GAL E5(a+b) - AltBOC (data) |
534 |
3/4✓ Branch 1 taken 2361340 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 49006 times.
✓ Branch 4 taken 2312334 times.
|
2361312 | if (code == E8Q) { return E08; } // GAL E5(a+b) - AltBOC (pilot) |
535 |
3/4✓ Branch 1 taken 2312319 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6932 times.
✓ Branch 4 taken 2305387 times.
|
2312334 | if (code == E8X) { return E08; } // GAL E5(a+b) - AltBOC (combined) |
536 | |||
537 |
3/4✓ Branch 1 taken 2305359 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 480503 times.
✓ Branch 4 taken 1824856 times.
|
2305387 | if (code == R1C) { return R01; } // GLO L1 - C/A-code |
538 |
3/4✓ Branch 1 taken 1825056 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 27761 times.
✓ Branch 4 taken 1797295 times.
|
1824856 | if (code == R1P) { return R01; } // GLO L1 - P-code |
539 |
3/4✓ Branch 1 taken 1797275 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 418936 times.
✓ Branch 4 taken 1378339 times.
|
1797295 | if (code == R2C) { return R02; } // GLO L2 - C/A-code |
540 |
3/4✓ Branch 1 taken 1378466 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 27742 times.
✓ Branch 4 taken 1350724 times.
|
1378339 | if (code == R2P) { return R02; } // GLO L2 - P-code |
541 |
3/4✓ Branch 1 taken 1350731 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1346251 times.
|
1350724 | if (code == R3I) { return R03; } // GLO L3 - Data |
542 |
3/4✓ Branch 1 taken 1346269 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4499 times.
✓ Branch 4 taken 1341770 times.
|
1346251 | if (code == R3Q) { return R03; } // GLO L3 - Pilot |
543 |
3/4✓ Branch 1 taken 1341772 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4508 times.
✓ Branch 4 taken 1337264 times.
|
1341770 | if (code == R3X) { return R03; } // GLO L3 - Combined |
544 |
3/4✓ Branch 1 taken 1337232 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1332752 times.
|
1337264 | if (code == R4A) { return R04; } // GLO G1a - L1OCd (data) |
545 |
3/4✓ Branch 1 taken 1332743 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1328263 times.
|
1332752 | if (code == R4B) { return R04; } // GLO G1a - L1OCp (pilot) |
546 |
3/4✓ Branch 1 taken 1328284 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1323804 times.
|
1328263 | if (code == R4X) { return R04; } // GLO G1a - L1OCd+L1OCp (combined) |
547 |
3/4✓ Branch 1 taken 1323799 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1319319 times.
|
1323804 | if (code == R6A) { return R06; } // GLO G2a - L2CSI (data) |
548 |
3/4✓ Branch 1 taken 1319310 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1314830 times.
|
1319319 | if (code == R6B) { return R06; } // GLO G2a - L2OCp (pilot) |
549 |
3/4✓ Branch 1 taken 1314861 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4480 times.
✓ Branch 4 taken 1310381 times.
|
1314830 | if (code == R6X) { return R06; } // GLO G2a - L2CSI+L2OCp (combined) |
550 | |||
551 |
3/4✓ Branch 1 taken 1310345 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 1302229 times.
|
1310381 | if (code == B1D) { return B01; } // BeiDou B1 - Data (D) |
552 |
3/4✓ Branch 1 taken 1302273 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 1294157 times.
|
1302229 | if (code == B1P) { return B01; } // BeiDou B1 - Pilot(P) |
553 |
3/4✓ Branch 1 taken 1294124 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 107777 times.
✓ Branch 4 taken 1186347 times.
|
1294157 | if (code == B1X) { return B01; } // BeiDou B1 - D+P |
554 |
3/4✓ Branch 1 taken 1186427 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 336612 times.
✓ Branch 4 taken 849815 times.
|
1186347 | if (code == B2I) { return B02; } // BeiDou B1-2 - B1I(OS) |
555 |
3/4✓ Branch 1 taken 849800 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 841684 times.
|
849815 | if (code == B2Q) { return B02; } // BeiDou B1-2 - B1Q |
556 |
3/4✓ Branch 1 taken 841688 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 82731 times.
✓ Branch 4 taken 758957 times.
|
841684 | if (code == B2X) { return B02; } // BeiDou B1-2 - B1I(OS), B1Q, combined |
557 |
3/4✓ Branch 1 taken 759012 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 750896 times.
|
758957 | if (code == B5D) { return B05; } // BeiDou B2a - Data (D) |
558 |
3/4✓ Branch 1 taken 750886 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 742770 times.
|
750896 | if (code == B5P) { return B05; } // BeiDou B2a - Pilot(P) |
559 |
3/4✓ Branch 1 taken 742759 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 107779 times.
✓ Branch 4 taken 634980 times.
|
742770 | if (code == B5X) { return B05; } // BeiDou B2a - D+P |
560 |
3/4✓ Branch 1 taken 635010 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 42908 times.
✓ Branch 4 taken 592102 times.
|
634980 | if (code == B6I) { return B06; } // BeiDou B3 - B3I |
561 |
3/4✓ Branch 1 taken 592100 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 7716 times.
✓ Branch 4 taken 584384 times.
|
592102 | if (code == B6Q) { return B06; } // BeiDou B3 - B3Q |
562 |
3/4✓ Branch 1 taken 584391 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 7716 times.
✓ Branch 4 taken 576675 times.
|
584384 | if (code == B6X) { return B06; } // BeiDou B3 - B3I, B3Q, combined |
563 |
3/4✓ Branch 1 taken 576667 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 7716 times.
✓ Branch 4 taken 568951 times.
|
576675 | if (code == B6A) { return B06; } // BeiDou B3 - B3A |
564 |
3/4✓ Branch 1 taken 568956 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 42294 times.
✓ Branch 4 taken 526662 times.
|
568951 | if (code == B7I) { return B07; } // BeiDou B2b (BDS-2) - B2I(OS) |
565 |
3/4✓ Branch 1 taken 526664 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6916 times.
✓ Branch 4 taken 519748 times.
|
526662 | if (code == B7Q) { return B07; } // BeiDou B2b (BDS-2) - B2Q |
566 |
3/4✓ Branch 1 taken 519738 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 81536 times.
✓ Branch 4 taken 438202 times.
|
519748 | if (code == B7X) { return B07; } // BeiDou B2b (BDS-2) - B2I(OS), B2Q, combined |
567 |
3/4✓ Branch 1 taken 438227 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 40966 times.
✓ Branch 4 taken 397261 times.
|
438202 | if (code == B7D) { return B07; } // BeiDou B2b (BDS-3) - Data (D) |
568 |
3/4✓ Branch 1 taken 397262 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6916 times.
✓ Branch 4 taken 390346 times.
|
397261 | if (code == B7P) { return B07; } // BeiDou B2b (BDS-3) - Pilot(P) |
569 |
3/4✓ Branch 1 taken 390344 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6916 times.
✓ Branch 4 taken 383428 times.
|
390346 | if (code == B7Z) { return B07; } // BeiDou B2b (BDS-3) - D+P |
570 |
3/4✓ Branch 1 taken 383432 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 375316 times.
|
383428 | if (code == B8D) { return B08; } // BeiDou B2 (B2a+B2b) - Data (D) |
571 |
3/4✓ Branch 1 taken 375316 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 8116 times.
✓ Branch 4 taken 367200 times.
|
375316 | if (code == B8P) { return B08; } // BeiDou B2 (B2a+B2b) - Pilot(P) |
572 |
3/4✓ Branch 1 taken 367200 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 9164 times.
✓ Branch 4 taken 358036 times.
|
367200 | if (code == B8X) { return B08; } // BeiDou B2 (B2a+B2b) - D+P |
573 | |||
574 |
3/4✓ Branch 1 taken 358032 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 32423 times.
✓ Branch 4 taken 325609 times.
|
358036 | if (code == J1C) { return J01; } // QZSS L1 - C/A-code |
575 |
3/4✓ Branch 1 taken 325612 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 319508 times.
|
325609 | if (code == J1S) { return J01; } // QZSS L1 - L1C (data) |
576 |
3/4✓ Branch 1 taken 319509 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 313405 times.
|
319508 | if (code == J1L) { return J01; } // QZSS L1 - L1C (pilot) |
577 |
3/4✓ Branch 1 taken 313405 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 32404 times.
✓ Branch 4 taken 281001 times.
|
313405 | if (code == J1X) { return J01; } // QZSS L1 - L1C (combined) |
578 |
3/4✓ Branch 1 taken 281000 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 32404 times.
✓ Branch 4 taken 248596 times.
|
281001 | if (code == J1Z) { return J01; } // QZSS L1 - L1-SAIF signal |
579 |
3/4✓ Branch 1 taken 248596 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6904 times.
✓ Branch 4 taken 241692 times.
|
248596 | if (code == J2S) { return J02; } // QZSS L2 - L2C-code (medium) |
580 |
3/4✓ Branch 1 taken 241693 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6923 times.
✓ Branch 4 taken 234770 times.
|
241692 | if (code == J2L) { return J02; } // QZSS L2 - L2C-code (long) |
581 |
3/4✓ Branch 1 taken 234769 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 20523 times.
✓ Branch 4 taken 214246 times.
|
234770 | if (code == J2X) { return J02; } // QZSS L2 - L2C-code (combined) |
582 |
3/4✓ Branch 1 taken 214246 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 19324 times.
✓ Branch 4 taken 194922 times.
|
214246 | if (code == J5I) { return J05; } // QZSS L5 - Data |
583 |
3/4✓ Branch 1 taken 194922 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5723 times.
✓ Branch 4 taken 189199 times.
|
194922 | if (code == J5Q) { return J05; } // QZSS L5 - Pilot |
584 |
3/4✓ Branch 1 taken 189198 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 18384 times.
✓ Branch 4 taken 170814 times.
|
189199 | if (code == J5X) { return J05; } // QZSS L5 - Combined |
585 |
3/4✓ Branch 1 taken 170816 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5704 times.
✓ Branch 4 taken 165112 times.
|
170814 | if (code == J5D) { return J05; } // QZSS L5S - I |
586 |
3/4✓ Branch 1 taken 165112 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5704 times.
✓ Branch 4 taken 159408 times.
|
165112 | if (code == J5P) { return J05; } // QZSS L5S - Q |
587 |
3/4✓ Branch 1 taken 159408 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 18384 times.
✓ Branch 4 taken 141024 times.
|
159408 | if (code == J5Z) { return J05; } // QZSS L5S - I+Q |
588 |
3/4✓ Branch 1 taken 141024 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 134920 times.
|
141024 | if (code == J6S) { return J06; } // QZSS L6 - L6D LEX signal (short) |
589 |
3/4✓ Branch 1 taken 134920 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 128816 times.
|
134920 | if (code == J6L) { return J06; } // QZSS L6 - L6P LEX signal (long) |
590 |
3/4✓ Branch 1 taken 128816 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 122712 times.
|
128816 | if (code == J6X) { return J06; } // QZSS L6 - L6(D+P) LEX signal (combined) |
591 |
3/4✓ Branch 1 taken 122711 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 116607 times.
|
122712 | if (code == J6E) { return J06; } // QZSS L6 - L6E |
592 |
3/4✓ Branch 1 taken 116606 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6104 times.
✓ Branch 4 taken 110502 times.
|
116607 | if (code == J6Z) { return J06; } // QZSS L6 - L6(D+E) |
593 | |||
594 |
3/4✓ Branch 1 taken 110502 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2079 times.
✓ Branch 4 taken 108423 times.
|
110502 | if (code == I5A) { return I05; } // IRNSS L5 - SPS Signal |
595 |
3/4✓ Branch 1 taken 108425 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 106365 times.
|
108423 | if (code == I5B) { return I05; } // IRNSS L5 - RS (data) |
596 |
3/4✓ Branch 1 taken 106364 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 104304 times.
|
106365 | if (code == I5C) { return I05; } // IRNSS L5 - RS (pilot) |
597 |
3/4✓ Branch 1 taken 104305 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 15864 times.
✓ Branch 4 taken 88441 times.
|
104304 | if (code == I5X) { return I05; } // IRNSS L5 - RS (combined) |
598 |
3/4✓ Branch 1 taken 88439 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 86379 times.
|
88441 | if (code == I9A) { return I09; } // IRNSS S - SPS signal |
599 |
3/4✓ Branch 1 taken 86381 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 84321 times.
|
86379 | if (code == I9B) { return I09; } // IRNSS S - RS (data) |
600 |
3/4✓ Branch 1 taken 84320 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 82260 times.
|
84321 | if (code == I9C) { return I09; } // IRNSS S - RS (pilot) |
601 |
3/4✓ Branch 1 taken 82259 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2060 times.
✓ Branch 4 taken 80199 times.
|
82260 | if (code == I9X) { return I09; } // IRNSS S - RS (combined) |
602 | |||
603 |
3/4✓ Branch 1 taken 80200 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 39689 times.
✓ Branch 4 taken 40511 times.
|
80199 | if (code == S1C) { return S01; } // SBAS L1 - C/A-code |
604 |
3/4✓ Branch 1 taken 40512 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 863 times.
✓ Branch 4 taken 39649 times.
|
40511 | if (code == S5I) { return S05; } // SBAS L5 - Data |
605 |
3/4✓ Branch 1 taken 39648 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 844 times.
✓ Branch 4 taken 38804 times.
|
39649 | if (code == S5Q) { return S05; } // SBAS L5 - Pilot |
606 |
2/4✓ Branch 1 taken 38805 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 38805 times.
✗ Branch 4 not taken.
|
38804 | if (code == S5X) { return S05; } // SBAS L5 - Combined |
607 | |||
608 | ✗ | return Freq_None; | |
609 | } | ||
610 | |||
611 | 6355200 | Frequency Code::getFrequency() const | |
612 | { | ||
613 | 6355200 | return GetCodeFequency(*this); | |
614 | } | ||
615 | |||
616 | ✗ | bool Code::IsCodeCombined(Code first, Code second) | |
617 | { | ||
618 | ✗ | return ((first & Code_G1S_G1L_G1X) && (second & Code_G1S_G1L_G1X)) | |
619 | ✗ | || ((first & Code_G2S_G2L_G2X) && (second & Code_G2S_G2L_G2X)) | |
620 | ✗ | || ((first & Code_G5I_G5Q_G5X) && (second & Code_G5I_G5Q_G5X)) | |
621 | ✗ | || ((first & Code_E1B_E1C_E1X) && (second & Code_E1B_E1C_E1X)) | |
622 | ✗ | || ((first & Code_E5I_E5Q_E5X) && (second & Code_E5I_E5Q_E5X)) | |
623 | ✗ | || ((first & Code_E6B_E6C_E6X) && (second & Code_E6B_E6C_E6X)) | |
624 | ✗ | || ((first & Code_E7I_E7Q_E7X) && (second & Code_E7I_E7Q_E7X)) | |
625 | ✗ | || ((first & Code_E8I_E8Q_E8X) && (second & Code_E8I_E8Q_E8X)) | |
626 | ✗ | || ((first & Code_R3I_R3Q_R3X) && (second & Code_R3I_R3Q_R3X)) | |
627 | ✗ | || ((first & Code_R4A_R4B_R4X) && (second & Code_R4A_R4B_R4X)) | |
628 | ✗ | || ((first & Code_R6A_R6B_R6X) && (second & Code_R6A_R6B_R6X)) | |
629 | ✗ | || ((first & Code_B1D_B1P_B1X) && (second & Code_B1D_B1P_B1X)) | |
630 | ✗ | || ((first & Code_B2I_B2Q_B2X) && (second & Code_B2I_B2Q_B2X)) | |
631 | ✗ | || ((first & Code_B5D_B5P_B5X) && (second & Code_B5D_B5P_B5X)) | |
632 | ✗ | || ((first & Code_B6I_B6Q_B6X) && (second & Code_B6I_B6Q_B6X)) | |
633 | ✗ | || ((first & Code_B7I_B7Q_B7X) && (second & Code_B7I_B7Q_B7X)) | |
634 | ✗ | || ((first & Code_B7D_B7P_B7Z) && (second & Code_B7D_B7P_B7Z)) | |
635 | ✗ | || ((first & Code_B8D_B8P_B8X) && (second & Code_B8D_B8P_B8X)) | |
636 | ✗ | || ((first & Code_J1S_J1L_J1X) && (second & Code_J1S_J1L_J1X)) | |
637 | ✗ | || ((first & Code_J2S_J2L_J2X) && (second & Code_J2S_J2L_J2X)) | |
638 | ✗ | || ((first & Code_J5I_J5Q_J5X) && (second & Code_J5I_J5Q_J5X)) | |
639 | ✗ | || ((first & Code_J5D_J5P_J5Z) && (second & Code_J5D_J5P_J5Z)) | |
640 | ✗ | || ((first & Code_J6S_J6L_J6X) && (second & Code_J6S_J6L_J6X)) | |
641 | ✗ | || ((first & Code_I5B_I5C_I5X) && (second & Code_I5B_I5C_I5X)) | |
642 | ✗ | || ((first & Code_I9B_I9C_I9X) && (second & Code_I9B_I9C_I9X)) | |
643 | ✗ | || ((first & Code_S5I_S5Q_S5X) && (second & Code_S5I_S5Q_S5X)); | |
644 | } | ||
645 | |||
646 | 2 | std::vector<Code> Code::GetAll() | |
647 | { | ||
648 | 2 | std::vector<Code> codes; | |
649 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | codes.reserve(COUNT); |
650 |
2/2✓ Branch 0 taken 214 times.
✓ Branch 1 taken 2 times.
|
216 | for (size_t i = 1; i < static_cast<size_t>(COUNT); i++) |
651 | { | ||
652 |
1/2✓ Branch 1 taken 214 times.
✗ Branch 2 not taken.
|
214 | codes.emplace_back(static_cast<Enum>(i)); |
653 | } | ||
654 | 2 | return codes; | |
655 | ✗ | } | |
656 | |||
657 | 3206171 | Code::Enum Code::GetCodeEnumValue(Code code) | |
658 | { | ||
659 |
1/2✓ Branch 0 taken 82238791 times.
✗ Branch 1 not taken.
|
82238791 | for (size_t i = 0; i < static_cast<size_t>(COUNT); i++) |
660 | { | ||
661 |
3/4✓ Branch 1 taken 82238791 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 3206171 times.
✓ Branch 4 taken 79032620 times.
|
82238791 | if (static_cast<Enum>(i) == code) { return static_cast<Enum>(i); } |
662 | } | ||
663 | ✗ | return Code::None; | |
664 | } | ||
665 | |||
666 | 3206171 | Code::Enum Code::getEnumValue() const | |
667 | { | ||
668 | 3206171 | return GetCodeEnumValue(*this); | |
669 | } | ||
670 | |||
671 | // ######################################################################################################################################### | ||
672 | |||
673 | 363776 | Code operator|(const Code& lhs, const Code& rhs) | |
674 | { | ||
675 | 363776 | return Code(lhs.value | rhs.value); | |
676 | } | ||
677 | 363688 | Code operator|(const Code& lhs, const Code::Enum& rhs) | |
678 | { | ||
679 |
1/2✓ Branch 1 taken 363688 times.
✗ Branch 2 not taken.
|
363688 | return Code(lhs.value | Code(rhs).value); |
680 | } | ||
681 | ✗ | Code operator|(const Code::Enum& lhs, const Code& rhs) | |
682 | { | ||
683 | ✗ | return Code(Code::Set().set(lhs, true) | rhs.value); | |
684 | } | ||
685 | |||
686 | 88 | Code& Code::operator|=(const Code& rhs) | |
687 | { | ||
688 | 88 | *this = *this | rhs; | |
689 | 88 | return *this; | |
690 | } | ||
691 | ✗ | Code& Code::operator|=(const Enum& rhs) | |
692 | { | ||
693 | ✗ | *this = *this | rhs; | |
694 | ✗ | return *this; | |
695 | } | ||
696 | |||
697 | 103968 | Code operator&(const Code& lhs, const Code& rhs) | |
698 | { | ||
699 | 103968 | return Code(lhs.value & rhs.value); | |
700 | } | ||
701 | 58784855 | Code operator&(const Code& lhs, const Code::Enum& rhs) | |
702 | { | ||
703 |
1/2✓ Branch 2 taken 58783717 times.
✗ Branch 3 not taken.
|
58784855 | return Code(lhs.value & Code::Set().set(rhs, true)); |
704 | } | ||
705 | ✗ | Code operator&(const Code::Enum& lhs, const Code& rhs) | |
706 | { | ||
707 | ✗ | return Code(Code::Set().set(lhs, true) & rhs.value); | |
708 | } | ||
709 | |||
710 | 363688 | Code operator|(const Code::Enum& lhs, const Code::Enum& rhs) | |
711 | { | ||
712 |
2/4✓ Branch 1 taken 363688 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 363688 times.
✗ Branch 5 not taken.
|
363688 | return Code(lhs) | Code(rhs); |
713 | } | ||
714 | ✗ | Code operator&(const Code::Enum& lhs, const Code::Enum& rhs) | |
715 | { | ||
716 | ✗ | return Code(lhs) & Code(rhs); | |
717 | } | ||
718 | |||
719 | ✗ | Code& Code::operator&=(const Code& rhs) | |
720 | { | ||
721 | ✗ | *this = *this & rhs; | |
722 | ✗ | return *this; | |
723 | } | ||
724 | ✗ | Code& Code::operator&=(const Enum& rhs) | |
725 | { | ||
726 | ✗ | *this = *this & rhs; | |
727 | ✗ | return *this; | |
728 | } | ||
729 | |||
730 | 55952 | Code Code::operator~() const | |
731 | { | ||
732 | 55952 | return Code(~value); | |
733 | } | ||
734 | |||
735 | // ######################################################################################################################################### | ||
736 | |||
737 | 954367141 | bool operator==(const Code& lhs, const Code& rhs) | |
738 | { | ||
739 | 954367141 | return lhs.value == rhs.value; | |
740 | } | ||
741 | |||
742 | 202276578 | bool operator==(const Code& lhs, const Code::Enum& rhs) | |
743 | { | ||
744 |
1/2✓ Branch 1 taken 202290212 times.
✗ Branch 2 not taken.
|
202276578 | return lhs.value == Code(rhs).value; |
745 | } | ||
746 | |||
747 | 82238791 | bool operator==(const Code::Enum& lhs, const Code& rhs) | |
748 | { | ||
749 |
1/2✓ Branch 1 taken 82238791 times.
✗ Branch 2 not taken.
|
82238791 | return Code(lhs).value == rhs.value; |
750 | } | ||
751 | |||
752 | ✗ | bool operator!=(const Code& lhs, const Code& rhs) | |
753 | { | ||
754 | ✗ | return !(lhs == rhs); | |
755 | } | ||
756 | |||
757 | ✗ | bool operator!=(const Code& lhs, const Code::Enum& rhs) | |
758 | { | ||
759 | ✗ | return !(lhs == rhs); | |
760 | } | ||
761 | |||
762 | ✗ | bool operator!=(const Code::Enum& lhs, const Code& rhs) | |
763 | { | ||
764 | ✗ | return !(lhs == rhs); | |
765 | } | ||
766 | |||
767 | ✗ | bool operator<(const Code& lhs, const Code& rhs) | |
768 | { | ||
769 | ✗ | return lhs.getEnumValue() < rhs.getEnumValue(); | |
770 | } | ||
771 | |||
772 | ✗ | bool operator<(const Code& lhs, const Code::Enum& rhs) | |
773 | { | ||
774 | ✗ | return lhs.getEnumValue() < rhs; | |
775 | } | ||
776 | |||
777 | ✗ | bool operator<(const Code::Enum& lhs, const Code& rhs) | |
778 | { | ||
779 | ✗ | return lhs < rhs.getEnumValue(); | |
780 | } | ||
781 | |||
782 | // ######################################################################################################################################### | ||
783 | |||
784 | ✗ | Code operator&(Code lhs, SatelliteSystem_ rhs) | |
785 | { | ||
786 | ✗ | if (rhs == SatSys_None) | |
787 | { | ||
788 | ✗ | return Code(Code::Set()); | |
789 | } | ||
790 | ✗ | if (rhs & GPS) | |
791 | { | ||
792 | ✗ | for (int i = Code::_GPS_START; i <= Code::_GPS_END; i++) { lhs &= Code(Code::Enum(i)); } | |
793 | } | ||
794 | ✗ | if (rhs & GAL) | |
795 | { | ||
796 | ✗ | for (int i = Code::_GAL_START; i <= Code::_GAL_END; i++) { lhs &= Code(Code::Enum(i)); } | |
797 | } | ||
798 | ✗ | if (rhs & GLO) | |
799 | { | ||
800 | ✗ | for (int i = Code::_GLO_START; i <= Code::_GLO_END; i++) { lhs &= Code(Code::Enum(i)); } | |
801 | } | ||
802 | ✗ | if (rhs & BDS) | |
803 | { | ||
804 | ✗ | for (int i = Code::_BDS_START; i <= Code::_BDS_END; i++) { lhs &= Code(Code::Enum(i)); } | |
805 | } | ||
806 | ✗ | if (rhs & QZSS) | |
807 | { | ||
808 | ✗ | for (int i = Code::_QZSS_START; i <= Code::_QZSS_END; i++) { lhs &= Code(Code::Enum(i)); } | |
809 | } | ||
810 | ✗ | if (rhs & IRNSS) | |
811 | { | ||
812 | ✗ | for (int i = Code::_IRNSS_START; i <= Code::_IRNSS_END; i++) { lhs &= Code(Code::Enum(i)); } | |
813 | } | ||
814 | ✗ | if (rhs & SBAS) | |
815 | { | ||
816 | ✗ | for (int i = Code::_SBAS_START; i <= Code::_SBAS_END; i++) { lhs &= Code(Code::Enum(i)); } | |
817 | } | ||
818 | |||
819 | ✗ | return lhs; | |
820 | } | ||
821 | ✗ | Code operator&(SatelliteSystem_ lhs, Code rhs) | |
822 | { | ||
823 | ✗ | return rhs & lhs; | |
824 | } | ||
825 | ✗ | Code& Code::operator&=(const SatelliteSystem_& rhs) | |
826 | { | ||
827 | ✗ | *this = *this & rhs; | |
828 | ✗ | return *this; | |
829 | } | ||
830 | ✗ | Code operator&(Code lhs, SatelliteSystem rhs) | |
831 | { | ||
832 | ✗ | return lhs & SatelliteSystem_(rhs); | |
833 | } | ||
834 | ✗ | Code operator&(SatelliteSystem lhs, Code rhs) | |
835 | { | ||
836 | ✗ | return SatelliteSystem_(lhs) & rhs; | |
837 | } | ||
838 | ✗ | Code& Code::operator&=(const SatelliteSystem& rhs) | |
839 | { | ||
840 | ✗ | *this = *this & rhs; | |
841 | ✗ | return *this; | |
842 | } | ||
843 | |||
844 | ✗ | Code operator|(Code lhs, SatelliteSystem_ rhs) | |
845 | { | ||
846 | ✗ | if (rhs == SatSys_None) | |
847 | { | ||
848 | ✗ | return lhs; | |
849 | } | ||
850 | ✗ | if (rhs & GPS) | |
851 | { | ||
852 | ✗ | for (int i = Code::_GPS_START; i <= Code::_GPS_END; i++) { lhs |= Code(Code::Enum(i)); } | |
853 | } | ||
854 | ✗ | if (rhs & GAL) | |
855 | { | ||
856 | ✗ | for (int i = Code::_GAL_START; i <= Code::_GAL_END; i++) { lhs |= Code(Code::Enum(i)); } | |
857 | } | ||
858 | ✗ | if (rhs & GLO) | |
859 | { | ||
860 | ✗ | for (int i = Code::_GLO_START; i <= Code::_GLO_END; i++) { lhs |= Code(Code::Enum(i)); } | |
861 | } | ||
862 | ✗ | if (rhs & BDS) | |
863 | { | ||
864 | ✗ | for (int i = Code::_BDS_START; i <= Code::_BDS_END; i++) { lhs |= Code(Code::Enum(i)); } | |
865 | } | ||
866 | ✗ | if (rhs & QZSS) | |
867 | { | ||
868 | ✗ | for (int i = Code::_QZSS_START; i <= Code::_QZSS_END; i++) { lhs |= Code(Code::Enum(i)); } | |
869 | } | ||
870 | ✗ | if (rhs & IRNSS) | |
871 | { | ||
872 | ✗ | for (int i = Code::_IRNSS_START; i <= Code::_IRNSS_END; i++) { lhs |= Code(Code::Enum(i)); } | |
873 | } | ||
874 | ✗ | if (rhs & SBAS) | |
875 | { | ||
876 | ✗ | for (int i = Code::_SBAS_START; i <= Code::_SBAS_END; i++) { lhs |= Code(Code::Enum(i)); } | |
877 | } | ||
878 | |||
879 | ✗ | return lhs; | |
880 | } | ||
881 | ✗ | Code operator|(SatelliteSystem_ lhs, Code rhs) | |
882 | { | ||
883 | ✗ | return rhs | lhs; | |
884 | } | ||
885 | ✗ | Code& Code::operator|=(const SatelliteSystem_& rhs) | |
886 | { | ||
887 | ✗ | *this = *this | rhs; | |
888 | ✗ | return *this; | |
889 | } | ||
890 | ✗ | Code operator|(Code lhs, SatelliteSystem rhs) | |
891 | { | ||
892 | ✗ | return lhs | SatelliteSystem_(rhs); | |
893 | } | ||
894 | ✗ | Code operator|(SatelliteSystem lhs, Code rhs) | |
895 | { | ||
896 | ✗ | return SatelliteSystem_(lhs) | rhs; | |
897 | } | ||
898 | ✗ | Code& Code::operator|=(const SatelliteSystem& rhs) | |
899 | { | ||
900 | ✗ | *this = *this | rhs; | |
901 | ✗ | return *this; | |
902 | } | ||
903 | |||
904 | // ######################################################################################################################################### | ||
905 | |||
906 | ✗ | Code operator&(Code lhs, Frequency_ rhs) | |
907 | { | ||
908 | LOG_DATA("Before ({}) & ({})", Frequency(rhs), lhs); | ||
909 | ✗ | if (rhs == Freq_None) | |
910 | { | ||
911 | ✗ | return Code(Code::Set()); | |
912 | } | ||
913 | ✗ | if (!(rhs & Frequency_::G01)) | |
914 | { | ||
915 | ✗ | for (int i = Code::_G01_START; i <= Code::_G01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
916 | } | ||
917 | ✗ | if (!(rhs & Frequency_::G02)) | |
918 | { | ||
919 | ✗ | for (int i = Code::_G02_START; i <= Code::_G02_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
920 | } | ||
921 | ✗ | if (!(rhs & Frequency_::G05)) | |
922 | { | ||
923 | ✗ | for (int i = Code::_G05_START; i <= Code::_G05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
924 | } | ||
925 | ✗ | if (!(rhs & Frequency_::E01)) | |
926 | { | ||
927 | ✗ | for (int i = Code::_E01_START; i <= Code::_E01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
928 | } | ||
929 | ✗ | if (!(rhs & Frequency_::E05)) | |
930 | { | ||
931 | ✗ | for (int i = Code::_E05_START; i <= Code::_E05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
932 | } | ||
933 | ✗ | if (!(rhs & Frequency_::E06)) | |
934 | { | ||
935 | ✗ | for (int i = Code::_E06_START; i <= Code::_E06_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
936 | } | ||
937 | ✗ | if (!(rhs & Frequency_::E07)) | |
938 | { | ||
939 | ✗ | for (int i = Code::_E07_START; i <= Code::_E07_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
940 | } | ||
941 | ✗ | if (!(rhs & Frequency_::E08)) | |
942 | { | ||
943 | ✗ | for (int i = Code::_E08_START; i <= Code::_E08_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
944 | } | ||
945 | ✗ | if (!((rhs & Frequency_::R01) || (rhs & Frequency_::R04))) | |
946 | { | ||
947 | ✗ | for (int i = Code::_R01_START; i <= Code::_R01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
948 | } | ||
949 | ✗ | if (!((rhs & Frequency_::R02) || (rhs & Frequency_::R06))) | |
950 | { | ||
951 | ✗ | for (int i = Code::_R02_START; i <= Code::_R02_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
952 | } | ||
953 | ✗ | if (!(rhs & Frequency_::R03)) | |
954 | { | ||
955 | ✗ | for (int i = Code::_R03_START; i <= Code::_R03_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
956 | } | ||
957 | ✗ | if (!(rhs & Frequency_::R04)) | |
958 | { | ||
959 | ✗ | for (int i = Code::_R04_START; i <= Code::_R04_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
960 | } | ||
961 | ✗ | if (!(rhs & Frequency_::R06)) | |
962 | { | ||
963 | ✗ | for (int i = Code::_R06_START; i <= Code::_R06_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
964 | } | ||
965 | ✗ | if (!(rhs & Frequency_::B01)) | |
966 | { | ||
967 | ✗ | for (int i = Code::_B01_START; i <= Code::_B01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
968 | } | ||
969 | ✗ | if (!(rhs & Frequency_::B02)) | |
970 | { | ||
971 | ✗ | for (int i = Code::_B02_START; i <= Code::_B02_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
972 | } | ||
973 | ✗ | if (!(rhs & Frequency_::B05)) | |
974 | { | ||
975 | ✗ | for (int i = Code::_B05_START; i <= Code::_B05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
976 | } | ||
977 | ✗ | if (!(rhs & Frequency_::B06)) | |
978 | { | ||
979 | ✗ | for (int i = Code::_B06_START; i <= Code::_B06_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
980 | } | ||
981 | ✗ | if (!(rhs & Frequency_::B07)) | |
982 | { | ||
983 | ✗ | for (int i = Code::_B07_START; i <= Code::_B07_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
984 | } | ||
985 | ✗ | if (!(rhs & Frequency_::B08)) | |
986 | { | ||
987 | ✗ | for (int i = Code::_B08_START; i <= Code::_B08_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
988 | } | ||
989 | ✗ | if (!(rhs & Frequency_::J01)) | |
990 | { | ||
991 | ✗ | for (int i = Code::_J01_START; i <= Code::_J01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
992 | } | ||
993 | ✗ | if (!(rhs & Frequency_::J02)) | |
994 | { | ||
995 | ✗ | for (int i = Code::_J02_START; i <= Code::_J02_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
996 | } | ||
997 | ✗ | if (!(rhs & Frequency_::J05)) | |
998 | { | ||
999 | ✗ | for (int i = Code::_J05_START; i <= Code::_J05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1000 | } | ||
1001 | ✗ | if (!(rhs & Frequency_::J06)) | |
1002 | { | ||
1003 | ✗ | for (int i = Code::_J06_START; i <= Code::_J06_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1004 | } | ||
1005 | ✗ | if (!(rhs & Frequency_::I05)) | |
1006 | { | ||
1007 | ✗ | for (int i = Code::_I05_START; i <= Code::_I05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1008 | } | ||
1009 | ✗ | if (!(rhs & Frequency_::I09)) | |
1010 | { | ||
1011 | ✗ | for (int i = Code::_I09_START; i <= Code::_I09_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1012 | } | ||
1013 | ✗ | if (!(rhs & Frequency_::S01)) | |
1014 | { | ||
1015 | ✗ | for (int i = Code::_S01_START; i <= Code::_S01_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1016 | } | ||
1017 | ✗ | if (!(rhs & Frequency_::S05)) | |
1018 | { | ||
1019 | ✗ | for (int i = Code::_S05_START; i <= Code::_S05_END; i++) { lhs &= ~Code(Code::Enum(i)); } | |
1020 | } | ||
1021 | LOG_DATA("After ({}) & ({})", Frequency(rhs), lhs); | ||
1022 | |||
1023 | ✗ | return lhs; | |
1024 | } | ||
1025 | ✗ | Code operator&(Frequency_ lhs, Code rhs) | |
1026 | { | ||
1027 | ✗ | return rhs & lhs; | |
1028 | } | ||
1029 | ✗ | Code& Code::operator&=(const Frequency_& rhs) | |
1030 | { | ||
1031 | ✗ | *this = *this & rhs; | |
1032 | ✗ | return *this; | |
1033 | } | ||
1034 | ✗ | Code operator&(Code lhs, Frequency rhs) | |
1035 | { | ||
1036 | ✗ | return lhs & Frequency_(rhs); | |
1037 | } | ||
1038 | ✗ | Code operator&(Frequency lhs, Code rhs) | |
1039 | { | ||
1040 | ✗ | return Frequency_(lhs) & rhs; | |
1041 | } | ||
1042 | ✗ | Code& Code::operator&=(const Frequency& rhs) | |
1043 | { | ||
1044 | ✗ | *this = *this & rhs; | |
1045 | ✗ | return *this; | |
1046 | } | ||
1047 | |||
1048 | 12 | Code operator|(Code lhs, Frequency_ rhs) | |
1049 | { | ||
1050 | LOG_DATA("Before ({}) & ({})", Frequency(rhs), lhs); | ||
1051 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
|
12 | if (rhs == Freq_None) |
1052 | { | ||
1053 | ✗ | return lhs; | |
1054 | } | ||
1055 |
2/2✓ Branch 1 taken 4 times.
✓ Branch 2 taken 8 times.
|
12 | if (rhs & Frequency_::G01) |
1056 | { | ||
1057 |
3/4✓ Branch 1 taken 36 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 36 times.
✓ Branch 5 taken 4 times.
|
40 | for (int i = Code::_G01_START; i <= Code::_G01_END; i++) { lhs |= Code(Code::Enum(i)); } |
1058 | } | ||
1059 |
2/2✓ Branch 1 taken 4 times.
✓ Branch 2 taken 8 times.
|
12 | if (rhs & Frequency_::G02) |
1060 | { | ||
1061 |
3/4✓ Branch 1 taken 40 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 40 times.
✓ Branch 5 taken 4 times.
|
44 | for (int i = Code::_G02_START; i <= Code::_G02_END; i++) { lhs |= Code(Code::Enum(i)); } |
1062 | } | ||
1063 |
2/2✓ Branch 1 taken 4 times.
✓ Branch 2 taken 8 times.
|
12 | if (rhs & Frequency_::G05) |
1064 | { | ||
1065 |
3/4✓ Branch 1 taken 12 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 12 times.
✓ Branch 5 taken 4 times.
|
16 | for (int i = Code::_G05_START; i <= Code::_G05_END; i++) { lhs |= Code(Code::Enum(i)); } |
1066 | } | ||
1067 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::E01) |
1068 | { | ||
1069 | ✗ | for (int i = Code::_E01_START; i <= Code::_E01_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1070 | } | ||
1071 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::E05) |
1072 | { | ||
1073 | ✗ | for (int i = Code::_E05_START; i <= Code::_E05_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1074 | } | ||
1075 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::E06) |
1076 | { | ||
1077 | ✗ | for (int i = Code::_E06_START; i <= Code::_E06_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1078 | } | ||
1079 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::E07) |
1080 | { | ||
1081 | ✗ | for (int i = Code::_E07_START; i <= Code::_E07_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1082 | } | ||
1083 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::E08) |
1084 | { | ||
1085 | ✗ | for (int i = Code::_E08_START; i <= Code::_E08_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1086 | } | ||
1087 |
3/6✓ Branch 1 taken 12 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
|
12 | if ((rhs & Frequency_::R01) || (rhs & Frequency_::R04)) |
1088 | { | ||
1089 | ✗ | for (int i = Code::_R01_START; i <= Code::_R01_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1090 | } | ||
1091 |
3/6✓ Branch 1 taken 12 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 12 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 12 times.
|
12 | if ((rhs & Frequency_::R02) || (rhs & Frequency_::R06)) |
1092 | { | ||
1093 | ✗ | for (int i = Code::_R02_START; i <= Code::_R02_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1094 | } | ||
1095 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::R03) |
1096 | { | ||
1097 | ✗ | for (int i = Code::_R03_START; i <= Code::_R03_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1098 | } | ||
1099 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::R04) |
1100 | { | ||
1101 | ✗ | for (int i = Code::_R04_START; i <= Code::_R04_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1102 | } | ||
1103 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::R06) |
1104 | { | ||
1105 | ✗ | for (int i = Code::_R06_START; i <= Code::_R06_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1106 | } | ||
1107 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B01) |
1108 | { | ||
1109 | ✗ | for (int i = Code::_B01_START; i <= Code::_B01_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1110 | } | ||
1111 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B02) |
1112 | { | ||
1113 | ✗ | for (int i = Code::_B02_START; i <= Code::_B02_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1114 | } | ||
1115 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B05) |
1116 | { | ||
1117 | ✗ | for (int i = Code::_B05_START; i <= Code::_B05_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1118 | } | ||
1119 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B06) |
1120 | { | ||
1121 | ✗ | for (int i = Code::_B06_START; i <= Code::_B06_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1122 | } | ||
1123 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B07) |
1124 | { | ||
1125 | ✗ | for (int i = Code::_B07_START; i <= Code::_B07_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1126 | } | ||
1127 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::B08) |
1128 | { | ||
1129 | ✗ | for (int i = Code::_B08_START; i <= Code::_B08_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1130 | } | ||
1131 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::J01) |
1132 | { | ||
1133 | ✗ | for (int i = Code::_J01_START; i <= Code::_J01_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1134 | } | ||
1135 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::J02) |
1136 | { | ||
1137 | ✗ | for (int i = Code::_J02_START; i <= Code::_J02_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1138 | } | ||
1139 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::J05) |
1140 | { | ||
1141 | ✗ | for (int i = Code::_J05_START; i <= Code::_J05_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1142 | } | ||
1143 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::J06) |
1144 | { | ||
1145 | ✗ | for (int i = Code::_J06_START; i <= Code::_J06_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1146 | } | ||
1147 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::I05) |
1148 | { | ||
1149 | ✗ | for (int i = Code::_I05_START; i <= Code::_I05_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1150 | } | ||
1151 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::I09) |
1152 | { | ||
1153 | ✗ | for (int i = Code::_I09_START; i <= Code::_I09_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1154 | } | ||
1155 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::S01) |
1156 | { | ||
1157 | ✗ | for (int i = Code::_S01_START; i <= Code::_S01_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1158 | } | ||
1159 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 12 times.
|
12 | if (rhs & Frequency_::S05) |
1160 | { | ||
1161 | ✗ | for (int i = Code::_S05_START; i <= Code::_S05_END; i++) { lhs |= Code(Code::Enum(i)); } | |
1162 | } | ||
1163 | LOG_DATA("After ({}) & ({})", Frequency(rhs), lhs); | ||
1164 | |||
1165 | 12 | return lhs; | |
1166 | } | ||
1167 | ✗ | Code operator|(Frequency_ lhs, Code rhs) | |
1168 | { | ||
1169 | ✗ | return rhs | lhs; | |
1170 | } | ||
1171 | ✗ | Code& Code::operator|=(const Frequency_& rhs) | |
1172 | { | ||
1173 | ✗ | *this = *this | rhs; | |
1174 | ✗ | return *this; | |
1175 | } | ||
1176 | ✗ | Code operator|(Code lhs, Frequency rhs) | |
1177 | { | ||
1178 | ✗ | return lhs | Frequency_(rhs); | |
1179 | } | ||
1180 | ✗ | Code operator|(Frequency lhs, Code rhs) | |
1181 | { | ||
1182 | ✗ | return Frequency_(lhs) | rhs; | |
1183 | } | ||
1184 | ✗ | Code& Code::operator|=(const Frequency& rhs) | |
1185 | { | ||
1186 | ✗ | *this = *this | rhs; | |
1187 | ✗ | return *this; | |
1188 | } | ||
1189 | |||
1190 | ✗ | void to_json(json& j, const Code& data) | |
1191 | { | ||
1192 | ✗ | j = Code::Set(data).to_string(); | |
1193 | ✗ | } | |
1194 | 16 | void from_json(const json& j, Code& data) | |
1195 | { | ||
1196 |
2/4✓ Branch 1 taken 16 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
|
16 | data = Code(Code::Set(j.get<std::string>())); |
1197 | 16 | } | |
1198 | |||
1199 | ✗ | bool ShowCodeSelector(const char* label, Code& code, const Frequency& filterFreq, bool singleSelect) | |
1200 | { | ||
1201 | ✗ | bool valueChanged = false; | |
1202 | ✗ | if (ImGui::BeginCombo(label, std::string(code).c_str(), ImGuiComboFlags_HeightLargest)) | |
1203 | { | ||
1204 | ✗ | if (ImGui::BeginTable(fmt::format("{} Table", label).c_str(), 7, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) | |
1205 | { | ||
1206 | ✗ | ImGui::TableSetupScrollFreeze(0, 1); | |
1207 | ✗ | for (uint64_t satSys = 0xFF; satSys < 0xFFUL << (7 * 8); satSys = satSys << 8UL) | |
1208 | { | ||
1209 | ✗ | ImGui::TableSetupColumn(std::string(SatelliteSystem(SatelliteSystem_(satSys))).c_str()); | |
1210 | } | ||
1211 | ✗ | ImGui::TableHeadersRow(); | |
1212 | ✗ | ImGui::TableNextRow(); | |
1213 | ✗ | for (int satSys = 0; satSys < 7; satSys++) | |
1214 | { | ||
1215 | ✗ | ImGui::TableSetColumnIndex(satSys); | |
1216 | ✗ | for (uint64_t f = 0; f < 8; f++) | |
1217 | { | ||
1218 | ✗ | uint64_t flag = (1UL << (f + static_cast<uint64_t>(satSys) * 8)); | |
1219 | ✗ | auto frequency = Frequency(Frequency_(flag)); | |
1220 | ✗ | auto text = std::string(frequency); | |
1221 | ✗ | if (text == "None") | |
1222 | { | ||
1223 | ✗ | continue; | |
1224 | } | ||
1225 | ✗ | bool hasCode = false; | |
1226 | ✗ | for (int c = 0; c < Code::COUNT; c++) | |
1227 | { | ||
1228 | ✗ | auto co = Code(Code::Enum(c)); | |
1229 | ✗ | if (co.getFrequency() == frequency) | |
1230 | { | ||
1231 | ✗ | hasCode = true; | |
1232 | ✗ | break; | |
1233 | } | ||
1234 | } | ||
1235 | ✗ | if (hasCode) | |
1236 | { | ||
1237 | ✗ | ImGui::Text("%s", text.c_str()); | |
1238 | ✗ | if (!(frequency & filterFreq)) | |
1239 | { | ||
1240 | ✗ | ImGui::PushStyleVar(ImGuiStyleVar_Alpha, ImGui::GetStyle().Alpha * 0.6F); | |
1241 | } | ||
1242 | ✗ | ImGui::Indent(); | |
1243 | ✗ | for (int c = 0; c < Code::COUNT; c++) | |
1244 | { | ||
1245 | ✗ | auto co = Code(Code::Enum(c)); | |
1246 | ✗ | if (co.getFrequency() == frequency) | |
1247 | { | ||
1248 | ✗ | auto checked = bool(co & code); | |
1249 | ✗ | if (c > 0 && Code::IsCodeCombined(Code(Code::Enum(c - 1)), co)) | |
1250 | { | ||
1251 | ✗ | ImGui::SameLine(); | |
1252 | } | ||
1253 | ✗ | if (ImGui::Checkbox(std::string(co).c_str(), &checked) && (frequency & filterFreq)) | |
1254 | { | ||
1255 | ✗ | if (checked) | |
1256 | { | ||
1257 | ✗ | if (singleSelect) { code = co; } | |
1258 | ✗ | else { code |= co; } | |
1259 | ✗ | valueChanged = true; | |
1260 | } | ||
1261 | ✗ | else if (!singleSelect) | |
1262 | { | ||
1263 | ✗ | code &= ~co; | |
1264 | ✗ | valueChanged = true; | |
1265 | } | ||
1266 | } | ||
1267 | ✗ | if (ImGui::IsItemHovered()) | |
1268 | { | ||
1269 | ✗ | ImGui::SetTooltip("%s", co.getDescription()); | |
1270 | } | ||
1271 | } | ||
1272 | } | ||
1273 | ✗ | ImGui::Unindent(); | |
1274 | ✗ | if (!(frequency & filterFreq)) | |
1275 | { | ||
1276 | ✗ | ImGui::PopStyleVar(); | |
1277 | } | ||
1278 | } | ||
1279 | ✗ | } | |
1280 | } | ||
1281 | |||
1282 | ✗ | ImGui::EndTable(); | |
1283 | } | ||
1284 | ✗ | ImGui::EndCombo(); | |
1285 | } | ||
1286 | ✗ | return valueChanged; | |
1287 | } | ||
1288 | |||
1289 | } // namespace NAV | ||
1290 | |||
1291 | ✗ | std::ostream& operator<<(std::ostream& os, const NAV::Code& obj) | |
1292 | { | ||
1293 | ✗ | return os << fmt::format("{}", obj); | |
1294 | } | ||
1295 |