13 #include <unordered_map>
76 int fun(
double t,
double* y,
double* ydot);
79 std::string
statename(
int,
int style = 1);
137 static double eps(
double x) {
138 return eps_ * std::abs(x);
189 int pgvts(
double tstop);
238 std::vector<PlayRecord*>*
prl_;
std::vector< PreSyn * > * psl_
TQItem * bin_event(double tdeliver, DiscreteEvent *, NrnThread *)
double state_magnitudes()
void ps_thread_link(PreSyn *)
std::string statename(int, int style=1)
void deliver_events(double til, NrnThread *)
double allthread_least_t(int &tid)
int pgvts_event(double &tt)
BAMechList * cvbml(int, BAMech *, Cvode *)
HocEventList * allthread_hocevents_
void deliver_least_event(NrnThread *)
static double eps(double x)
void local_retreat(double, Cvode *)
void evaluate_conditions()
IvocVect * vec_event_store_
void check_thresh(NrnThread *)
void playrec_add(PlayRecord *)
std::vector< PlayRecord * > * prl_
void retreat(double, Cvode *)
int owned_by_thread(neuron::container::data_handle< double > const &)
void send2thread(double, DiscreteEvent *, NrnThread *)
std::vector< PlayRecord * > * playrec_list()
DiscreteEvent * pgvts_least(double &tt, int &op, int &init)
HocDataPaths create_hdp(int style)
Create a lookup table for variable names.
std::vector< PlayRecord * > * fixed_record_
void deliver_net_events(NrnThread *)
void fixed_record_continuous(neuron::model_sorted_token const &, NrnThread &nt)
int pgvts_cvode(double tt, int op)
const char * sym2name(Symbol *)
int fornetcon_change_cnt_
int solve_when_threads(double)
void condition_order(int i)
int fun(double t, double *y, double *ydot)
void point_receive(int, Point_process *, double *, double)
std::vector< PlayRecord * > * fixed_play_
void consist_sec_pd(const char *, Section *, neuron::container::data_handle< double > const &)
void fill_local_ba_cnt(int, int *, NetCvodeThreadData &)
NetCvode(bool single=true)
void maxstate_analyze_1(int, Cvode &, CvodeThreadData &)
void distribute_dinfo(int *, int)
void fill_global_ba(NrnThread *, int, BAMechList **)
MUTDEC void set_enqueueing()
void remove_event(TQItem *, int threadid)
void playrec_remove(PlayRecord *)
void psl_append(PreSyn *)
void presyn_disconnect(PreSyn *)
int global_microstep_when_threads()
void hoc_event(double, const char *hoc_stmt, Object *ppobj=nullptr, int reinit=0, Object *pyact=nullptr)
void re_init(double t0=0.)
void fill_local_ba(int *, NetCvodeThreadData &)
int local_microstep(neuron::model_sorted_token const &, NrnThread &)
TQueue * event_queue(NrnThread *nt)
void move_event(TQItem *, double, NrnThread *)
bool deliver_event(double til, NrnThread *)
void deliver_events_when_threads(double)
Symbol * name2sym(const char *)
int playrec_item(PlayRecord *)
void fixed_play_continuous(NrnThread *)
NetCon * install_deliver(neuron::container::data_handle< double > psrc, Section *ssrc, Object *osrc, Object *target, double threshold, double delay, double weight)
int structure_change_cnt_
PlayRecord * playrec_uses(void *)
TQItem * event(double tdeliver, DiscreteEvent *, NrnThread *)
virtual ~NetCvodeThreadData()
double immediate_deliver_
void interthread_send(double, DiscreteEvent *, NrnThread *)
InterThreadEvent * inter_thread_events_
void enqueue(NetCvode *, NrnThread *)
std::vector< std::vector< HTList * > > HTListList
std::unordered_map< void *, MaxStateItem * > MaxStateTable
std::vector< HocEvent * > HocEventList
std::unordered_map< neuron::container::data_handle< double >, PreSyn * > PreSynTable
Represent main neuron object computed by single thread.
A point process is computed just like regular mechanisms.