All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.sandia.cognition.math.ScalarFunction Maven / Gradle / Ivy

/*
 * File:            ScalarFunction.java
 * Authors:         Justin Basilico
 * Project:         Cognitive Foundry Common Core
 * 
 * Copyright 2011 Cognitive Foundry. All rights reserved.
 */

package gov.sandia.cognition.math;

import gov.sandia.cognition.evaluator.Evaluator;

/**
 * Interface for a function that maps some input onto a double.
 *
 * @param   
 *      The type of the input to the scalar function.
 * @author  Justin Basilico
 * @since   3.3.3
 */
public interface ScalarFunction
    extends Evaluator
{

    /**
     * Evaluates the scalar function as a double.
     *
     * @param   input
     *      The input value.
     * @return
     *      The scalar output calculated from the given input.
     */
    public double evaluateAsDouble(
        final InputType input);
    
    /**
     * Returns the result of calling {@code evaluateAsDouble}.
     *
     * @param   input
     *      The input value.
     * @return
     *      The result evaluated as a double.
     */
    @Override
    default Double evaluate(
        final InputType input)
    {
        return this.evaluateAsDouble(input);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy