SpaceGroupTest: Fix systematic absences test
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Failing after 8m51s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Failing after 9m16s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Failing after 8m35s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Failing after 9m28s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Failing after 10m15s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Failing after 9m23s
Build Packages / Generate python client (pull_request) Successful in 21s
Build Packages / Build documentation (pull_request) Successful in 1m5s
Build Packages / build:rpm (rocky8) (pull_request) Failing after 9m0s
Build Packages / Create release (pull_request) Has been skipped
Build Packages / build:rpm (rocky9) (pull_request) Failing after 9m32s
Build Packages / build:rpm (ubuntu2204) (pull_request) Failing after 9m50s
Build Packages / build:rpm (ubuntu2404) (pull_request) Failing after 9m35s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 8m46s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 8m24s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 7m45s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 9m16s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 8m38s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 8m52s
Build Packages / build:rpm (rocky8) (push) Failing after 9m13s
Build Packages / build:rpm (rocky9) (push) Failing after 9m10s
Build Packages / Generate python client (push) Successful in 25s
Build Packages / Build documentation (push) Successful in 49s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Failing after 8m31s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 8m1s
Build Packages / Unit tests (push) Successful in 55m41s
Build Packages / Unit tests (pull_request) Failing after 3h5m24s

This commit is contained in:
2026-03-06 22:27:55 +01:00
parent f1b172a34c
commit 89e5c3e096
3 changed files with 219 additions and 34 deletions
+11 -4
View File
@@ -69,9 +69,10 @@ namespace {
if (h == 0 && k == 0 && l == 0)
continue;
bool absent = false;
gemmi::Op::Miller hkl{{h, k, l}};
if (gops.is_systematically_absent(hkl))
continue;
absent = true;
const auto [asu, sign_plus] = rasu.to_asu_sign(hkl, gops);
if (!sign_plus)
@@ -86,7 +87,7 @@ namespace {
.h = h,
.k = k,
.l = l,
.I = SyntheticIntensityFromAsu(asu),
.I = absent ? 0.0 : SyntheticIntensityFromAsu(asu),
.sigma = 1.0,
.d = CalcSyntheticD(h, k, l)
});
@@ -110,10 +111,13 @@ TEST_CASE("SearchSpaceGroup detects synthetic space groups") {
{"P 3 2 1", "P321"},
{"P 4 2 2", "P422"},
{"P 4 3 2", "P432"},
{"P 43 21 2", "P43212"},
{"P 6 2 2", "P622"},
{"C 1 2 1", "C2"},
{"C 2 2 2", "C222"},
{"I 4 3 2", "I432"},
{"I 21 21 21", "I212121"},
{"I 2 1 3", "I213"},
};
for (const auto& tc : cases) {
@@ -130,8 +134,11 @@ TEST_CASE("SearchSpaceGroup detects synthetic space groups") {
opt.min_pairs_per_operator = 20;
opt.min_total_compared = 80;
opt.test_systematic_absences = true;
opt.max_mean_absent_i_over_sigma = 0.1;
opt.max_absent_violations = 0;
opt.absence_resolution_bins = 10;
opt.min_absent_reflections_per_bin = 5;
opt.min_allowed_reflections_per_bin = 10;
opt.max_absent_to_allowed_i_over_sigma_ratio = 0.05;
opt.max_absent_to_allowed_i_over_sigma_ratio_in_any_bin = 0.10;
const auto result = SearchSpaceGroup(merged, opt);