flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
loop_library_interface.hpp File Reference
#include <boost/preprocessor/seq/enum.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/size.hpp>
#include <boost/preprocessor/seq/transform.hpp>
#include <array>
#include <complex>
Include dependency graph for loop_library_interface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  flexiblesusy::looplibrary::Loop_library_interface
 interface for different one loop function libraries with conventions of DE == [arXiv:0709.1075], arguments order as in LT == [http://www.feynarts.de/looptools/LT215Guide.pdf], filling of given arrays as in CO == [arXiv:1604.06792]. More...
 

Namespaces

namespace  flexiblesusy
 
namespace  flexiblesusy::looplibrary
 

Macros

#define A_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , A_ARGS_SEQ) double scl2_in
 
#define A_ARGS_SEQ   (m02_in)
 
#define A_CSEQ   (0)
 
#define A_N   BOOST_PP_SEQ_SIZE(A_CSEQ)
 
#define A_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, A, A_CSEQ)
 
#define APPEND(s, data, elem)   data##elem
 
#define ARGS_TYPE(R, COMMA, ELEM)   std::complex<double> ELEM,
 
#define B_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , B_ARGS_SEQ) double scl2_in
 
#define B_ARGS_SEQ   (p10_in)(m02_in)(m12_in)
 
#define B_CSEQ   (0)(1)(00)
 
#define B_N   BOOST_PP_SEQ_SIZE(B_CSEQ)
 
#define B_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, B, B_CSEQ)
 
#define C_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , C_ARGS_SEQ) double scl2_in
 
#define C_ARGS_SEQ   (p10_in)(p21_in)(p20_in)(m02_in)(m12_in)(m22_in)
 
#define C_CSEQ   (0)(1)(2)(00)(11)(12)(22)
 
#define C_N   BOOST_PP_SEQ_SIZE(C_CSEQ)
 
#define C_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, C, C_CSEQ)
 
#define D_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , D_ARGS_SEQ) double scl2_in
 
#define D_ARGS_SEQ
 
#define D_CSEQ   (0)(1)(2)(3)(00)(11)(12)(13)(22)(23)(33)
 
#define D_N   BOOST_PP_SEQ_SIZE(D_CSEQ)
 
#define D_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, D, D_CSEQ)
 
#define VIRTUAL(R, ARGS, NAME)   virtual std::complex<double> NAME ARGS = 0;
 

Typedefs

using flexiblesusy::looplibrary::Acoeff_t = std::array< std::complex< double >, BOOST_PP_SEQ_SIZE((0)) >
 
using flexiblesusy::looplibrary::Bcoeff_t = std::array< std::complex< double >, BOOST_PP_SEQ_SIZE((0)(1)(00)) >
 
using flexiblesusy::looplibrary::Ccoeff_t = std::array< std::complex< double >, BOOST_PP_SEQ_SIZE((0)(1)(2)(00)(11)(12)(22)) >
 
using flexiblesusy::looplibrary::Dcoeff_t = std::array< std::complex< double >, BOOST_PP_SEQ_SIZE((0)(1)(2)(3)(00)(11)(12)(13)(22)(23)(33)) >
 

Enumerations

enum  flexiblesusy::looplibrary::Acoeffs : int
 
enum  flexiblesusy::looplibrary::Bcoeffs : int
 
enum  flexiblesusy::looplibrary::Ccoeffs : int
 
enum  flexiblesusy::looplibrary::Dcoeffs : int
 

Variables

constexpr int flexiblesusy::looplibrary::aa0 = 0
 
constexpr int flexiblesusy::looplibrary::bb0 = 0
 
constexpr int flexiblesusy::looplibrary::bb00 = 2
 
constexpr int flexiblesusy::looplibrary::bb1 = 1
 
constexpr int flexiblesusy::looplibrary::cc0 = 0
 
constexpr int flexiblesusy::looplibrary::cc00 = 3
 
constexpr int flexiblesusy::looplibrary::cc1 = 1
 
constexpr int flexiblesusy::looplibrary::cc11 = 4
 
constexpr int flexiblesusy::looplibrary::cc12 = 5
 
constexpr int flexiblesusy::looplibrary::cc2 = 2
 
constexpr int flexiblesusy::looplibrary::cc22 = 6
 
constexpr int flexiblesusy::looplibrary::dd0 = 0
 
constexpr int flexiblesusy::looplibrary::dd00 = 4
 
constexpr int flexiblesusy::looplibrary::dd1 = 1
 
constexpr int flexiblesusy::looplibrary::dd11 = 5
 
constexpr int flexiblesusy::looplibrary::dd12 = 6
 
constexpr int flexiblesusy::looplibrary::dd13 = 7
 
constexpr int flexiblesusy::looplibrary::dd2 = 2
 
constexpr int flexiblesusy::looplibrary::dd22 = 8
 
constexpr int flexiblesusy::looplibrary::dd23 = 9
 
constexpr int flexiblesusy::looplibrary::dd3 = 3
 
constexpr int flexiblesusy::looplibrary::dd33 = 10
 

Macro Definition Documentation

◆ A_ARGS

#define A_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , A_ARGS_SEQ) double scl2_in

Definition at line 39 of file loop_library_interface.hpp.

◆ A_ARGS_SEQ

#define A_ARGS_SEQ   (m02_in)

Definition at line 32 of file loop_library_interface.hpp.

◆ A_CSEQ

#define A_CSEQ   (0)

Definition at line 44 of file loop_library_interface.hpp.

◆ A_N

#define A_N   BOOST_PP_SEQ_SIZE(A_CSEQ)

Definition at line 49 of file loop_library_interface.hpp.

◆ A_SEQ

#define A_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, A, A_CSEQ)

Definition at line 55 of file loop_library_interface.hpp.

◆ APPEND

#define APPEND (   s,
  data,
  elem 
)    data##elem

Definition at line 54 of file loop_library_interface.hpp.

◆ ARGS_TYPE

#define ARGS_TYPE (   R,
  COMMA,
  ELEM 
)    std::complex<double> ELEM,

Definition at line 29 of file loop_library_interface.hpp.

◆ B_ARGS

#define B_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , B_ARGS_SEQ) double scl2_in

Definition at line 40 of file loop_library_interface.hpp.

◆ B_ARGS_SEQ

#define B_ARGS_SEQ   (p10_in)(m02_in)(m12_in)

Definition at line 33 of file loop_library_interface.hpp.

◆ B_CSEQ

#define B_CSEQ   (0)(1)(00)

Definition at line 45 of file loop_library_interface.hpp.

◆ B_N

#define B_N   BOOST_PP_SEQ_SIZE(B_CSEQ)

Definition at line 50 of file loop_library_interface.hpp.

◆ B_SEQ

#define B_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, B, B_CSEQ)

Definition at line 56 of file loop_library_interface.hpp.

◆ C_ARGS

#define C_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , C_ARGS_SEQ) double scl2_in

Definition at line 41 of file loop_library_interface.hpp.

◆ C_ARGS_SEQ

#define C_ARGS_SEQ   (p10_in)(p21_in)(p20_in)(m02_in)(m12_in)(m22_in)

Definition at line 34 of file loop_library_interface.hpp.

◆ C_CSEQ

#define C_CSEQ   (0)(1)(2)(00)(11)(12)(22)

Definition at line 46 of file loop_library_interface.hpp.

◆ C_N

#define C_N   BOOST_PP_SEQ_SIZE(C_CSEQ)

Definition at line 51 of file loop_library_interface.hpp.

◆ C_SEQ

#define C_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, C, C_CSEQ)

Definition at line 57 of file loop_library_interface.hpp.

◆ D_ARGS

#define D_ARGS   BOOST_PP_SEQ_FOR_EACH(ARGS_TYPE, , D_ARGS_SEQ) double scl2_in

Definition at line 42 of file loop_library_interface.hpp.

◆ D_ARGS_SEQ

#define D_ARGS_SEQ
Value:
(p10_in)(p21_in)(p32_in)(p30_in)(p20_in)(p31_in)(m02_in)(m12_in)(m22_in)( \
m32_in)

Definition at line 35 of file loop_library_interface.hpp.

◆ D_CSEQ

#define D_CSEQ   (0)(1)(2)(3)(00)(11)(12)(13)(22)(23)(33)

Definition at line 47 of file loop_library_interface.hpp.

◆ D_N

#define D_N   BOOST_PP_SEQ_SIZE(D_CSEQ)

Definition at line 52 of file loop_library_interface.hpp.

◆ D_SEQ

#define D_SEQ   BOOST_PP_SEQ_TRANSFORM(APPEND, D, D_CSEQ)

Definition at line 58 of file loop_library_interface.hpp.

◆ VIRTUAL

#define VIRTUAL (   R,
  ARGS,
  NAME 
)    virtual std::complex<double> NAME ARGS = 0;

Definition at line 30 of file loop_library_interface.hpp.