-
Notifications
You must be signed in to change notification settings - Fork 1
/
LIFNeuron.h
70 lines (53 loc) · 1.47 KB
/
LIFNeuron.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef LIFNEURON_H_
#define LIFNEURON_H_
#include "GeneralIncludes.h"
/*
In order to enable save and resume from a checkpoint export the
following variables from the command shell:
LIF_CHECKFILE=filename to save checkpoint information to
LIF_RESTART=y if this is a resume, unset it otherwise
*/
//int simulation_duration;
//long initial_random_seed;
//long random_seed;
//int resume_offset;
//BOOL checkpointing;
//int siID; // no longer static
int no_neurons;
int lif_time_of_last_save;
int siT; // no longer static
double V_rest;
double V_reset;
double V_threshold;
int iRefracTime;
double dCm;
double dRm;
double dDt;
double initial_v;
double lifSigma;
int iPreSpikeDelay;
//typedef int BOOL;
//BOOL a_restart;
//FILE* logfile;
//char* logfilename;
//char logfilearray[FILE_NAME_LENGTH];
//char* neuron_outfilepattern;
//char neuron_outfilearray[FILE_NAME_LENGTH];
int (*current_fn)(double *, unsigned int);
typedef struct LIFNeuron{
double * V;
double * Iext;
double * Isyn;
unsigned int * spikeT;
int ID;
} LIFNeuron;
void lif_memory_init(LIFNeuron *);
int neuron_finalise(int, LIFNeuron *);
void loadExternalCurrent(LIFNeuron *);
//double calciumFromPreSynapticSpikes(Synapse *);
//double calciumFromPostSynapticSpikes(Synapse *);
//void updateCalciumConcentration(Synapse *);
// BOOL h(LIFNeuron *, double);
//void updateSynapticEfficacy(Synapse *);
void updateNeuronMembraneVoltage(LIFNeuron *);
#endif /*LIFNEURON_H_*/