Commit graph

77 commits

Author SHA1 Message Date
Allan Bazinet
3e552afe97 Use concepts for FP restrictions 2025-02-09 05:52:02 -08:00
Allan Bazinet
0c7efeb486 Spelling 2024-12-19 14:30:52 -08:00
Allan Bazinet
094f583e74 Use correct type for QStringView offset 2024-12-19 10:40:10 -08:00
Allan Bazinet
16c3947a84 Correct includes 2024-12-19 09:55:04 -08:00
Allan Bazinet
3ab8a15cd1 Templatize and check bounds of offset 2024-12-19 09:37:05 -08:00
Allan Bazinet
f8672f2cd6 Extract common grid to integer conversion 2024-12-19 07:21:11 -08:00
Allan Bazinet
b639455d45 Use common include ordering 2024-11-21 10:24:04 -08:00
Allan Bazinet
85e518f359 Spelling 2024-11-21 07:49:29 -08:00
Allan Bazinet
ba8c1811bb Cleanup and commentary 2024-11-21 07:07:16 -08:00
Allan Bazinet
4f053e1f3a Push trimming logic to caller 2024-11-21 00:28:56 -08:00
Allan Bazinet
e8dac09f8c Collapse Maidenhead validation 2024-11-20 18:18:53 -08:00
Allan Bazinet
475fb34e33 Add invalid test case 2024-11-20 10:15:45 -08:00
Allan Bazinet
b711dffcfb Update commentary 2024-11-19 21:06:28 -08:00
Allan Bazinet
92c4b58714 Do even / odd check first 2024-11-19 20:25:20 -08:00
Allan Bazinet
76e5dcdeeb Use range pattern for size check 2024-11-19 18:20:54 -08:00
Allan Bazinet
c94e006404 Update validator commentary 2024-11-19 18:08:37 -08:00
Allan Bazinet
873ff8d889 Document translation responsibilities 2024-11-19 18:07:01 -08:00
Allan Bazinet
b4074b0647 Update commentary for 12-character validation 2024-11-19 18:01:54 -08:00
Allan Bazinet
a4d4106e84 Validate grids up to 12 characters 2024-11-19 17:42:18 -08:00
Allan Bazinet
d59da556a0 Simplify compass table name 2024-11-19 16:58:09 -08:00
Allan Bazinet
c6e3a11f3a Return QStringView from compass() 2024-11-19 16:54:13 -08:00
Allan Bazinet
e96ddb23eb Add compass convenience accessor 2024-11-19 16:03:37 -08:00
Allan Bazinet
8607e998f0 Allow any grid length
Well, not any. Has be be at least 4,  and has to be valid in terms of Maidenhead format up to the standard limit of 8 if it’s above 4.
2024-11-19 15:04:08 -08:00
Allan Bazinet
ba29ad6ecd Correct commentary 2024-11-19 13:08:56 -08:00
Allan Bazinet
13fd567046 Handle extended Maidenhead squares
Up to 8 characters, that is, per the standard.
2024-11-19 12:17:27 -08:00
Allan Bazinet
59a0b700fa Commentary 2024-11-19 07:52:45 -08:00
Allan Bazinet
cb008cd7cc Simplify valid() function 2024-11-19 07:48:56 -08:00
Allan Bazinet
c046c5b104 Separate valid / invalid test cases 2024-11-19 06:36:13 -08:00
Allan Bazinet
bcf3869420 Use auto return type 2024-11-19 06:22:14 -08:00
Allan Bazinet
43c89290ef Commentary 2024-11-19 06:17:53 -08:00
Allan Bazinet
95b15f3acb Reimplement valid() function
Convert to a noexcept, constexpr function that we can validate completely, with exhaustive test cases, at compile time.
2024-11-19 06:07:24 -08:00
Allan Bazinet
ac106710e8 Hoist FF64 computation to compile time 2024-11-18 11:40:47 -08:00
Allan Bazinet
875f7698df Pass coords by value, not reference
Coords class is just two floats in size, i.e., 8 bytes total. Pass by value, not by reference.
2024-11-18 11:31:02 -08:00
Allan Bazinet
fc24cc1cbf Correct Qt 6.5 matchView() commentary 2024-11-18 11:09:56 -08:00
Allan Bazinet
cff319f049 Use common m_ convention for instance variables 2024-11-18 11:00:23 -08:00
Allan Bazinet
4fd3d36f8a Use correct Unicode constant, not ASCII version 2024-11-18 10:50:15 -08:00
Allan Bazinet
a0b67e2655 Rename range of degress to….range.
Naming things is hard.
2024-11-18 10:37:54 -08:00
Allan Bazinet
222ca1c820 Document longitude antipodes calculation 2024-11-18 10:28:35 -08:00
Allan Bazinet
7f0374910f Break out longitude difference for clarity 2024-11-18 09:58:24 -08:00
Allan Bazinet
5ac818bb34 Document Thomas algorithm 2024-11-18 09:42:33 -08:00
Allan Bazinet
9f51920918 Add memory cost estimate calculations 2024-11-18 09:13:11 -08:00
Allan Bazinet
8ed06f3f05 Commentary 2024-11-18 08:58:00 -08:00
Allan Bazinet
85b8a28f90 Precompute displayable units to string views 2024-11-18 08:55:54 -08:00
Allan Bazinet
149892461b Move nint() to point of use 2024-11-18 08:44:51 -08:00
Allan Bazinet
a1cc2a6d38 Move to new nint() template function 2024-11-18 08:40:53 -08:00
Allan Bazinet
d9d75b81b0 Corrections to close distance presentation 2024-11-18 08:12:33 -08:00
Allan Bazinet
f477250dda Move sanity checks to Coords class 2024-11-18 07:56:28 -08:00
Allan Bazinet
79aea44af6 Collapse azdist() and geodist() functions 2024-11-18 07:27:07 -08:00
Allan Bazinet
ebbf73186b Eliminate redundant epsilon lat/lon check 2024-11-18 07:05:19 -08:00
Allan Bazinet
066df8b54b Avoid intermediate ASCII conversion and padding 2024-11-18 06:51:33 -08:00