Files
Filip Leonarski 27496b8207
All checks were successful
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 8m9s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 8m44s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 7m56s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 7m25s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 7m57s
Build Packages / Generate python client (push) Successful in 18s
Build Packages / Build documentation (push) Successful in 35s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 8m28s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m6s
Build Packages / Unit tests (push) Successful in 1h11m19s
Build Packages / build:rpm (rocky8) (push) Successful in 6m31s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 6m40s
v1.0.0-rc.122 (#29)
This is an UNSTABLE release.

* jfjoch_broker: Add thresholding to prefer shorter vectors after FFT
* jfjoch_broker: Add experimental mosaicity estimation for rotation experiments (this is work in progress)
* jfjoch_viewer: Display file opening errors
* jfjoch_viewer: When loading files over DBus add retry/back-off till the file is available

Reviewed-on: #29
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
2025-12-16 15:27:40 +01:00

26 lines
884 B
C

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_SYSTEMATICABSENCE_H
#define JFJOCH_SYSTEMATICABSENCE_H
static inline bool odd_int(int v) { return (v & 1) != 0; }
static inline bool systematic_absence(int h, int k, int l, char centering) {
if (h == 0 && k == 0 && l == 0) return true;
switch (centering) {
case 'I': return odd_int(h + k + l);
case 'A': return odd_int(k + l);
case 'B': return odd_int(h + l);
case 'C': return odd_int(h + k);
case 'F': return (odd_int(h + k) || odd_int(h + l) || odd_int(k + l));
case 'R': {
int mod = (-h + k + l) % 3;
if (mod < 0) mod += 3;
return mod != 0;
}
default: return false; // P
}
}
#endif //JFJOCH_SYSTEMATICABSENCE_H