ATLAS Offline Software
jetnet.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6 Modified: 30.04.2005
7 
8 History:
9 =================================================
10 30.04.2005 -- Added Subroutine JNDUMP
11 
12 */
13 
14 #ifndef f2cFortran
15 #define f2cFortran
16 #endif
17 #include "cfortran.h"
18 
19 
20 /*
21  1) Feed-forward network (JN): C
22  ERRJN, GAUSJN, GJN, GPJN, JNCHOP, JNCOGR, JNCGBE, JNDELT, JNDUMP, C
23  JNERR, JNFEED, JNHEAD, JNHEIG, JNHESS, JNINDX, JNINIT, JNLINS, C
24  JNREAD, JNROLD, JNSATM, JNSCGR, JNSEFI, JNSEPA, JNSTAT, JNTEST, C
25  JNTRAL, JNTRED, JNTQLI C
26 */
27 
28 #define MAXI 1000;
29 #define MAXO 1000;
30 
31 typedef struct
32 {
33  int MSTJN[ 40 ];
34  float PARJN[ 40 ];
35  int MSTJM[ 20 ];
36  float PARJM[ 20 ];
37  float OIN[ 1000 ];
38  float OUT[ 1000 ];
39  int MXNDJM;
40 } JNDAT1_DEF;
41 
42 #define JNDAT1 COMMON_BLOCK(JNDAT1,jndat1)
44 
45 // Common block of the weights
46 typedef struct
47 {
48  float OWGT;
50 
51 #define NWJNWGT COMMON_BLOCK(NWJNWGT,nwjnwgt)
53 
54 //COMMON /JNDAT2/ TINV(10),IGFN(10),ETAL(10),WIDL(10),SATM(10)
55 
56 typedef struct
57 {
58  float TINV[ 10 ];
59  int IGFN[ 10 ];
60  float ETAL[ 10 ];
61  float WIDL[ 10 ];
62  float SATM[ 10 ];
63 } JNDAT2_DEF;
64 
65 #define JNDAT2 COMMON_BLOCK(JNDAT2,jndat2)
67 
68 
69 typedef struct
70 {
71  int M [11];
72  int MV0 [11];
73  int MM0 [11];
74  int NG [ 10 ];
75  int NL; // Current value of the update delta(thetha_i) for the threshold at node I
76  int IPOTT;
77  float ER1;
78  float ER2;
79  float SM[10];
80  int ICPON;
81 } JNINT2_DEF;
82 
83 #define JNINT2 COMMON_BLOCK(JNINT2,jnint2)
85 
86 typedef struct
87 {
88  float O [ 2000 ]; // Current value of node I in the network, does not include the input units
89  float A [ 2000 ]; // Current value of the summed input alpha_i to node I
90  float D [ 2000 ]; // Current value of delta_i at node I
91  float T [ 2000 ]; // Current value of threshold thetha_i at node I
92  float DT [ 2000 ]; // Current value of the update delta(thetha_i) for the threshold at node I
93  float W [ 150000 ]; // Current value for the weight with index IW
94  float DW [ 150000 ]; // Current value of the update for weight with index IW
95  int NSELF [ 150000 ]; // Switches for updating weight with index IW ( 0 = do not update, 1 = update )
96  int NTSELF [ 2000 ]; // Switches for updating the threshold for node I --------- " -----------------
97  float G [ 152000 ]; // Temporary weight and threshold vectors used in CG, SCG and QP
98  float ODW [ 150000 ]; // Stores old weight gradient in CG, SCG, QP and Rprop
99  float ODT [ 2000 ]; // stores old threshold gradient in CG, SCG, QP and Rprop
100  float ETAV [ 152000 ]; // Individual learning rates used in Rprop
101 } JNINT1_DEF;
102 
103 #define JNINT1 COMMON_BLOCK(JNINT1,jnint1)
105 
106 
107 /*
108  INTEGER FUNCTION JNINDX(IL,I,J)
109 */
110 
111 PROTOCCALLSFFUN3(INT,JNINDX,jnindx,INT,INT,INT)
112 #define JNINDX(IL,I,J) CCALLSFFUN3(JNINDX,jnindx,INT,INT,INT,IL,I,J)
113 
114 
115 /*
116  REAL FUNCTION GAUSJN(IDUM)
117 */
118 
119 PROTOCCALLSFFUN1(FLOAT,GAUSJN,gausjn,INT)
120 #define GAUSJN(IDUM) CCALLSFFUN1(GAUSJN,gausjn,INT,IDUM)
121 
122 /*
123  REAL FUNCTION RJN(IDUM)
124 */
125 
126 PROTOCCALLSFFUN1(FLOAT,RJN,rjn,INT)
127 #define RJN(IDUM) CCALLSFFUN1(RJN,rjn,INT,IDUM)
128 
129 /*
130  SUBROUTINE JNINIT
131 */
132 
133 PROTOCCALLSFSUB0(JNINIT,jninit)
134 #define JNINIT() CCALLSFSUB0(JNINIT,jninit)
135 
136 /*
137  SUBROUTINE JNTRAL
138 */
139 
140 PROTOCCALLSFSUB0(JNTRAL,jntral)
141 #define JNTRAL() CCALLSFSUB0(JNTRAL,jntral)
142 
143 /*
144  SUBROUTINE JNTEST
145 */
146 
147 PROTOCCALLSFSUB0(JNTEST,jntest)
148 #define JNTEST() CCALLSFSUB0(JNTEST,jntest)
149 
150 /*
151 SUBROUTINE JNDUMP(NF)
152 */
153 PROTOCCALLSFSUB1(JNDUMP,jndump,INT)
154 #define JNDUMP(NF) CCALLSFSUB1(JNDUMP,jndump,INT,NF);
155 
156 
157 /*
158 SUBROUTINE JNREAD(NF)
159 */
160 PROTOCCALLSFSUB1(JNREAD,jnread,INT)
161 #define JNREAD(NF) CCALLSFSUB1(JNREAD,jnread,INT,NF);
162 
163 /*
164 SUBROUTINE JNSTAT(IS)
165 */
166 PROTOCCALLSFSUB1(JNSTAT,jnstat,INT)
167 #define JNSTAT(IS) CCALLSFSUB1(JNSTAT,jnstat,INT,IS);
168 
169 /*
170 SUBROUTINE JNSEFI(ILA,I1,I2,J1,J2,NO)
171 */
172 PROTOCCALLSFSUB6(JNSEFI,jnsefi,INT,INT,INT,INT,INT,INT)
173 #define JNSEFI(ILA,I1,I2,J1,J2,NO) CCALLSFSUB6(JNSEFI,jnsefi,INT,INT,INT,INT,INT,INT,ILA,I1,I2,J1,J2,NO);
174 
175 /*
176 SUBROUTINE REWIND(INT,INT)
177 */
178 PROTOCCALLSFSUB1(REWIND,rewind,INT)
179 #define REWIND(UNIT) CCALLSFSUB1(REWIND,rewind,INT,UNIT);
JNDAT1
#define JNDAT1
Definition: jetnet.h:42
COMMON_BLOCK_DEF
COMMON_BLOCK_DEF(JNDAT1_DEF, JNDAT1)
JNSTAT
#define JNSTAT(IS)
Definition: jetnet.h:167
JetTiledMap::W
@ W
Definition: TiledEtaPhiMap.h:44
JNDUMP
#define JNDUMP(NF)
Definition: jetnet.h:154
NWJNWGT
#define NWJNWGT
Definition: jetnet.h:51
JNDAT1_DEF::MXNDJM
int MXNDJM
Definition: jetnet.h:39
REWIND
#define REWIND(UNIT)
Definition: jetnet.h:179
mc.SM
SM
Definition: mc.PhPy8EG_A14NNPDF23_DY_SLQ_example.py:47
GAUSJN
#define GAUSJN(IDUM)
Definition: jetnet.h:120
RJN
#define RJN(IDUM)
Definition: jetnet.h:127
JNINIT
#define JNINIT()
Definition: jetnet.h:134
OUT
#define OUT(dst, src)
Definition: MD5.cxx:316
A
JNDAT1_DEF
Definition: jetnet.h:32
JNSEFI
#define JNSEFI(ILA, I1, I2, J1, J2, NO)
Definition: jetnet.h:173
G
#define G(x, y, z)
Definition: MD5.cxx:113
JNDAT2_DEF
Definition: jetnet.h:57
NWJNWGT_DEF
Definition: jetnet.h:47
JNTEST
#define JNTEST()
Definition: jetnet.h:148
JNINT2_DEF::NL
int NL
Definition: jetnet.h:75
JNINT2_DEF::ER1
float ER1
Definition: jetnet.h:77
JNTRAL
#define JNTRAL()
Definition: jetnet.h:141
JNINT1
#define JNINT1
Definition: jetnet.h:103
JNINT2_DEF::IPOTT
int IPOTT
Definition: jetnet.h:76
JNREAD
#define JNREAD(NF)
Definition: jetnet.h:161
NWJNWGT_DEF::OWGT
float OWGT
Definition: jetnet.h:48
JNINDX
#define JNINDX(IL, I, J)
Definition: jetnet.h:112
JNINT1_DEF
Definition: jetnet.h:87
JNINT2_DEF
Definition: jetnet.h:70
JNINT2_DEF::ER2
float ER2
Definition: jetnet.h:78
JNDAT2
#define JNDAT2
Definition: jetnet.h:65
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
JNINT2_DEF::ICPON
int ICPON
Definition: jetnet.h:80
JNINT2
#define JNINT2
Definition: jetnet.h:83