1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.millscript.office.spreadsheet.formula.expr;
23
24 import org.millscript.millscript.action.Action;
25 import org.millscript.millscript.action.BinaryOpAction;
26 import org.millscript.millscript.expr.BinaryOpExpr;
27 import org.millscript.millscript.expr.Expr;
28 import org.millscript.millscript.tools.IntegerTools;
29 import org.millscript.office.spreadsheet.formula.action.PowerAction;
30
31 /**
32 * This class implements an arithmetic expression. This expression always
33 * returns one result.
34 *
35 * @see IntegerTools
36 */
37 public final class PowerExpr extends BinaryOpExpr< BinaryOpAction > {
38
39 /**
40 * Creates a new arithmetic expression for the specified symbol and left and
41 * right hand side expressions.
42 *
43 * @param a the left hand side expression, which should return a single
44 * result
45 * @param b the right hand side expression, which should return a single
46 * result
47 */
48 public PowerExpr( final Expr< ? > a, final Expr< ? > b ) {
49 super( new AsNumberExpr( a ), new AsNumberExpr( b ) );
50 }
51
52 /**
53 * @see org.millscript.millscript.expr.BinaryOpExpr#newAction(org.millscript.millscript.action.Action, org.millscript.millscript.action.Action)
54 */
55 @Override
56 public BinaryOpAction newAction( final Action a, final Action b ) {
57 return new PowerAction( a, b );
58 }
59
60 }