memoization-core/src/main/java/de/xn__ho_hia/memoization/map/MapMemoize.java
public static <KEY> DoubleBinaryOperator doubleBinaryOperator(
            final DoubleBinaryOperator operator,
            final DoubleBinaryFunction<KEY> keyFunction,
            final Map<KEY, Double> cache) {
        return new ConcurrentMapBasedDoubleBinaryOperatorMemoizer<>(asConcurrentMap(cache), keyFunction, operator);
    }
/**
     * <p>
     * Memoizes a {@link DoubleBinaryOperator} in a {@link java.util.concurrent.ConcurrentMap}.
     * </p>
     * <h3>Features</h3>
     * <ul>
     * <li>Custom cache</li>
     * <li>Custom cache key</li>
     * </ul>
     *
     * @param <KEY>
     *            The type of the cache key.
     * @param operator
     *            The {@link DoubleBinaryOperator} to memoize.
     * @param keyFunction
     *            The {@link DoubleBinaryFunction} to compute the cache key.
     * @param cache
     *            The {@link Map} based cache to use.
     * @return The wrapped {@link DoubleBinaryOperator}.
     */


@param 
The type of the cache key.
@param operator
The  DoubleBinaryOperator to memoize.
@param keyFunction
The  DoubleBinaryFunction to compute the cache key.
@param cache
The  Map based cache to use.
@return The wrapped  DoubleBinaryOperator.
@param The type of the cache key . @param operator The DoubleBinaryOperator to memoize . @param keyFunction The DoubleBinaryFunction to compute the cache key . @param cache The Map based cache to use . @return The wrapped DoubleBinaryOperator .
public static <KEY> DoubleBinaryOperator doubleBinaryOperator(
            final DoubleBinaryOperator operator,
            final DoubleBinaryFunction<KEY> keyFunction,
            final Map<KEY, Double> cache) {
        return new ConcurrentMapBasedDoubleBinaryOperatorMemoizer<>(asConcurrentMap(cache), keyFunction, operator);
    }
public static < KEY > DoubleBinaryOperator doubleBinaryOperator ( final DoubleBinaryOperator operator , final DoubleBinaryFunction < KEY > keyFunction , final Map < KEY , Double > cache ) { return new ConcurrentMapBasedDoubleBinaryOperatorMemoizer < > ( asConcurrentMap ( cache ) , keyFunction , operator ) ; }
<p>
 Memoizes a {@link DoubleBinaryOperator} in a {@link java.util.concurrent.ConcurrentMap}.
<p > Memoizes a { @link DoubleBinaryOperator } in a { @link java . util . concurrent . ConcurrentMap } .