de.caff.generics.function

## Interface DoubleFunction4<T>

- Type Parameters:
    `T` - result type
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface DoubleFunction4<T>

  Function with 4 primitive double arguments creation a general result.
  Since:
    April 26, 2021
  Author:
    Rammi

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default <R> DoubleFunction4<R>` | `andThen(java.util.function.Function<? super T,? extends R> after)` Get a chained function which first applies this function and then the given function to the returned value.
    `T` | `apply(double v1, double v2, double v3, double v4)` Apply this function to three double arguments and return the result.
    `default DoubleFunction3<T>` | `partial1(double argument)` Get a partially applied function where the first argument is fix.
    `default DoubleFunction3<T>` | `partial2(double argument)` Get a partially applied function where the second argument is fix.
    `default DoubleFunction3<T>` | `partial3(double argument)` Get a partially applied function where the third argument is fix.
    `default DoubleFunction3<T>` | `partial4(double argument)` Get a partially applied function where the fourth argument is fix.

- - ### Method Detail

    - #### apply

          T apply(double v1,
                  double v2,
                  double v3,
                  double v4)

      Apply this function to three double arguments and return the result.
      Parameters:
        `v1` - first argument value
        `v2` - second argument value
        `v3` - third argument value
        `v4` - fourth argument value
      Returns:
        result value

    - #### partial1

          @NotNull
          default DoubleFunction3<T> partial1(double argument)

      Get a partially applied function where the first argument is fix.
      Parameters:
        `argument` - value applied for first argument
      Returns:
        partially evaluated function

    - #### partial2

          @NotNull
          default DoubleFunction3<T> partial2(double argument)

      Get a partially applied function where the second argument is fix.
      Parameters:
        `argument` - value applied for second argument
      Returns:
        partially evaluated function

    - #### partial3

          @NotNull
          default DoubleFunction3<T> partial3(double argument)

      Get a partially applied function where the third argument is fix.
      Parameters:
        `argument` - value applied for third argument
      Returns:
        partially evaluated function

    - #### partial4

          @NotNull
          default DoubleFunction3<T> partial4(double argument)

      Get a partially applied function where the fourth argument is fix.
      Parameters:
        `argument` - value applied for fourth argument
      Returns:
        partially evaluated function

    - #### andThen

          @NotNull
          default <R> DoubleFunction4<R> andThen(@NotNull
                                                          java.util.function.Function<? super T,? extends R> after)

      Get a chained function which first applies this function and then the given function to the returned value.
      Type Parameters:
        `R` - result type of returned function
      Parameters:
        `after` - function to apply after this one
      Returns:
        function chain