Class FunctionCalculatorImpl

    • Constructor Detail

      • FunctionCalculatorImpl

        protected FunctionCalculatorImpl()
        Default constructor.
    • Method Detail

      • function

        public Number function​(String name,
                               List<Number> arguments)
                        throws ParseException
        Description copied from interface: CalculatorImpl
        Arbitrary function.
        Parameters:
        name - Name of the function.
        arguments - Function arguments.
        Returns:
        Function value.
        Throws:
        ParseException - In case of invalid arguments.
      • fixedFunction

        protected FunctionCalculatorImpl.FixedFunction fixedFunction​(String name,
                                                                     int minArguments,
                                                                     int maxArguments,
                                                                     FunctionCalculatorImpl.FixedFunctionHandler handler)
        Factory method.
        Parameters:
        name - The function's name.
        minArguments - The minimum number of arguments that the function takes.
        maxArguments - The maximum number of arguments that the function takes.
        handler - The handler of the function.
        Returns:
        The function.
      • getFunctions

        protected abstract FunctionCalculatorImpl.Functions getFunctions​(Number x)
        Get the function implementations.
        Parameters:
        x - The number to use as the function argument.
        Returns:
        The function implementations.
      • promote

        protected abstract Number promote​(Number x)
        Promote a number to a more specific class.
        Parameters:
        x - The argument.
        Returns:
        The argument, possibly converted to a more specific subclass.