Class LogFunction

  • All Implemented Interfaces:
    Function

    public class LogFunction
    extends Object
    implements Function
    Стратегия для логарифмических функций (ln, log10, log).

    Инкапсулирует логику выбора конкретного логарифма. Паттерн: Strategy.

    • Constructor Detail

      • LogFunction

        public LogFunction​(LogFunction.Type type)
        Создает логарифмическую функцию.
        Parameters:
        type - тип функции (LN, LOG10, LOG2)
    • Method Detail

      • apply

        public double apply​(double... args)
                     throws ExpressionException
        Description copied from interface: Function
        Вычисляет значение функции.
        Specified by:
        apply in interface Function
        Parameters:
        args - аргументы функции (varargs для поддержки унарных/бинарных/многоаргументных функций)
        Returns:
        результат вычисления
        Throws:
        ExpressionException - если количество аргументов не соответствует ожидаемому, или значения аргументов выходят за допустимый диапазон
      • fromName

        public static LogFunction fromName​(String name)
                                    throws ExpressionException
        Фабричный метод для создания по имени.
        Parameters:
        name - имя функции ("ln", "log10", "log2")
        Returns:
        экземпляр функции
        Throws:
        ExpressionException - если имя неизвестно