MaCh3 2.2.1
Reference Guide
Loading...
Searching...
No Matches
Namespaces | Macros | Typedefs | Functions | Variables
Core.h File Reference
#include <sstream>
#include <fstream>
#include <iostream>
#include <vector>
#include <iomanip>
#include <cmath>
#include <limits>
Include dependency graph for Core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  M3
 

Macros

#define _noexcept_   noexcept
 KS: noexcept can help with performance but is terrible for debugging, this is meant to help easy way of of turning it on or off. In near future move this to struct or other central class.
 
#define _restrict_   __restrict__
 KS: Using restrict limits the effects of pointer aliasing, aiding optimizations. While reading I found that there might be some compilers which don't have restrict. As always we use restrict to more easily turn off restrict in the code.
 
#define _TH2PolyOverflowBins_   9
 Number of overflow bins in TH2Poly,.
 
#define _MaCh3_Safe_Include_Start_
 KS: Avoiding warning checking for headers.
 
#define _MaCh3_Safe_Include_End_   _Pragma("GCC diagnostic pop")
 KS: Restore warning checking after including external headers.
 

Typedefs

using M3::float_t = double
 
using M3::int_t = int
 
using M3::uint_t = unsigned
 

Functions

template<typename T >
constexpr T M3::fmaf_t (T x, T y, T z)
 Function template for fused multiply-add.
 

Variables

static constexpr const double M3::_BAD_DOUBLE_ = -999.99
 Default value used for double initialisation.
 
static constexpr const int M3::_BAD_INT_ = -999
 Default value used for int initialisation.
 
static constexpr const double M3::_DEFAULT_RETURN_VAL_ = -999999.123456
 
static constexpr const double M3::Unity_D = 1.
 Some commonly used variables to which we set pointers to.
 
static constexpr const float M3::Unity_F = 1.
 
static constexpr const float_t M3::Unity = Unity_D
 
static constexpr const double M3::Zero_D = 0.
 
static constexpr const float M3::Zero_F = 0.
 
static constexpr const float_t M3::Zero = Zero_D
 
static constexpr const double M3::KinematicLowBound = std::numeric_limits<double>::lowest()
 When parameter has no bound this serves as it. Lowest possible value the system.
 
static constexpr const double M3::KinematicUpBound = std::numeric_limits<double>::max()
 When parameter has no bound this serves as it. Highest possible value the system.
 
static constexpr const double M3::_LARGE_LOGL_ = 1234567890.0
 Large Likelihood is used it parameter go out of physical boundary, this indicates in MCMC that such step should be removed.
 
static constexpr const double M3::_LOW_MC_BOUND_ = .00001
 MC prediction lower bound in bin to identify problematic binning definitions and handle LogL calculation.
 
static constexpr const double M3::DefSplineKnotUpBound = 9999
 Default value for spline knot capping, default mean not capping is being applied.
 
static constexpr const double M3::DefSplineKnotLowBound = -9999
 Default value for spline knot capping, default mean not capping is being applied.
 

Detailed Description

Author
Clarence Wret
Kamil Skwarczynski
Luke Pickering

Definition in file Core.h.

Macro Definition Documentation

◆ _MaCh3_Safe_Include_End_

#define _MaCh3_Safe_Include_End_   _Pragma("GCC diagnostic pop")

KS: Restore warning checking after including external headers.

Definition at line 117 of file Core.h.

◆ _MaCh3_Safe_Include_Start_

#define _MaCh3_Safe_Include_Start_
Value:
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wuseless-cast\"") \
_Pragma("GCC diagnostic ignored \"-Wfloat-conversion\"") \
_Pragma("GCC diagnostic ignored \"-Wold-style-cast\"") \
_Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"") \
_Pragma("GCC diagnostic ignored \"-Wswitch-enum\"") \
_Pragma("GCC diagnostic ignored \"-Wconversion\"") \
_Pragma("GCC diagnostic ignored \"-Wshadow\"") \
_Pragma("GCC diagnostic ignored \"-Wswitch-enum\"")

KS: Avoiding warning checking for headers.

Many external files don't strictly adhere to rigorous C++ standards. Inline functions in such headers may cause errors when compiled with strict MaCh3 compiler flags.

Warning
Use this for any external header file to avoid warnings.

Definition at line 106 of file Core.h.

◆ _noexcept_

#define _noexcept_   noexcept

KS: noexcept can help with performance but is terrible for debugging, this is meant to help easy way of of turning it on or off. In near future move this to struct or other central class.

Definition at line 83 of file Core.h.

◆ _restrict_

#define _restrict_   __restrict__

KS: Using restrict limits the effects of pointer aliasing, aiding optimizations. While reading I found that there might be some compilers which don't have restrict. As always we use restrict to more easily turn off restrict in the code.

Definition at line 90 of file Core.h.

◆ _TH2PolyOverflowBins_

#define _TH2PolyOverflowBins_   9

Number of overflow bins in TH2Poly,.

Definition at line 96 of file Core.h.