예제 #1
0
        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}");
        }
예제 #2
0
        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))");
        }
예제 #3
0
        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()}'."
                    )
            });
예제 #4
0
 protected BaseExcelSheet(ReportOptions excelOptions, IExcelFormulaProvider provider)
 {
     _excelOptions   = excelOptions.ThrowIfNull(nameof(excelOptions));
     FormulaProvider = provider.ThrowIfNull(nameof(provider));
 }