001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2006-2006 Pentaho
008// All Rights Reserved.
009*/
010package mondrian.calc;
011
012import mondrian.olap.Evaluator;
013
014/**
015 * Compiled expression whose result is a <code>double</code>.
016 *
017 * <p>When implementing this interface, it is convenient to extend
018 * {@link mondrian.calc.impl.AbstractDoubleCalc}, but it is not required.
019 *
020 * @author jhyde
021 * @since Sep 27, 2005
022 */
023public interface DoubleCalc extends Calc {
024    /**
025     * Evaluates this expression to yield a <code>double</code> value.
026     * If the result is null, returns the special
027     * {@link mondrian.olap.fun.FunUtil#DoubleNull} value.
028     *
029     * @param evaluator Evaluation context
030     * @return evaluation result
031     */
032    double evaluateDouble(Evaluator evaluator);
033}
034
035// End DoubleCalc.java