1 #include <../../nrnconf.h>
45 if (!ppobj || ppobj->ctemplate->is_point_ <= 0 ||
47 hoc_execerror(
"Optional first arg is not a POINT_PROCESS", 0);
58 int j = (int)
chkarg(iarg + 1, 0., yvec->
size() - 1);
73 if (
ifarg(iarg + 2)) {
79 ddt =
chkarg(iarg + 2, 1
e-9, 1e10);
81 if (
ifarg(iarg + 3)) {
100 }
else if (ddt > 0.) {
102 }
else if (pvar == &
t) {
111 "Second argument of Vector.play in continuous mode must be a time vector", 0);
119 if (!tvec && ddt == -1.) {
210 if (current_index_ < y_->size()) {
212 if (current_index_ < t_->size()) {
320 if (discon_index_ < discon_indices_->size()) {
328 if (ubound_index_ < t_->size() - 1) {
356 }
else if (tt <= t_->elem(0)) {
370 return (x0 + x1) / 2.;
372 return interp((tt - t0) / (t1 - t0), x0, x1);
391 printf(
"VecPlayContinuous ");
400 : PlayRecordSave(prl) {
430 : PlayRecordSave(prl) {
Section * chk_access(void)
virtual void send(double deliverytime, NetCvode *, NrnThread *)
PlayRecord * playrec_uses(void *)
static void Detach(Object *, Observer *)
static void Attach(Object *, Observer *)
void continuous(double tt)
virtual ~VecPlayContinuous()
IvocVect * discon_indices_
double interp(double th, double x0, double x1)
virtual void install(Cvode *)
virtual PlayRecordSave * savestate_save()
virtual void disconnect(Observable *)
double interpolate(double tt)
virtual void deliver(double t, NetCvode *)
VecPlayContinuous(double *, IvocVect *y, IvocVect *t, IvocVect *discon, Object *ppobj=nil)
void init(IvocVect *y, IvocVect *t, IvocVect *tdiscon)
virtual ~VecPlayContinuousSave()
VecPlayContinuousSave(PlayRecord *)
virtual void savestate_write(FILE *)
virtual void savestate_restore()
virtual void savestate_read(FILE *)
virtual void install(Cvode *)
virtual void disconnect(Observable *)
virtual PlayRecordSave * savestate_save()
void init(IvocVect *y, IvocVect *t, double dt)
virtual void deliver(double t, NetCvode *)
VecPlayStep(double *, IvocVect *y, IvocVect *t, double dt, Object *ppobj=nil)
virtual void savestate_write(FILE *)
VecPlayStepSave(PlayRecord *)
virtual ~VecPlayStepSave()
virtual void savestate_read(FILE *)
virtual void savestate_restore()
short * nrn_is_artificial_
double chkarg(int, double low, double high)
void hoc_execerror(const char *, const char *)
int hoc_is_object_arg(int narg)
int hoc_is_str_arg(int narg)
int hoc_is_double_arg(int narg)
char * hoc_object_name(Object *ob)
double * hoc_pgetarg(int narg)
Object ** hoc_objgetarg(int)
#define con(arg1, arg2, arg3)
static double check(double t, Daspk *ida)
static void pr(N_Vector x)
static void pnode(Prop *)
Represent main neuron object computed by single thread.
Point_process * ob2pntproc(Object *)
void nrn_vecsim_add(void *v, bool record)
void nrn_vecsim_remove(void *v)
NetCvode * net_cvode_instance