@@ -121,10 +121,10 @@ namespace neuron {
121
121
hoc_retpushx (1 .);
122
122
}
123
123
/* Mechanism procedures and functions */
124
- inline double x_plus_a_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
125
- inline int set_x_42_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
126
- inline int set_x_a_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a);
127
- inline int set_a_x_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt);
124
+ 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);
125
+ 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);
126
+ 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);
127
+ 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);
128
128
129
129
130
130
/* * connect global (scalar) variables to hoc -- */
@@ -180,8 +180,9 @@ namespace neuron {
180
180
_ppvar = _local_prop ? _nrn_mechanism_access_dparam (_local_prop) : nullptr ;
181
181
_thread = _extcall_thread.data ();
182
182
_nt = nrn_threads;
183
+ auto inst = make_instance_test_func_proc (_ml_real);
183
184
_r = 1 .;
184
- set_x_42_test_func_proc (_ml, id, _ppvar, _thread, _nt);
185
+ set_x_42_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt);
185
186
hoc_retpushx (_r);
186
187
}
187
188
static double _npy_set_x_42 (Prop* _prop) {
@@ -195,8 +196,9 @@ namespace neuron {
195
196
_ppvar = _nrn_mechanism_access_dparam (_prop);
196
197
_thread = _extcall_thread.data ();
197
198
_nt = nrn_threads;
199
+ auto inst = make_instance_test_func_proc (_ml_real);
198
200
_r = 1 .;
199
- set_x_42_test_func_proc (_ml, id, _ppvar, _thread, _nt);
201
+ set_x_42_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt);
200
202
return (_r);
201
203
}
202
204
static void _hoc_set_x_a (void ) {
@@ -214,8 +216,9 @@ namespace neuron {
214
216
_ppvar = _local_prop ? _nrn_mechanism_access_dparam (_local_prop) : nullptr ;
215
217
_thread = _extcall_thread.data ();
216
218
_nt = nrn_threads;
219
+ auto inst = make_instance_test_func_proc (_ml_real);
217
220
_r = 1 .;
218
- set_x_a_test_func_proc (_ml, id, _ppvar, _thread, _nt, *getarg (1 ));
221
+ set_x_a_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt, *getarg (1 ));
219
222
hoc_retpushx (_r);
220
223
}
221
224
static double _npy_set_x_a (Prop* _prop) {
@@ -229,8 +232,9 @@ namespace neuron {
229
232
_ppvar = _nrn_mechanism_access_dparam (_prop);
230
233
_thread = _extcall_thread.data ();
231
234
_nt = nrn_threads;
235
+ auto inst = make_instance_test_func_proc (_ml_real);
232
236
_r = 1 .;
233
- set_x_a_test_func_proc (_ml, id, _ppvar, _thread, _nt, *getarg (1 ));
237
+ set_x_a_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt, *getarg (1 ));
234
238
return (_r);
235
239
}
236
240
static void _hoc_set_a_x (void ) {
@@ -248,8 +252,9 @@ namespace neuron {
248
252
_ppvar = _local_prop ? _nrn_mechanism_access_dparam (_local_prop) : nullptr ;
249
253
_thread = _extcall_thread.data ();
250
254
_nt = nrn_threads;
255
+ auto inst = make_instance_test_func_proc (_ml_real);
251
256
_r = 1 .;
252
- set_a_x_test_func_proc (_ml, id, _ppvar, _thread, _nt);
257
+ set_a_x_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt);
253
258
hoc_retpushx (_r);
254
259
}
255
260
static double _npy_set_a_x (Prop* _prop) {
@@ -263,8 +268,9 @@ namespace neuron {
263
268
_ppvar = _nrn_mechanism_access_dparam (_prop);
264
269
_thread = _extcall_thread.data ();
265
270
_nt = nrn_threads;
271
+ auto inst = make_instance_test_func_proc (_ml_real);
266
272
_r = 1 .;
267
- set_a_x_test_func_proc (_ml, id, _ppvar, _thread, _nt);
273
+ set_a_x_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt);
268
274
return (_r);
269
275
}
270
276
static void _hoc_x_plus_a (void ) {
@@ -282,7 +288,8 @@ namespace neuron {
282
288
_ppvar = _local_prop ? _nrn_mechanism_access_dparam (_local_prop) : nullptr ;
283
289
_thread = _extcall_thread.data ();
284
290
_nt = nrn_threads;
285
- _r = x_plus_a_test_func_proc (_ml, id, _ppvar, _thread, _nt, *getarg (1 ));
291
+ auto inst = make_instance_test_func_proc (_ml_real);
292
+ _r = x_plus_a_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt, *getarg (1 ));
286
293
hoc_retpushx (_r);
287
294
}
288
295
static double _npy_x_plus_a (Prop* _prop) {
@@ -296,38 +303,35 @@ namespace neuron {
296
303
_ppvar = _nrn_mechanism_access_dparam (_prop);
297
304
_thread = _extcall_thread.data ();
298
305
_nt = nrn_threads;
299
- _r = x_plus_a_test_func_proc (_ml, id, _ppvar, _thread, _nt, *getarg (1 ));
306
+ auto inst = make_instance_test_func_proc (_ml_real);
307
+ _r = x_plus_a_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt, *getarg (1 ));
300
308
return (_r);
301
309
}
302
310
303
311
304
- inline int set_x_42_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
305
- auto inst = make_instance_test_func_proc (*_ml);
312
+ 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) {
306
313
int ret_set_x_42 = 0 ;
307
- set_x_a_test_func_proc (_ml, id, _ppvar, _thread, _nt, 42.0 );
314
+ set_x_a_test_func_proc (_ml, inst, id, _ppvar, _thread, _nt, 42.0 );
308
315
return ret_set_x_42;
309
316
}
310
317
311
318
312
- inline int set_x_a_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
313
- auto inst = make_instance_test_func_proc (*_ml);
319
+ 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) {
314
320
int ret_set_x_a = 0 ;
315
321
inst.x [id] = a;
316
322
return ret_set_x_a;
317
323
}
318
324
319
325
320
- inline int set_a_x_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt) {
321
- auto inst = make_instance_test_func_proc (*_ml);
326
+ 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) {
322
327
int ret_set_a_x = 0 ;
323
328
double a;
324
329
a = inst.x [id];
325
330
return ret_set_a_x;
326
331
}
327
332
328
333
329
- inline double x_plus_a_test_func_proc (_nrn_mechanism_cache_range* _ml, size_t id, Datum* _ppvar, Datum* _thread, NrnThread* _nt, double a) {
330
- auto inst = make_instance_test_func_proc (*_ml);
334
+ 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) {
331
335
double ret_x_plus_a = 0.0 ;
332
336
ret_x_plus_a = inst.x [id] + a;
333
337
return ret_x_plus_a;
0 commit comments