public static string Chi2(IExcelFormulaProvider formulaProvider, string chi2Range, string experimentsNumber) { formulaProvider.ThrowIfNull(nameof(formulaProvider)); chi2Range.ThrowIfNullOrWhiteSpace(nameof(chi2Range)); experimentsNumber.ThrowIfNullOrWhiteSpace(nameof(experimentsNumber)); return($"{formulaProvider.Sum(chi2Range)} * {experimentsNumber}"); }
public static string ScottFormula(IExcelFormulaProvider formulaProvider, string normalizedValueRange, string experimentsNumber) { formulaProvider.ThrowIfNull(nameof(formulaProvider)); normalizedValueRange.ThrowIfNullOrWhiteSpace(nameof(normalizedValueRange)); experimentsNumber.ThrowIfNullOrWhiteSpace(nameof(experimentsNumber)); return($"(3.5 * {formulaProvider.StdDev(normalizedValueRange)}) / ({experimentsNumber}^(1/3))"); }
public static string GetFormulaForFunction(IExcelFormulaProvider formulaProvider, FunctionType functionType) { formulaProvider.ThrowIfNull(nameof(formulaProvider)); return(functionType switch { FunctionType.Exponential => formulaProvider.GetFormulaByName(nameof(IExcelFormulaProvider.Exp)), FunctionType.Line => string.Empty, FunctionType.Logarithm => formulaProvider.GetFormulaByName(nameof(IExcelFormulaProvider.Ln)), FunctionType.Polynomial => string.Empty, FunctionType.Power => string.Empty, _ => throw new ArgumentOutOfRangeException( nameof(functionType), functionType, $"Unknown function type: '{functionType.ToString()}'." ) });
protected BaseExcelSheet(ReportOptions excelOptions, IExcelFormulaProvider provider) { _excelOptions = excelOptions.ThrowIfNull(nameof(excelOptions)); FormulaProvider = provider.ThrowIfNull(nameof(provider)); }