Skip to content

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 LogPrinted 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

Review Status

cc @david-keitel

Edited by Karl Wette

Merge request reports