/// <summary>
 /// This takes ownership of the random number generator.
 /// </summary>
 public DelegateEnvironment(int?seed, int verbose          = 0,
                            MessageSensitivity sensitivity = MessageSensitivity.All,
                            ILogWriter outWriter           = null, ILogWriter errWriter = null)
     : base(seed, verbose > 0, nameof(DelegateEnvironment))
 {
     Contracts.CheckValue(outWriter, nameof(outWriter));
     Contracts.CheckValue(errWriter, nameof(errWriter));
     Contracts.CheckParam(verbose >= 0 && verbose <= 4, nameof(verbose), "verbose must be in [[0, 4]]");
     _outErrWriter     = new OutErrLogWriter(this, outWriter, errWriter, verbose);
     _sensitivityFlags = sensitivity;
     _verbose          = verbose;
     AddListener <ChannelMessage>(PrintMessage);
 }
Esempio n. 2
0
 /// <summary>
 /// This takes ownership of the random number generator.
 /// </summary>
 public DelegateEnvironment(Random rand, int verbose       = 0,
                            MessageSensitivity sensitivity = MessageSensitivity.All, int conc = 0,
                            WriteType outWriter            = null, WriteType errWriter = null)
     : base(rand, verbose > 0, conc, nameof(DelegateEnvironment))
 {
     Contracts.CheckValueOrNull(outWriter);
     Contracts.CheckValueOrNull(errWriter);
     Contracts.CheckParam(verbose >= 0 && verbose <= 4, nameof(verbose), "verbose must be in [[0, 4]]");
     _outErrWriter     = new OutErrLogWriter(this, new LogWriter(outWriter), new LogWriter(errWriter), verbose);
     _sensitivityFlags = sensitivity;
     _verbose          = verbose;
     AddListener <ChannelMessage>(PrintMessage);
 }