Commit d39b5b8f authored by David Keitel's avatar David Keitel

Merge branch 'doxygen-fstat' into 'master'

Include ComputeFstat Demod hotloops in Doxygen

See merge request lscsoft/lalsuite!523
parents 1f00629f 60f99127
Pipeline #35782 failed with stages
in 112 minutes and 6 seconds
......@@ -85,7 +85,7 @@ typedef struct tagFstatInputVector {
/// Not all options are supported by all \f$\mathcal{F}\f$-statistic methods.
///
typedef enum tagFstatQuantities {
FSTATQ_NONE = 0x00, ///< Dont compute F-statistic, still compute buffered quantities
FSTATQ_NONE = 0x00, ///< Do not compute \f$\mathcal{F}\f$-statistic, still compute buffered quantities
FSTATQ_2F = 0x01, ///< Compute multi-detector \f$2\mathcal{F}\f$.
FSTATQ_FAFB = 0x02, ///< Compute multi-detector \f$F_a\f$ and \f$F_b\f$.
FSTATQ_2F_PER_DET = 0x04, ///< Compute \f$2\mathcal{F}\f$ for each detector.
......@@ -95,7 +95,7 @@ typedef enum tagFstatQuantities {
} FstatQuantities;
///
/// Different methods available to compute the F-statistic, falling into two broad classes:
/// Different methods available to compute the \f$\mathcal{F}\f$-statistic, falling into two broad classes:
/// * \a Demod: Dirichlet kernel-based demodulation \cite Williams1999
/// * \a Resamp: FFT-based resampling \cite JKS98
///
......@@ -316,7 +316,7 @@ static char FstatTimingGenericHelp[] =
#endif
#define TIMING_MODEL_MAX_VARS 10
/// Struct to carry the F-statistic method-specific timing *model* in terms of
/// Struct to carry the \f$\mathcal{F}\f$-statistic method-specific timing *model* in terms of
/// a list of variable names and corresponding REAL4 values, including a help-string documenting
/// the timing model variables.
/// See https://dcc.ligo.org/LIGO-T1600531-v4 for a more detailed discussion of the F-stat timing model.
......
......@@ -31,6 +31,15 @@
#include <lal/LogPrintf.h>
#include <lal/SinCosLUT.h>
///
/// \defgroup ComputeFstat_Demod_c Module ComputeFstat_Demod.c
/// \ingroup ComputeFstat_h
/// \brief Implements the \a Demod Dirichlet kernel-based demodulation algorithm
/// for computing the \f$\mathcal{F}\f$-statistic \cite Williams1999
///
// @{
// ========== Demod internals ==========
// ----- local types ----------
......@@ -551,3 +560,5 @@ XLALDestroyFstatInputTimeslice_Demod ( void *method_data )
return;
} // XLALDestroyFstatInputTimeslice_Demod()
// @}
......@@ -29,7 +29,14 @@
// must be #included last, as it redefines meaning of 'vector'
#include <altivec.h>
// ----- Akos hotloop Altivec code (Dterms=8) ----------
///
/// \file ComputeFstat_DemodHL_Altivec.c
/// \ingroup ComputeFstat_Demod_c
/// \brief Akos hotloop Altivec code (Dterms=8)
///
/// \snippet ComputeFstat_DemodHL_Altivec.i hotloop
///
#define FUNC XLALComputeFaFb_Altivec
#define HOTLOOP_SOURCE "ComputeFstat_DemodHL_Altivec.i"
#include "ComputeFstat_Demod_ComputeFaFb.c"
......@@ -17,6 +17,7 @@
// MA 02111-1307 USA
//
/// [hotloop]
{
{
REAL4 s_alpha, c_alpha; /* sin(2pi kappa_alpha) and (cos(2pi kappa_alpha)-1) */
......@@ -104,3 +105,4 @@
XLALSinCos2PiLUT( &imagQ, &realQ, _lambda_alpha );
}
}
/// [hotloop]
......@@ -26,7 +26,14 @@
#include <lal/Factorial.h>
#include <lal/SinCosLUT.h>
// ----- old (pre-Akos) LALDemod hotloop variant (unrestricted Dterms) ----------
///
/// \file ComputeFstat_DemodHL_Generic.c
/// \ingroup ComputeFstat_Demod_c
/// \brief Old (pre-Akos) LALDemod hotloop variant (unrestricted Dterms)
///
/// \snippet ComputeFstat_DemodHL_Generic.i hotloop
///
#define FUNC XLALComputeFaFb_Generic
#define HOTLOOP_SOURCE "ComputeFstat_DemodHL_Generic.i"
#include "ComputeFstat_Demod_ComputeFaFb.c"
......@@ -17,6 +17,7 @@
// MA 02111-1307 USA
//
/// [hotloop]
{
/* old 'vanilla' (pre-Akos) LALDemod hotloop algorithm, unrestricted
* Dterms: based on version 5b0343e65a5a820d3e21a2afd9ba72123b05309c of
......@@ -61,3 +62,4 @@
/* real- and imaginary part of e^{i 2 pi lambda_alpha } */
XLALSinCos2PiLUT ( &imagQ, &realQ, lambda_alpha );
}
/// [hotloop]
......@@ -26,7 +26,14 @@
#include <lal/Factorial.h>
#include <lal/SinCosLUT.h>
// ----- Akos generic hotloop code (Dterms <= 20) ----------
///
/// \file ComputeFstat_DemodHL_OptC.c
/// \ingroup ComputeFstat_Demod_c
/// \brief Akos generic hotloop code (Dterms <= 20)
///
/// \snippet ComputeFstat_DemodHL_OptC.i hotloop
///
#define FUNC XLALComputeFaFb_OptC
#define HOTLOOP_SOURCE "ComputeFstat_DemodHL_OptC.i"
#include "ComputeFstat_Demod_ComputeFaFb.c"
......@@ -17,6 +17,7 @@
// MA 02111-1307 USA
//
/// [hotloop]
/* NOTE: sin[ 2pi (Dphi_alpha - k) ] = sin [ 2pi Dphi_alpha ], therefore
* the trig-functions need to be calculated only once!
* We choose the value sin[ 2pi(Dphi_alpha - kstar) ] because it is the
......@@ -69,3 +70,4 @@
/* real- and imaginary part of e^{i 2 pi lambda_alpha } */
XLALSinCos2PiLUT ( &imagQ, &realQ, lambda_alpha );
}
/// [hotloop]
......@@ -28,7 +28,14 @@
#include "SinCosLUT.i"
// ----- Akos hotloop precalc SSE code (Dterms=8) ----------
///
/// \file ComputeFstat_DemodHL_SSE.c
/// \ingroup ComputeFstat_Demod_c
/// \brief Akos hotloop precalc SSE code (Dterms=8)
///
/// \snippet ComputeFstat_DemodHL_SSE.i hotloop
///
#define FUNC XLALComputeFaFb_SSE
#define HOTLOOP_SOURCE "ComputeFstat_DemodHL_SSE.i"
#include "ComputeFstat_Demod_ComputeFaFb.c"
......@@ -17,6 +17,7 @@
// MA 02111-1307 USA
//
/// [hotloop]
/** SSE version with precalculated divisors from Akos */
{
{
......@@ -188,3 +189,4 @@
}
}
/// [hotloop]
......@@ -35,6 +35,15 @@
#include <lal/TimeSeries.h>
#include <lal/Units.h>
///
/// \defgroup ComputeFstat_Resamp_c Module ComputeFstat_Resamp.c
/// \ingroup ComputeFstat_h
/// \brief Implements the \a Resamp: FFT-based resampling algorithm for
/// computing the \f$\mathcal{F}\f$-statistic \cite JKS98
///
// @{
// ========== Resamp internals ==========
// ----- local macros ----------
......@@ -1207,3 +1216,5 @@ XLALGetFstatTiming_Resamp ( const void *method_data, FstatTimingGeneric *timingG
return XLAL_SUCCESS;
} // XLALGetFstatTiming_Resamp()
// @}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment