Ejemplo n.º 1
0
void
MMO_Generator_::_variablesInitCode ()
{
  stringstream buffer;
  VarSymbolTable vt = _model->varTable ();
  vt->setPrintEnvironment (VST_INIT);
  if (_model->annotation ()->solver () == ANT_DASSL
      || _model->annotation ()->solver () == ANT_DOPRI)
    {
      vt->setPrintEnvironment (VST_CLASSIC_INIT);
    }
  string indent = _writer->indent (1);
  for (VarInfo vi = vt->begin (); !vt->end (); vi = vt->next ())
    {
      Index idx = vi->index ();
      if (!vi->isConstant () && !vi->isParameter ()
	  && (vi->hasAssignment () || vi->hasStartModifier ()
	      || vi->hasEachModifier ()))
	{
	  buffer << _model->printInitialAssignment (vi, indent);
	  _writer->write (&buffer, WR_START_CODE);
	}
    }
}