/// <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); }
/// <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); }