Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:41:55

0001 /* 
0002  * qcdloop1.h - header file for QCDLoop1 library
0003  * 
0004  */
0005 
0006 #ifndef QCDLOOP1_H
0007 #define QCDLOOP1_H
0008 
0009 /* NB endline spaces are significant */
0010 #ifdef QL_BUILDSYMS
0011 #   define QL_EXPORT(type) QL_EXPORT_MARK 
0012 #else
0013 #   define QL_EXPORT(type) type 
0014 #endif
0015 
0016 /* if language is C++ use standard complex template type */
0017 #ifdef __cplusplus
0018 #   include <complex>
0019 #   define QL_DEFINE_COMPLEX(R, C) typedef std::complex<R> C
0020 #else
0021 /* if <complex.h> is included, use the C99 complex type.
0022  * else define a type bit-compatible with C99 complex */
0023 #   if defined(_Complex_I) && defined(complex) && defined(I)
0024 #       define QL_DEFINE_COMPLEX(R, C) typedef R _Complex C
0025 #   else
0026 #       define QL_DEFINE_COMPLEX(R, C) typedef struct { R re,im; } C
0027 #   endif
0028 #endif
0029 
0030 QL_DEFINE_COMPLEX(double, ql_cmplx_dbl);
0031 
0032 #ifdef __cplusplus
0033 extern "C" {
0034 #endif /* __cplusplus */
0035 
0036 typedef struct ffprec_struct {
0037     double xloss;
0038     double precx;
0039     double precc;
0040     double xalogm;
0041     double xclogm;
0042     double xalog2;
0043     double xclog2;
0044     double reqprc;
0045 } ffprec_type;
0046 
0047 typedef struct ffflag_struct {
0048     int lwrite;
0049     int ltest;
0050     int l4also;
0051     int ldc3c4;
0052     int lmem;
0053     int lwarn;
0054     int ldot;
0055     int nevent;
0056     int ner;
0057     int id;
0058     int idsub;
0059     int nwidth;
0060     int nschem;
0061     int onshel;
0062     int idot;
0063 } ffflag_type;
0064 
0065 QL_EXPORT(void) qlinit_();
0066 QL_EXPORT(void) ffexi_();
0067 
0068 #ifdef USE_F2C
0069 QL_EXPORT(void) qli1_(ql_cmplx_dbl *rslt, double *m1, double *mu2, int *ep);
0070 QL_EXPORT(void) qli2_(ql_cmplx_dbl *rslt, double *p1, double *m1, double *m2, double *mu2, int *ep);
0071 QL_EXPORT(void) qli3_(ql_cmplx_dbl *rslt, double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, double *mu2, int *ep);
0072 QL_EXPORT(void) qli4_(ql_cmplx_dbl *rslt, double *p1, double *p2, double *p3, double *p4, double *s12, double *s23, double *m1, double *m2, double *m3, double *m4, double *mu2, int *ep);
0073 #else
0074 QL_EXPORT(ql_cmplx_dbl) qli1_(double *m1, double *mu2, int *ep);
0075 QL_EXPORT(ql_cmplx_dbl) qli2_(double *p1, double *m1, double *m2, double *mu2, int *ep);
0076 QL_EXPORT(ql_cmplx_dbl) qli3_(double *p1, double *p2, double *p3, double *m1, double *m2, double *m3, double *mu2, int *ep);
0077 QL_EXPORT(ql_cmplx_dbl) 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);
0078 #endif
0079 
0080 extern QL_EXPORT(struct ffprec_struct) ffprec_;
0081 extern QL_EXPORT(struct ffflag_struct) ffflag_;
0082 
0083 #ifdef __cplusplus
0084 }
0085 #endif
0086 
0087 #endif /* QCDLOOP1_H */