ATLAS Offline Software
Loading...
Searching...
No Matches
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/*
6Modified: 30.04.2005
7
8History:
9=================================================
1030.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
31typedef 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;
41
42#define JNDAT1 COMMON_BLOCK(JNDAT1,jndat1)
44
45// Common block of the weights
46typedef 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
56typedef struct
57{
58 float TINV[ 10 ];
59 int IGFN[ 10 ];
60 float ETAL[ 10 ];
61 float WIDL[ 10 ];
62 float SATM[ 10 ];
64
65#define JNDAT2 COMMON_BLOCK(JNDAT2,jndat2)
67
68
69typedef 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;
82
83#define JNINT2 COMMON_BLOCK(JNINT2,jnint2)
85
86typedef 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
111PROTOCCALLSFFUN3(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
119PROTOCCALLSFFUN1(FLOAT,GAUSJN,gausjn,INT)
120#define GAUSJN(IDUM) CCALLSFFUN1(GAUSJN,gausjn,INT,IDUM)
121
122/*
123 REAL FUNCTION RJN(IDUM)
124*/
125
126PROTOCCALLSFFUN1(FLOAT,RJN,rjn,INT)
127#define RJN(IDUM) CCALLSFFUN1(RJN,rjn,INT,IDUM)
128
129/*
130 SUBROUTINE JNINIT
131*/
132
133PROTOCCALLSFSUB0(JNINIT,jninit)
134#define JNINIT() CCALLSFSUB0(JNINIT,jninit)
135
136/*
137 SUBROUTINE JNTRAL
138*/
139
140PROTOCCALLSFSUB0(JNTRAL,jntral)
141#define JNTRAL() CCALLSFSUB0(JNTRAL,jntral)
142
143/*
144 SUBROUTINE JNTEST
145*/
146
147PROTOCCALLSFSUB0(JNTEST,jntest)
148#define JNTEST() CCALLSFSUB0(JNTEST,jntest)
149
150/*
151SUBROUTINE JNDUMP(NF)
152*/
153PROTOCCALLSFSUB1(JNDUMP,jndump,INT)
154#define JNDUMP(NF) CCALLSFSUB1(JNDUMP,jndump,INT,NF);
155
156
157/*
158SUBROUTINE JNREAD(NF)
159*/
160PROTOCCALLSFSUB1(JNREAD,jnread,INT)
161#define JNREAD(NF) CCALLSFSUB1(JNREAD,jnread,INT,NF);
162
163/*
164SUBROUTINE JNSTAT(IS)
165*/
166PROTOCCALLSFSUB1(JNSTAT,jnstat,INT)
167#define JNSTAT(IS) CCALLSFSUB1(JNSTAT,jnstat,INT,IS);
168
169/*
170SUBROUTINE JNSEFI(ILA,I1,I2,J1,J2,NO)
171*/
172PROTOCCALLSFSUB6(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/*
176SUBROUTINE REWIND(INT,INT)
177*/
178PROTOCCALLSFSUB1(REWIND,rewind,INT)
179#define REWIND(UNIT) CCALLSFSUB1(REWIND,rewind,INT,UNIT);
#define JNDAT2
Definition jetnet.h:65
#define JNINT2
Definition jetnet.h:83
#define REWIND(UNIT)
Definition jetnet.h:179
#define JNINT1
Definition jetnet.h:103
#define NWJNWGT
Definition jetnet.h:51
#define JNINIT()
Definition jetnet.h:134
#define JNSTAT(IS)
Definition jetnet.h:167
#define JNTEST()
Definition jetnet.h:148
#define JNINDX(IL, I, J)
Definition jetnet.h:112
#define JNSEFI(ILA, I1, I2, J1, J2, NO)
Definition jetnet.h:173
#define GAUSJN(IDUM)
Definition jetnet.h:120
#define RJN(IDUM)
Definition jetnet.h:127
#define JNTRAL()
Definition jetnet.h:141
#define JNDUMP(NF)
Definition jetnet.h:154
#define JNDAT1
Definition jetnet.h:42
#define JNREAD(NF)
Definition jetnet.h:161
COMMON_BLOCK_DEF(JNDAT1_DEF, JNDAT1)
float PARJN[40]
Definition jetnet.h:34
int MSTJN[40]
Definition jetnet.h:33
float OIN[1000]
Definition jetnet.h:37
float PARJM[20]
Definition jetnet.h:36
float OUT[1000]
Definition jetnet.h:38
int MSTJM[20]
Definition jetnet.h:35
int MXNDJM
Definition jetnet.h:39
int IGFN[10]
Definition jetnet.h:59
float ETAL[10]
Definition jetnet.h:60
float WIDL[10]
Definition jetnet.h:61
float TINV[10]
Definition jetnet.h:58
float SATM[10]
Definition jetnet.h:62
float A[2000]
Definition jetnet.h:89
int NSELF[150000]
Definition jetnet.h:95
float O[2000]
Definition jetnet.h:88
float D[2000]
Definition jetnet.h:90
float ODT[2000]
Definition jetnet.h:99
float T[2000]
Definition jetnet.h:91
float ETAV[152000]
Definition jetnet.h:100
float DT[2000]
Definition jetnet.h:92
float ODW[150000]
Definition jetnet.h:98
int NTSELF[2000]
Definition jetnet.h:96
float G[152000]
Definition jetnet.h:97
float DW[150000]
Definition jetnet.h:94
float W[150000]
Definition jetnet.h:93
int NL
Definition jetnet.h:75
float ER2
Definition jetnet.h:78
int NG[10]
Definition jetnet.h:74
int MV0[11]
Definition jetnet.h:72
int ICPON
Definition jetnet.h:80
float ER1
Definition jetnet.h:77
float SM[10]
Definition jetnet.h:79
int IPOTT
Definition jetnet.h:76
int M[11]
Definition jetnet.h:71
int MM0[11]
Definition jetnet.h:73
float OWGT
Definition jetnet.h:48