BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
qcdloop1.h
Go to the documentation of this file.
1/*
2 * qcdloop1.h - header file for QCDLoop1 library
3 *
4 */
5
6#ifndef QCDLOOP1_H
7#define QCDLOOP1_H
8
9/* NB endline spaces are significant */
10#ifdef QL_BUILDSYMS
11# define QL_EXPORT( type ) QL_EXPORT_MARK
12#else
13# define QL_EXPORT( type ) type
14#endif
15
16/* if language is C++ use standard complex template type */
17#ifdef __cplusplus
18# include <complex>
19# define QL_DEFINE_COMPLEX( R, C ) typedef std::complex<R> C
20#else
21/* if <complex.h> is included, use the C99 complex type.
22 * else define a type bit-compatible with C99 complex */
23# if defined( _Complex_I ) && defined( complex ) && defined( I )
24# define QL_DEFINE_COMPLEX( R, C ) typedef R _Complex C
25# else
26# define QL_DEFINE_COMPLEX( R, C ) \
27 typedef struct { \
28 R re, im; \
29 } C
30# endif
31#endif
32
33QL_DEFINE_COMPLEX( double, ql_cmplx_dbl );
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39typedef struct ffprec_struct {
40 double xloss;
41 double precx;
42 double precc;
43 double xalogm;
44 double xclogm;
45 double xalog2;
46 double xclog2;
47 double reqprc;
49
50typedef struct ffflag_struct {
51 int lwrite;
52 int ltest;
53 int l4also;
54 int ldc3c4;
55 int lmem;
56 int lwarn;
57 int ldot;
58 int nevent;
59 int ner;
60 int id;
61 int idsub;
62 int nwidth;
63 int nschem;
64 int onshel;
65 int idot;
67
68QL_EXPORT( void ) qlinit_();
69QL_EXPORT( void ) ffexi_();
70
71#ifdef USE_F2C
72QL_EXPORT( void ) qli1_( ql_cmplx_dbl* rslt, double* m1, double* mu2, int* ep );
73QL_EXPORT( void )
74qli2_( ql_cmplx_dbl* rslt, double* p1, double* m1, double* m2, double* mu2, int* ep );
75QL_EXPORT( void )
76qli3_( ql_cmplx_dbl* rslt, double* p1, double* p2, double* p3, double* m1, double* m2,
77 double* m3, double* mu2, int* ep );
78QL_EXPORT( void )
79qli4_( ql_cmplx_dbl* rslt, double* p1, double* p2, double* p3, double* p4, double* s12,
80 double* s23, double* m1, double* m2, double* m3, double* m4, double* mu2, int* ep );
81#else
82QL_EXPORT( ql_cmplx_dbl ) qli1_( double* m1, double* mu2, int* ep );
83QL_EXPORT( ql_cmplx_dbl ) qli2_( double* p1, double* m1, double* m2, double* mu2, int* ep );
84QL_EXPORT( ql_cmplx_dbl )
85qli3_( double* p1, double* p2, double* p3, double* m1, double* m2, double* m3, double* mu2,
86 int* ep );
87QL_EXPORT( ql_cmplx_dbl )
88qli4_( double* p1, double* p2, double* p3, double* p4, double* s12, double* s23, double* m1,
89 double* m2, double* m3, double* m4, double* mu2, int* ep );
90#endif
91
92extern QL_EXPORT( struct ffprec_struct ) ffprec_;
93extern QL_EXPORT( struct ffflag_struct ) ffflag_;
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif /* QCDLOOP1_H */
double p2[4]
double p1[4]
double double * m2
Definition qcdloop1.h:83
qli4_(double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, double *mu2, int *ep)
#define QL_EXPORT(type)
Definition qcdloop1.h:13
double int * ep
Definition qcdloop1.h:82
#define QL_DEFINE_COMPLEX(R, C)
Definition qcdloop1.h:26
struct ffprec_struct ffprec_type
struct ffflag_struct ffflag_type
double * mu2
Definition qcdloop1.h:82
qli3_(double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, double *mu2, int *ep)
double * m1
Definition qcdloop1.h:83
double reqprc
Definition qcdloop1.h:47
double precx
Definition qcdloop1.h:41
double xclog2
Definition qcdloop1.h:46
double xclogm
Definition qcdloop1.h:44
double xalogm
Definition qcdloop1.h:43
double xloss
Definition qcdloop1.h:40
double xalog2
Definition qcdloop1.h:45
double precc
Definition qcdloop1.h:42