Belle II Software  release-06-02-00
golem.h
1 /*
2  * cache.h - golem-mode header
3  *
4  * this file is part of PJFry library
5  * Copyright 2011 Valery Yundin
6  */
7 
8 #ifndef QUL_GOLEM_H
9 #define QUL_GOLEM_H
10 
11 #include "common.h"
12 
13 class Golem {
14 public:
15  static void initgolem95(int n);
16  static void setmat(int i, int j, double val);
17  static void preparesmatrix();
18  static double getmat(int i, int j);
19 
20  // 5 point base
21  static ncomplex ga50(int s, int ep);
22  static ncomplex ga51(int i, int s, int ep);
23  static ncomplex ga52(int i, int j, int s, int ep);
24  static ncomplex gb52(int s, int ep);
25  static ncomplex ga53(int i, int j, int k, int s, int ep);
26  static ncomplex gb53(int i, int s, int ep);
27  static ncomplex ga54(int i, int j, int k, int l, int s, int ep);
28  static ncomplex gb54(int i, int j, int s, int ep);
29  static ncomplex gc54(int s, int ep);
30  static ncomplex ga55(int i, int j, int k, int l, int m, int s, int ep);
31  static ncomplex gb55(int i, int j, int k, int s, int ep);
32  static ncomplex gc55(int i, int s, int ep);
33 
34  static ncomplex ga40(int s, int ep);
35  static ncomplex ga41(int i, int s, int ep);
36  static ncomplex ga42(int i, int j, int s, int ep);
37  static ncomplex gb42(int s, int ep);
38  static ncomplex ga43(int i, int j, int k, int s, int ep);
39  static ncomplex gb43(int i, int s, int ep);
40  static ncomplex ga44(int i, int j, int k, int l, int s, int ep);
41  static ncomplex gb44(int i, int j, int s, int ep);
42  static ncomplex gc44(int s, int ep);
43 
44  static ncomplex ga30(int s, int ep);
45  static ncomplex ga31(int i, int s, int ep);
46  static ncomplex ga32(int i, int j, int s, int ep);
47  static ncomplex gb32(int s, int ep);
48  static ncomplex ga33(int i, int j, int k, int s, int ep);
49  static ncomplex gb33(int i, int s, int ep);
50 
51  static ncomplex ga20(int s, int ep);
52  static ncomplex ga21(int i, int s, int ep);
53  static ncomplex ga22(int i, int j, int s, int ep);
54  static ncomplex gb22(int s, int ep);
55 
56 private:
57  static void prepare6();
58  static void prepare5();
59  static void prepare4();
60 
61  static int N;
62  static int caylen;
63 
64  static MinorBase* minortbl[128];
65  static Minor5::Ptr minors5[6];
66  static Minor4::Ptr minors4[15];
67  static Minor3::Ptr minors3[20];
68  static Minor2::Ptr minors2[15];
69 
70  static double Cay[6 * (6 + 1) / 2]; // upto rank 6
71  static unsigned int bitfield;
72  static unsigned int bitmask;
73 };
74 
75 #endif /* QUL_GOLEM_H */
Definition: golem.h:13
Definition: pointer.h:23