int main (int argc, char **argv) { Tobj co; Psrc_t src; #ifdef MTRACE extern int Mt_certify; Mt_certify = 1; #endif #ifdef STATS stime = time (NULL); #endif idlerunmode = 0; exprstr = NULL; fp = NULL; init (argv[0]); Minit (GFXprune); Ginit (); FD_SET (Gxfd, &inputfds); Eerrlevel = 1; Estackdepth = 2; Eshowbody = 1; Eshowcalls = 1; processstr (leftyoptions); argv++, argc--; processargs (argc, argv); if (setjmp (exitljbuf)) goto eop; Cinit (); IOinit (); Tinit (); Pinit (); Einit (); Sinit (); Dinit (); Iinit (); TXTinit (txtcoords); GFXinit (); #ifdef FEATURE_GMAP gmapon = TRUE, G2Linit (); #endif if (exprstr) { src.flag = CHARSRC, src.s = exprstr, src.fp = NULL; src.tok = -1, src.lnum = 1; while ((co = Punit (&src))) Eunit (co); } if (fp) { src.flag = FILESRC, src.s = NULL, src.fp = fp; src.tok = -1, src.lnum = 1; while ((co = Punit (&src))) Eunit (co); } if (endflag) goto eop; TXTupdate (); Gneedredraw = FALSE; for (;;) { if (Gneedredraw) GFXredraw (), Gneedredraw = FALSE; if (Gbuttonsdown > 0) { GFXmove (), Gprocessevents (FALSE, G_ONEEVENT); processinput (FALSE); } else { if (Mcouldgc) { if (!processinput (FALSE)) Mdogc (M_GCINCR); } if (idlerunmode) { if (!processinput (FALSE)) GFXidle (); #ifdef FEATURE_GMAP } else if (GMAPneedupdate) { processinput (FALSE); #endif } else processinput (TRUE); } #ifdef FEATURE_GMAP if (gmapon) GMAPupdate (); #endif if (Erun) TXTupdate (), Erun = FALSE; } eop: #ifdef PARANOID #ifdef FEATURE_GMAP if (gmapon) G2Lterm (); #endif GFXterm (); TXTterm (); Iterm (); Dterm (); Sterm (); Eterm (); Pterm (); Tterm (); IOterm (); Cterm (); Gterm (); Mterm (); FD_CLR (Gxfd, &inputfds); term (); #endif printusage (); return 0; }
bool Neuron::SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError) { std::string strType = Std_CheckString(strDataType); if(Node::SetData(strDataType, strValue, false)) return true; if(strType == "CM") { Cn(atof(strValue.c_str())); return true; } if(strType == "GM") { Gn(atof(strValue.c_str())); return true; } if(strType == "VTH") { Vth(atof(strValue.c_str())); return true; } if(strType == "VREST") { Vrest(atof(strValue.c_str())); return true; } if(strType == "RELATIVEACCOMMODATION") { RelativeAccommodation(atof(strValue.c_str())); return true; } if(strType == "ACCOMMODATIONTIMECONSTANT") { AccommodationTimeConstant(atof(strValue.c_str())); return true; } if(strType == "VNOISEMAX") { VNoiseMax(atof(strValue.c_str())); return true; } if(strType == "FMIN") { Fmin(atof(strValue.c_str())); return true; } if(strType == "GAIN") { Gain(atof(strValue.c_str())); return true; } if(strType == "GAINTYPE") { GainType(Std_ToBool(strValue)); return true; } if(strType == "ADDEXTERNALCURRENT") { AddExternalI(atof(strValue.c_str())); return true; } if(strType == "IINIT") { Iinit(atof(strValue.c_str())); return true; } if(strType == "INITTIME") { InitTime(atof(strValue.c_str())); return true; } //If it was not one of those above then we have a problem. if(bThrowError) THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType, "Data Type", strDataType); return false; }
int APIENTRY WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { Tobj co; Psrc_t src; hinstance = hInstance; hprevinstance = hPrevInstance; idlerunmode = 0; exprstr = NULL; fp = NULL; init (NULL); Ginit (); #ifndef FEATURE_MS FD_SET (Gxfd, &inputfds); #endif Eerrlevel = 1; Estackdepth = 2; Eshowbody = 1; Eshowcalls = 1; processstr (leftyoptions); __argv++, __argc--; processargs (__argc, __argv); if (setjmp (exitljbuf)) goto eop; Cinit (); IOinit (); Minit (GFXprune); Tinit (); Pinit (); Einit (); Sinit (); Dinit (); Iinit (); TXTinit (txtcoords); GFXinit (); if (exprstr) { src.flag = CHARSRC, src.s = exprstr, src.fp = NULL; src.tok = -1, src.lnum = 1; while ((co = Punit (&src))) Eunit (co); } if (fp) { src.flag = FILESRC, src.s = NULL, src.fp = fp; src.tok = -1, src.lnum = 1; while ((co = Punit (&src))) Eunit (co); } if (endflag) goto eop; TXTupdate (); Gneedredraw = FALSE; for (;;) { if (Gneedredraw) GFXredraw (), Gneedredraw = FALSE; if (Gbuttonsdown > 0) GFXmove (), Gprocessevents (FALSE, G_ONEEVENT); else { if (Mcouldgc) { if (!processinput (FALSE)) Mdogc (M_GCINCR); } else if (idlerunmode) { if (!processinput (FALSE)) GFXidle (); } else processinput (TRUE); } if (Erun) TXTupdate (), Erun = FALSE; } eop: #ifdef PARANOID GFXterm (); TXTterm (); Iterm (); Dterm (); Sterm (); Eterm (); Pterm (); Tterm (); Mterm (); IOterm (); Cterm (); Gterm (); term (); #endif printusage (); exit (0); }
void Neuron::Load(CStdXml &oXml) { int iCount, iIndex; Node::Load(oXml); oXml.IntoElem(); //Into Neuron Element m_arySynapses.RemoveAll(); Enabled(oXml.GetChildBool("Enabled", true)); Cn(oXml.GetChildFloat("Cn")); Gn(oXml.GetChildFloat("Gn")); Vrest(oXml.GetChildFloat("Vrest", 0)); Vth(oXml.GetChildFloat("Vth")); Fmin(oXml.GetChildFloat("Fmin")); Gain(oXml.GetChildFloat("Gain")); ExternalI(oXml.GetChildFloat("ExternalI")); VNoiseMax(fabs(oXml.GetChildFloat("VNoiseMax", m_fltVNoiseMax))); Iinit(oXml.GetChildFloat("Iinit", m_fltIinit)); InitTime(oXml.GetChildFloat("InitTime", m_fltInitTime)); m_fltVndisp = m_fltVrest; m_fltVthdisp = m_fltVrest + m_fltVth; GainType(oXml.GetChildBool("GainType", true)); m_aryVth[0] = m_aryVth[1] = m_fltVth; if(m_fltVNoiseMax != 0) UseNoise(true); else UseNoise(false); RelativeAccommodation(fabs(oXml.GetChildFloat("RelativeAccom", m_fltRelativeAccom))); AccommodationTimeConstant(fabs(oXml.GetChildFloat("AccomTimeConst", m_fltAccomTimeConst))); if(m_fltRelativeAccom != 0) UseAccom(true); else UseAccom(false); //*** Begin Loading Synapses. ***** if(oXml.FindChildElement("Synapses", false)) { oXml.IntoElem(); //Into Synapses Element iCount = oXml.NumberOfChildren(); for(iIndex=0; iIndex<iCount; iIndex++) { oXml.FindChildByIndex(iIndex); LoadSynapse(oXml); } oXml.OutOfElem(); } //*** End Loading Synapses. ***** oXml.OutOfElem(); //OutOf Neuron Element }