4319b4ad696caec78d957f36587b97a4caf7b8eb
ToInt() previously wrapped strtol() with a nullptr endptr, so a failed conversion was indistinguishable from a legitimate 0 (matching the old TString::Atoi() behaviour). Switch the implementation to std::from_chars and add an optional `bool *ok` out-parameter that reports success: it is set to false on a non-numeric string or an out-of-range value, true otherwise. Leading whitespace is skipped and trailing characters are ignored, preserving the Atoi-like prefix semantics. The parameter defaults to nullptr, so existing call sites keep compiling unchanged. Convert the parse-validation call sites in PMsrHandler to the single -parse ToInt(token, &ok) form, replacing the IsInt() guard + separate ToInt() (which parsed every token twice). All downstream >0 / >=0 / range / enum checks are preserved. Left untouched the call sites where IsInt() acts as a structural discriminator rather than a numeric validator (write path, xy-data index-vs-label, fParamInUse usage scans) and the IsFloat-guarded ToInt offsets, where switching to ToInt(&ok) would change parsing semantics. All 85 integration tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
musrfit - muSR and beta-NMR data analysis package
Contents
This is a data analysis package to analyze time differential muSR and beta-NMR data. Currently it allows the following:
- set up most commonly used fitting functions for muSR and beta-NMR
- fit data, including global fits
- show the fit results and the residuals
- show the Fourier transform of the data
- easily extract the fit parameters and import in other programs (gnuplot, qtiplot/origin, ...)
- generate input fitting files for follow-up runs
- generate global input fitting files based on a single run template
- implement more sophisticated user functions (e.g. GL vortex lattice, Meissner screening including low-energy muon stopping profiles)
Currently supported platforms:
- Linux
- Mac OS X
- Windows 10 1809 or newer - current state is for the commited ones
- Web based implementation - http://musruser.psi.ch/cgi-bin/musrfit.cgi
Documentation
For a more exhaustive user documentation see:
https://lmu.pages.psi.ch/musrfit-docu/index.html
Contacts
For the beta-NMR related parts, please contact Zaher Salman zaher.salman@psi.ch
Releases
4
v1.9.9 - Stable 06/25
Latest
Languages
C++
88.3%
Wolfram Language
6.5%
C
2.5%
CMake
1.7%
Perl
0.5%
Other
0.4%