public Iυ2 Calculate( INormalFactory normalFactory, Iυ2ResultElementFactory υ2ResultElementFactory, Iυ2Factory υ2Factory, IMRNBCalculation MRNBCalculation, IRNBCalculation RNBCalculation, Iυ2ResultElementCalculation υ2ResultElementCalculation, It t, IΛ Λ, IΩ Ω, IExpectedValueI expectedValueI, IVarianceI varianceI) { return(υ2Factory.Create( Λ.Value .Select(i => υ2ResultElementCalculation.Calculate( normalFactory, υ2ResultElementFactory, MRNBCalculation, RNBCalculation, i, t, Ω, expectedValueI, varianceI)) .ToImmutableList())); }
public Iυ2ResultElement Calculate( INormalFactory normalFactory, Iυ2ResultElementFactory υ2ResultElementFactory, IMRNBCalculation MRNBCalculation, IRNBCalculation RNBCalculation, IΛIndexElement ΛIndexElement, It t, IΩ Ω, IExpectedValueI expectedValueI, IVarianceI varianceI) { int MRNB = 0; decimal υ2 = 0; do { MRNB = MRNBCalculation.Calculate( normalFactory, RNBCalculation, ΛIndexElement, t, expectedValueI, varianceI, υ2); υ2 = (decimal)υ2 + (decimal)0.01; } while (MRNB <= Ω.Value.Value.Value && υ2 <= 1); return(υ2ResultElementFactory.Create( ΛIndexElement, υ2 - (decimal)0.01)); // Subtract 0.01 to account for last iteration of the do-while loop }
public IMRNBCalculation Create() { IMRNBCalculation calculation = null; try { calculation = new MRNBCalculation(); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(calculation); }