static public SictVonAnwendungBerict KonstruktFürAutomaatZuusctandDiferenzScrit( WertZuZaitpunktStruct <Bib3.RefNezDiferenz.SictZuNezSictDiferenzScritAbbild> AutomaatZuusctandDiferenzScritMitZait) { return(new SictVonAnwendungBerict() { MengeAutomaatZuusctandDiferenzScritMitZait = new[] { AutomaatZuusctandDiferenzScritMitZait }, }); }
static public void BoundComputeFromSetMeasuredBound( IEnumerable<MeasurementBound1DIntAtTime> SetMeasuredBound, out WertZuZaitpunktStruct<Int64>? LowerBound, out WertZuZaitpunktStruct<Int64>? UpperBound, int SafetyIndex) { LowerBound = null; UpperBound = null; var ListMeasuredBound = SetMeasuredBound?.OrderByDescending(MeasuredBound => MeasuredBound.Time)?.ToArray(); if (null == ListMeasuredBound) { return; } if (SafetyIndex < 1) { return; } var BoundComponentCountMax = SafetyIndex * 2 - 1; MeasurementBound1DIntAtTime[] LowerBoundComponent = null; MeasurementBound1DIntAtTime[] UpperBoundComponent = null; foreach (var MeasuredBound in ListMeasuredBound) { if (MeasuredBound.IsUpperBound) { UpperBoundComponent = UpperBoundComponent.ConcatNullable(MeasuredBound.Yield()) .OrderByDescending(Bound => Bound.Time) .OrderBy(Bound => Bound.Bound) .Take(BoundComponentCountMax) .ToArray(); } else { LowerBoundComponent = LowerBoundComponent.ConcatNullable(MeasuredBound.Yield()) .OrderByDescending(Bound => Bound.Time) .OrderByDescending(Bound => Bound.Bound) .Take(BoundComponentCountMax) .ToArray(); } if (SafetyIndex <= LowerBoundComponent?.Length) { var ListeVarianteScrankeMin = new WertZuZaitpunktStruct<Int64>[LowerBoundComponent.Length - SafetyIndex + 1]; for (int i = 0; i < ListeVarianteScrankeMin.Length; i++) { var VarianteInListeAnzaalIndex = i + SafetyIndex - 1; var VarianteScrankeMin = LowerBoundComponent.ElementAt(VarianteInListeAnzaalIndex); var VarianteScrankeMax = Int64.MaxValue; if (VarianteInListeAnzaalIndex < Bib3.Extension.CountNullable(LowerBoundComponent)) { VarianteScrankeMax = LowerBoundComponent.ElementAt(VarianteInListeAnzaalIndex).Bound; } ListeVarianteScrankeMin[i] = new WertZuZaitpunktStruct<Int64>( Math.Min(VarianteScrankeMin.Bound, VarianteScrankeMax), VarianteScrankeMin.Time); } var CandidateLowerBoundReplacement = ListeVarianteScrankeMin.OrderByDescending((VarianteScrankeMin) => VarianteScrankeMin.Wert).FirstOrDefault(); if (!(CandidateLowerBoundReplacement.Wert < LowerBound?.Wert)) { LowerBound = CandidateLowerBoundReplacement; } } if (SafetyIndex <= UpperBoundComponent?.Length) { var ListeVarianteScrankeMax = new WertZuZaitpunktStruct<Int64>[UpperBoundComponent.Length - SafetyIndex + 1]; for (int i = 0; i < ListeVarianteScrankeMax.Length; i++) { var VarianteInListeAnzaalIndex = i + SafetyIndex - 1; var VarianteScrankeMax = UpperBoundComponent.ElementAt(VarianteInListeAnzaalIndex); var VarianteScrankeMin = Int64.MinValue; if (VarianteInListeAnzaalIndex < Bib3.Extension.CountNullable(UpperBoundComponent)) { VarianteScrankeMin = UpperBoundComponent.ElementAt(VarianteInListeAnzaalIndex).Bound; } ListeVarianteScrankeMax[i] = new WertZuZaitpunktStruct<Int64>( Math.Max(VarianteScrankeMax.Bound, VarianteScrankeMin), VarianteScrankeMax.Time); } var CandidateUpperBoundReplacement = ListeVarianteScrankeMax.OrderBy((VarianteScrankeMax) => VarianteScrankeMax.Wert).FirstOrDefault(); if (!(UpperBound?.Wert < CandidateUpperBoundReplacement.Wert)) { UpperBound = CandidateUpperBoundReplacement; } } if (LowerBound.HasValue && UpperBound.HasValue) { if (UpperBound.Value.Wert <= LowerBound.Value.Wert) { break; } } } }
public void AppDomainConstruct() { AppDomain.Wert?.Dispose(); AppDomain = new WertZuZaitpunktStruct <InterfaceAppDomainProxy>(new InterfaceAppDomainProxy(AppDomainSetupType, AppDomainSetupTypeLoadFromMainModule), Glob.StopwatchZaitMiliSictInt()); }