//Methods /// <inheritdoc /> protected override void Check() { if (PredictorsReductionRatio < 0 || PredictorsReductionRatio >= 1) { throw new ArgumentException($"Invalid PredictorsReductionRatio {PredictorsReductionRatio.ToString(CultureInfo.InvariantCulture)}. PredictorsReductionRatio must be GE to 0 and LT 1.", "PredictorsReductionRatio"); } if (PredictorValueMinSpan <= 0) { throw new ArgumentException($"Invalid PredictorValueMinSpan {PredictorValueMinSpan.ToString(CultureInfo.InvariantCulture)}. PredictorValueMinSpan must be GT 0.", "PredictorValueMinSpan"); } //Reservoir instances consistency foreach (ReservoirInstanceSettings resInstCfg in ReservoirInstancesCfg.ReservoirInstanceCfgCollection) { resInstCfg.CheckConsistency(InputEncoderCfg, ReservoirStructuresCfg.GetReservoirStructureCfg(resInstCfg.StructureCfgName)); } return; }
/// <inheritdoc /> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName, InputEncoderCfg.GetXml(suppressDefaults), ReservoirStructuresCfg.GetXml(suppressDefaults), ReservoirInstancesCfg.GetXml(suppressDefaults) ); if (!suppressDefaults || !IsDefaultPredictorsReductionRatio) { rootElem.Add(new XAttribute("predictorsReductionRatio", PredictorsReductionRatio.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultPredictorValueMinSpan) { rootElem.Add(new XAttribute("predictorValueMinSpan", PredictorValueMinSpan.ToString(CultureInfo.InvariantCulture))); } Validate(rootElem, XsdTypeName); return(rootElem); }