Skip to content

Commit

Permalink
Update for '1uc/refactor-internal-signature' (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
1uc authored Feb 28, 2024
1 parent 01cd8b6 commit b277a26
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 33 deletions.
46 changes: 25 additions & 21 deletions func_proc/neuron/func_proc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,10 @@ namespace neuron {
hoc_retpushx(1.);
}
/* Mechanism procedures and functions */
inline double x_plus_a_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_x_42_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
inline int set_x_a_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_a_x_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
inline double x_plus_a_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_x_42_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
inline int set_x_a_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_a_x_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);


/** connect global (scalar) variables to hoc -- */
Expand Down Expand Up @@ -180,8 +180,9 @@ namespace neuron {
_ppvar = _local_prop ? _nrn_mechanism_access_dparam(_local_prop) : nullptr;
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_x_42_test_func_proc(_ml, id, _ppvar, _thread, _nt);
set_x_42_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt);
hoc_retpushx(_r);
}
static double _npy_set_x_42(Prop* _prop) {
Expand All @@ -195,8 +196,9 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_prop);
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_x_42_test_func_proc(_ml, id, _ppvar, _thread, _nt);
set_x_42_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt);
return(_r);
}
static void _hoc_set_x_a(void) {
Expand All @@ -214,8 +216,9 @@ namespace neuron {
_ppvar = _local_prop ? _nrn_mechanism_access_dparam(_local_prop) : nullptr;
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_x_a_test_func_proc(_ml, id, _ppvar, _thread, _nt, *getarg(1));
set_x_a_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
hoc_retpushx(_r);
}
static double _npy_set_x_a(Prop* _prop) {
Expand All @@ -229,8 +232,9 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_prop);
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_x_a_test_func_proc(_ml, id, _ppvar, _thread, _nt, *getarg(1));
set_x_a_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
return(_r);
}
static void _hoc_set_a_x(void) {
Expand All @@ -248,8 +252,9 @@ namespace neuron {
_ppvar = _local_prop ? _nrn_mechanism_access_dparam(_local_prop) : nullptr;
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_a_x_test_func_proc(_ml, id, _ppvar, _thread, _nt);
set_a_x_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt);
hoc_retpushx(_r);
}
static double _npy_set_a_x(Prop* _prop) {
Expand All @@ -263,8 +268,9 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_prop);
_thread = _extcall_thread.data();
_nt = nrn_threads;
auto inst = make_instance_test_func_proc(_ml_real);
_r = 1.;
set_a_x_test_func_proc(_ml, id, _ppvar, _thread, _nt);
set_a_x_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt);
return(_r);
}
static void _hoc_x_plus_a(void) {
Expand All @@ -282,7 +288,8 @@ namespace neuron {
_ppvar = _local_prop ? _nrn_mechanism_access_dparam(_local_prop) : nullptr;
_thread = _extcall_thread.data();
_nt = nrn_threads;
_r = x_plus_a_test_func_proc(_ml, id, _ppvar, _thread, _nt, *getarg(1));
auto inst = make_instance_test_func_proc(_ml_real);
_r = x_plus_a_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
hoc_retpushx(_r);
}
static double _npy_x_plus_a(Prop* _prop) {
Expand All @@ -296,38 +303,35 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_prop);
_thread = _extcall_thread.data();
_nt = nrn_threads;
_r = x_plus_a_test_func_proc(_ml, id, _ppvar, _thread, _nt, *getarg(1));
auto inst = make_instance_test_func_proc(_ml_real);
_r = x_plus_a_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
return(_r);
}


inline int set_x_42_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
auto inst = make_instance_test_func_proc(*_ml);
inline int set_x_42_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
int ret_set_x_42 = 0;
set_x_a_test_func_proc(_ml, id, _ppvar, _thread, _nt, 42.0);
set_x_a_test_func_proc(_ml, inst, id, _ppvar, _thread, _nt, 42.0);
return ret_set_x_42;
}


inline int set_x_a_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
auto inst = make_instance_test_func_proc(*_ml);
inline int set_x_a_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
int ret_set_x_a = 0;
inst.x[id] = a;
return ret_set_x_a;
}


inline int set_a_x_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
auto inst = make_instance_test_func_proc(*_ml);
inline int set_a_x_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
int ret_set_a_x = 0;
double a;
a = inst.x[id];
return ret_set_a_x;
}


inline double x_plus_a_test_func_proc(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
auto inst = make_instance_test_func_proc(*_ml);
inline double x_plus_a_test_func_proc(_nrn_mechanism_cache_range* _ml, test_func_proc_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
double ret_x_plus_a = 0.0;
ret_x_plus_a = inst.x[id] + a;
return ret_x_plus_a;
Expand Down
24 changes: 12 additions & 12 deletions func_proc_pnt/neuron/func_proc_pnt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ namespace neuron {
_setdata(_prop);
}
/* Mechanism procedures and functions */
inline double x_plus_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_x_42_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
inline int set_x_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline double x_plus_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
inline int set_x_42_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
inline int set_x_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);


/** connect global (scalar) variables to hoc -- */
Expand Down Expand Up @@ -195,8 +195,9 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_p);
_thread = _extcall_thread.data();
_nt = static_cast<NrnThread*>(_pnt->_vnt);
auto inst = make_instance_test_func_proc_pnt(_ml_real);
_r = 1.;
set_x_42_test_func_proc_pnt(_ml, id, _ppvar, _thread, _nt);
set_x_42_test_func_proc_pnt(_ml, inst, id, _ppvar, _thread, _nt);
return(_r);
}
static double _hoc_set_x_a(void* _vptr) {
Expand All @@ -215,8 +216,9 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_p);
_thread = _extcall_thread.data();
_nt = static_cast<NrnThread*>(_pnt->_vnt);
auto inst = make_instance_test_func_proc_pnt(_ml_real);
_r = 1.;
set_x_a_test_func_proc_pnt(_ml, id, _ppvar, _thread, _nt, *getarg(1));
set_x_a_test_func_proc_pnt(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
return(_r);
}
static double _hoc_x_plus_a(void* _vptr) {
Expand All @@ -235,29 +237,27 @@ namespace neuron {
_ppvar = _nrn_mechanism_access_dparam(_p);
_thread = _extcall_thread.data();
_nt = static_cast<NrnThread*>(_pnt->_vnt);
_r = x_plus_a_test_func_proc_pnt(_ml, id, _ppvar, _thread, _nt, *getarg(1));
auto inst = make_instance_test_func_proc_pnt(_ml_real);
_r = x_plus_a_test_func_proc_pnt(_ml, inst, id, _ppvar, _thread, _nt, *getarg(1));
return(_r);
}


inline int set_x_42_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
auto inst = make_instance_test_func_proc_pnt(*_ml);
inline int set_x_42_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
int ret_set_x_42 = 0;
inst.x[id] = 42.0;
return ret_set_x_42;
}


inline int set_x_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
auto inst = make_instance_test_func_proc_pnt(*_ml);
inline int set_x_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
int ret_set_x_a = 0;
inst.x[id] = a;
return ret_set_x_a;
}


inline double x_plus_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
auto inst = make_instance_test_func_proc_pnt(*_ml);
inline double x_plus_a_test_func_proc_pnt(_nrn_mechanism_cache_range* _ml, test_func_proc_pnt_Instance& inst, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
double ret_x_plus_a = 0.0;
ret_x_plus_a = inst.x[id] + a;
return ret_x_plus_a;
Expand Down

0 comments on commit b277a26

Please sign in to comment.