Пример #1
0
static double statename(void* v) {
	NetCvode* d = (NetCvode*)v;
	int i = (int)chkarg(1,0,1e9);
	int style = 1;
	if (ifarg(3)) {
		style = (int)chkarg(3, 0, 2);
	}
	hoc_assign_str(hoc_pgargstr(2), d->statename(i, style));
	return 0.;
}
Пример #2
0
static double text(void* v) {
#if HAVE_IV
IFGUI
	SymChooser* sc = (SymChooser*)v;
	hoc_assign_str(hoc_pgargstr(1), sc->selected()->string());
ENDGUI
	return 0.;
#else
	return 0.;
#endif /* HAVE_IV */
}
Пример #3
0
static void unpack_help(int i, OcBBS* bbs) {
	for (; ifarg(i); ++i) {
		if (hoc_is_pdouble_arg(i)) {
			*hoc_pgetarg(i) = bbs->upkdouble();
		}else if (hoc_is_str_arg(i)) {
			char* s = bbs->upkstr();
			char** ps = hoc_pgargstr(i);
			hoc_assign_str(ps, s);
			delete [] s;
		}else if (is_vector_arg(i)){
			Vect* vec = vector_arg(i);
			int n = bbs->upkint();
			vec->resize(n);
			bbs->upkvec(n, vec->vec());
		}else{
hoc_execerror("pc.unpack can only unpack str, scalar, or Vector.",
"use pc.upkpyobj to unpack a Python Object");
		}
	}
}