/// <summary> /// Obtains an instance specifying the functions, reporting currency and additional parameters. /// <para> /// Most functions require a parameter to control their behavior, such as {@code RatesMarketDataLookup}. /// /// </para> /// </summary> /// <param name="functions"> the calculation functions </param> /// <param name="reportingCurrency"> the reporting currency </param> /// <param name="parameters"> the parameters that control the calculation, may be empty </param> /// <returns> the rules </returns> public static CalculationRules of(CalculationFunctions functions, Currency reportingCurrency, params CalculationParameter[] parameters) { CalculationParameters @params = CalculationParameters.of(parameters); return(new CalculationRules(functions, ReportingCurrency.of(reportingCurrency), @params)); }
/// <summary> /// Obtains an instance specifying the functions to use and some additional parameters. /// <para> /// The output will uses the "natural" <seealso cref="ReportingCurrency reporting currency"/>. /// Most functions require a parameter to control their behavior, such as {@code RatesMarketDataLookup}. /// /// </para> /// </summary> /// <param name="functions"> the calculation functions </param> /// <param name="parameters"> the parameters that control the calculation, may be empty </param> /// <returns> the rules </returns> public static CalculationRules of(CalculationFunctions functions, CalculationParameters parameters) { return(new CalculationRules(functions, ReportingCurrency.NATURAL, parameters)); }