NEST main@caf0ae8
 
Loading...
Searching...
No Matches
histentry.h
Go to the documentation of this file.
1/*
2 * histentry.h
3 *
4 * This file is part of NEST.
5 *
6 * Copyright (C) 2004 The NEST Initiative
7 *
8 * NEST is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * NEST is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with NEST. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#ifndef HISTENTRY_H
24#define HISTENTRY_H
25
26// Includes from nestkernel:
27#include "nest_types.h"
28
29namespace nest
30{
31
36{
37public:
38 histentry( double t, double Kminus, double Kminus_triplet, size_t access_counter );
39
40 double t_;
41 double Kminus_;
43 size_t
45};
46
54{
55public:
56 histentry_extended( double t, double dw, size_t access_counter );
57
58 double t_;
59 double dw_;
60 size_t
62
63 friend bool operator<( const histentry_extended& he, double t );
64};
65
66inline bool
67operator<( const histentry_extended& he, double t )
68{
69 return he.t_ < t;
70}
71
76{
77public:
78 HistEntryEprop( long t );
79
80 long t_;
82 {
83 }
84
85 friend bool operator<( const HistEntryEprop& a, const HistEntryEprop& b );
86};
87
88inline bool
89operator<( const HistEntryEprop& a, const HistEntryEprop& b )
90{
91 return a.t_ < b.t_;
92}
93
94inline bool
95operator<( const HistEntryEprop& e, long t )
96{
97 return e.t_ < t;
98}
99
100inline bool
101operator<( long t, const HistEntryEprop& e )
102{
103 return t < e.t_;
104}
105
110{
111public:
112 HistEntryEpropRecurrent( long t, double surrogate_gradient, double learning_signal, double firing_rate_reg );
113
117};
118
123{
124public:
125 HistEntryEpropReadout( long t, double error_signal );
126
128};
129
134{
135public:
136 HistEntryEpropUpdate( long t, size_t access_counter );
137
139};
140
145{
146public:
147 HistEntryEpropFiringRateReg( long t, double firing_rate_reg );
148
150};
151}
152
153#endif
Class implementing entries of the firing rate regularization history for e-prop plasticity.
Definition histentry.h:145
double firing_rate_reg_
Definition histentry.h:149
Class implementing entries of the readout node model's history of e-prop dynamic variables.
Definition histentry.h:123
double error_signal_
Definition histentry.h:127
Class implementing entries of the recurrent node model's history of e-prop dynamic variables.
Definition histentry.h:110
double firing_rate_reg_
Definition histentry.h:116
double surrogate_gradient_
Definition histentry.h:114
double learning_signal_
Definition histentry.h:115
Class implementing entries of the update history for e-prop plasticity.
Definition histentry.h:134
size_t access_counter_
Definition histentry.h:138
Base class implementing history entries for e-prop plasticity.
Definition histentry.h:76
friend bool operator<(const HistEntryEprop &a, const HistEntryEprop &b)
Definition histentry.h:89
long t_
Definition histentry.h:80
virtual ~HistEntryEprop()
Definition histentry.h:81
Class to represent a single entry in the spiking history of the ClopathArchivingNode or the Urbanczik...
Definition histentry.h:54
friend bool operator<(const histentry_extended &he, double t)
how often this entry was accessed (to enable removal, once read by all synapses which need it)
Definition histentry.h:67
double dw_
Definition histentry.h:59
size_t access_counter_
Definition histentry.h:61
double t_
point in time for the history entry (in ms)
Definition histentry.h:58
Class to represent a single entry in the spiking history of the ArchivingNode.
Definition histentry.h:36
double Kminus_
value of Kminus at that time
Definition histentry.h:41
double t_
point in time when spike occurred (in ms)
Definition histentry.h:40
double Kminus_triplet_
value of triplet STDP Kminus at that time
Definition histentry.h:42
size_t access_counter_
Definition histentry.h:44
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
bool operator<(const histentry_extended &he, double t)
Definition histentry.h:67