#include <boost/math/special_functions/factorials.hpp>
namespace boost{ namespace math{
template <class T>
calculated-result-type rising_factorial(T x, int i);
template <class T, class Policy>
calculated-result-type rising_factorial(T x, int i, const Policy&);
}}
Возвращение рост факториала x и i:
up_factorial(x, i) = Γ(x + i) / Γ(x);
или
up_factorial(x, i) = x(x+1)(x+2)(x+3)...(x+i-1)
Обратите внимание, что как x, так и i могут быть как отрицательными, так и позитивными.
Окончательный аргумент Политика является необязательным и может использоваться для контроля поведения функции: как он обрабатывает ошибки, какой уровень точности использовать и т.д. См. документ политики для более подробной информации.
Может вернуть результат overflow_error, если результат слишком большой, чтобы представлять в типе T.
Тип возврата этих функций вычисляется с помощью правил расчета результатов: тип результата ДП
, если T является целым типом, в противном случае тип результата T.
Точность будет такой же, как функция tgamma_delta_ratio.
Спотовые тесты для восходящих факториалов используют данные, генерируемые функциями.wolfram.com.
Восходящие и падающие фактории реализуются как соотношения гамма-функций с использованием tgamma_delta_ratio. Оптимизации для мелких целых аргументов обрабатывается внутри этой функцией.