LatticeTiling: better progress printing when counting templates / add function XLALGetLatticeTilingBound()
Description
This MR implements improved progress printing for LatticeTiling when counting templates. The parameter space volume covered so far is estimated, and progress is printed based on whether the volume covered has increases geometrically (i.e. a factor of 3) or arithmetically (i.e. 5% of the total volume) since the last time progress was printed. If LatticeTiling has been given a parameter space which is very large, the factor of 3 criteria will ensure progress is printed even if a very small fraction of parameter space has been printed, which helps with diagnostics. On the other hand, the 5% criteria limits the printed output from being too verbose.
By default progress is LogPrint
ed at the LOG_DEBUG
level so it not shown by default, but codes can set the LatticeTilingProgressLogLevel
variable to change the level, e.g. to LOG_NORMAL
to always print progress.
Update: this MR also adds a new function XLALGetLatticeTilingBound()
, which returns the parameter space bounds fur use in debugging, plotting, etc.
API Changes and Justification
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
Adds a new public variable LatticeTilingProgressLogLevel
.
Update: adds a new function XLALGetLatticeTilingBound()
.
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module