diff options
| author | mzuenni <michi.zuendorf@gmail.com> | 2024-08-10 23:38:14 +0200 |
|---|---|---|
| committer | mzuenni <michi.zuendorf@gmail.com> | 2024-08-10 23:38:14 +0200 |
| commit | 497dc5e137b908e694c55bdd7a18842484939e7b (patch) | |
| tree | 581a8246c8cb6f89c70ecc5c03c775be23373f0b /test/geometry | |
| parent | 6285c377d819cbcf1883d3496e7f7d461b29e171 (diff) | |
more tests
Diffstat (limited to 'test/geometry')
| -rw-r--r-- | test/geometry/spheres.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/geometry/spheres.cpp b/test/geometry/spheres.cpp new file mode 100644 index 0000000..16e0ebd --- /dev/null +++ b/test/geometry/spheres.cpp @@ -0,0 +1,28 @@ +#include "../util.h" +constexpr double PI = acos(-1.0); +#pragma GCC diagnostic ignored "-Wshadow" +#include <geometry/spheres.cpp> + +void test_consistent() { + ll queries = 0; + for (int tries = 0; tries < 100'000; tries++) { + auto pLat = Random::real<double>(-180, 180); + auto pLon = Random::real<double>(0, 360); + auto qLat = Random::real<double>(-180, 180); + auto qLon = Random::real<double>(0, 360); + + point p(pLat, pLon); + point q(qLat, qLon); + + auto gotA = gcDist(pLat, pLon, qLat, qLon, 1); + auto gotB = gcDist(p, q); + + if (abs(gotA - gotB) > 1e-6) cerr << "gotA: " << gotA << ", gotB: " << gotB << FAIL; + queries++; + } + cerr << "tested random: " << queries << endl; +} + +int main() { + test_consistent(); +} |
