void nest::aeif_cond_exp::init_buffers_() { B_.spike_exc_.clear(); // includes resize B_.spike_inh_.clear(); // includes resize B_.currents_.clear(); // includes resize Archiving_Node::clear_history(); B_.logger_.reset(); B_.step_ = Time::get_resolution().get_ms(); // We must integrate this model with high-precision to obtain decent results B_.IntegrationStep_ = std::min( 0.01, B_.step_ ); if ( B_.s_ == 0 ) B_.s_ = gsl_odeiv_step_alloc( gsl_odeiv_step_rkf45, State_::STATE_VEC_SIZE ); else gsl_odeiv_step_reset( B_.s_ ); if ( B_.c_ == 0 ) B_.c_ = gsl_odeiv_control_yp_new( P_.gsl_error_tol, P_.gsl_error_tol ); else gsl_odeiv_control_init( B_.c_, P_.gsl_error_tol, P_.gsl_error_tol, 0.0, 1.0 ); if ( B_.e_ == 0 ) B_.e_ = gsl_odeiv_evolve_alloc( State_::STATE_VEC_SIZE ); else gsl_odeiv_evolve_reset( B_.e_ ); B_.I_stim_ = 0.0; }
static VALUE rb_gsl_odeiv_control_yp_new(VALUE klass, VALUE epsabs, VALUE epsrel) { gsl_odeiv_control *c = NULL; Need_Float(epsabs); Need_Float(epsrel); c = gsl_odeiv_control_yp_new(NUM2DBL(epsabs), NUM2DBL(epsrel)); return Data_Wrap_Struct(klass, 0, gsl_odeiv_control_free, c); }
CAMLprim value ml_gsl_odeiv_control_yp_new(value eps_abs, value eps_rel) { gsl_odeiv_control *c = gsl_odeiv_control_yp_new(Double_val(eps_abs), Double_val(eps_rel)); value res; Abstract_ptr(res, c); return res; }
void nest::aeif_psc_alpha::init_buffers_() { B_.spike_exc_.clear(); // includes resize B_.spike_inh_.clear(); // includes resize B_.currents_.clear(); // includes resize Archiving_Node::clear_history(); B_.logger_.reset(); B_.step_ = Time::get_resolution().get_ms(); // We must integrate this model with high-precision to obtain decent results B_.IntegrationStep_ = std::min( 0.01, B_.step_ ); if ( B_.s_ == 0 ) { B_.s_ = gsl_odeiv_step_alloc( gsl_odeiv_step_rkf45, State_::STATE_VEC_SIZE ); } else { gsl_odeiv_step_reset( B_.s_ ); } if ( B_.c_ == 0 ) { B_.c_ = gsl_odeiv_control_yp_new( P_.gsl_error_tol, P_.gsl_error_tol ); } else { gsl_odeiv_control_init( B_.c_, P_.gsl_error_tol, P_.gsl_error_tol, 0.0, 1.0 ); } if ( B_.e_ == 0 ) { B_.e_ = gsl_odeiv_evolve_alloc( State_::STATE_VEC_SIZE ); } else { gsl_odeiv_evolve_reset( B_.e_ ); } B_.sys_.jacobian = NULL; B_.sys_.dimension = State_::STATE_VEC_SIZE; B_.sys_.params = reinterpret_cast< void* >( this ); B_.sys_.function = aeif_psc_alpha_dynamics; B_.I_stim_ = 0.0; }