<s> """<STR_LIT>""" <EOL> from __future__ import division <EOL> from PyDSTool import * <EOL> from common_lib import * <EOL> def makeHHneuron ( name , par_args , ic_args , const_I = False , <EOL> rand_seed = None , with_IA = False , adapt_AHP = False , gentype = '<STR_LIT>' ) : <EOL> if gentype in [ '<STR_LIT>' , '<STR_LIT>' ] : <EOL> targetlang = '<STR_LIT>' <EOL> else : <EOL> targetlang = '<STR_LIT:C>' <EOL> if const_I : <EOL> Iapp_str = '<STR_LIT>' <EOL> else : <EOL> Iapp_str = '<STR_LIT>' <EOL> Isignal_vardict = make_noise_signal ( <NUM_LIT:0.1> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , rand_seed ) <EOL> vfn_str = '<STR_LIT>' % Iapp_str <EOL> if with_IA : <EOL> rfn_str = '<STR_LIT>' <EOL> else : <EOL> rfn_str = '<STR_LIT>' <EOL> if adapt_AHP : <EOL> hfn_str = '<STR_LIT>' <EOL> else : <EOL> hfn_str = '<STR_LIT>' <EOL> auxfndict = { '<STR_LIT>' : ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' ) } <EOL> if not const_I : <EOL> auxfndict [ '<STR_LIT>' ] = ( [ '<STR_LIT:t>' ] , '<STR_LIT>' ) <EOL> DSargs = args ( ) <EOL> DSargs . varspecs = { '<STR_LIT:v>' : vfn_str , '<STR_LIT:r>' : rfn_str , '<STR_LIT:h>' : hfn_str , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } <EOL> DSargs . inputs = { '<STR_LIT>' : Isignal_vardict [ '<STR_LIT>' ] } <EOL> DSargs . auxvars = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> if not const_I : <EOL> DSargs . varspecs [ '<STR_LIT:I>' ] = '<STR_LIT>' <EOL> DSargs . auxvars . append ( '<STR_LIT:I>' ) <EOL> DSargs . pars = par_args <EOL> DSargs . fnspecs = auxfndict <EOL> DSargs . xdomain = { '<STR_LIT:v>' : [ - <NUM_LIT:2> , <NUM_LIT:2> ] , '<STR_LIT:r>' : [ <NUM_LIT:0> , <NUM_LIT:1> ] , '<STR_LIT:h>' : [ <NUM_LIT:0> , <NUM_LIT:1> ] } <EOL> DSargs . algparams = { '<STR_LIT>' : <NUM_LIT:0.1> , <EOL> '<STR_LIT>' : <NUM_LIT> } <EOL> if gentype == '<STR_LIT>' : <EOL> DSargs . algparams [ '<STR_LIT>' ] = True <EOL> DSargs . checklevel = <NUM_LIT:0> <EOL> DSargs . ics = ic_args <EOL> DSargs . name = name <EOL> thresh_ev = Events . makeZeroCrossEvent ( '<STR_LIT:v>' , <NUM_LIT:1> , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : False } , <EOL> varnames = [ '<STR_LIT:v>' ] , <EOL> targetlang = targetlang ) <EOL> min_ev = Events . makeZeroCrossEvent ( '<STR_LIT>' % Iapp_str , <NUM_LIT:1> , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : False } , <EOL> varnames = [ '<STR_LIT:v>' , '<STR_LIT:r>' , '<STR_LIT:h>' ] , <EOL> parnames = par_args . keys ( ) , <EOL> inputnames = [ '<STR_LIT>' ] , <EOL> fnspecs = auxfndict , <EOL> targetlang = targetlang ) <EOL> DSargs . events = [ thresh_ev , min_ev ] <EOL> if gentype == '<STR_LIT>' : <EOL> return Generator . Vode_ODEsystem ( DSargs ) <EOL> elif gentype == '<STR_LIT>' : <EOL> return Generator . Euler_ODEsystem ( DSargs ) <EOL> elif gentype == '<STR_LIT>' : <EOL> return Generator . Radau_ODEsystem ( DSargs ) <EOL> elif gentype == '<STR_LIT>' : <EOL> return Generator . Dopri_ODEsystem ( DSargs ) <EOL> else : <EOL> raise NotImplementedError ( "<STR_LIT>" % gentype ) </s>
