/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.math.function; /** * * Interface for function definition. The function arguments can be * multi-dimensional (but not multi-type), as can the function value. The return * type of the function is not necessarily the same as that of the inputs. * * @param <S> Type of the arguments * @param <T> Return type of the function */ public interface Function<S, T> { /** * * @param x The list of inputs into the function, not null and no null elements * @return The value of the function */ @SuppressWarnings("unchecked") T evaluate(S... x); }