plugins/base1/se.lu.onk/trunk/QPackage/src/qpackage/calculator/Power.java

Code
Comments
Other
Rev Date Author Line
66 09 Feb 06 enell 1 /*
66 09 Feb 06 enell 2  * Created on 27-May-2004
66 09 Feb 06 enell 3  * 
66 09 Feb 06 enell 4  * Power.java is a part of WeightedMerge
66 09 Feb 06 enell 5  * 
66 09 Feb 06 enell 6  * Copyright (C) 2004 Johan Enell, Dept Oncology, Lund University
66 09 Feb 06 enell 7  * 
66 09 Feb 06 enell 8  * This program is free software; you can redistribute it and/or modify it under
66 09 Feb 06 enell 9  * the terms of the GNU General Public License as published by the Free Software
66 09 Feb 06 enell 10  * Foundation; either version 2 of the License, or (at your option) any later
66 09 Feb 06 enell 11  * version.
66 09 Feb 06 enell 12  * 
66 09 Feb 06 enell 13  * This program is distributed in the hope that it will be useful, but WITHOUT
66 09 Feb 06 enell 14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
66 09 Feb 06 enell 15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
66 09 Feb 06 enell 16  * details.
66 09 Feb 06 enell 17  * 
66 09 Feb 06 enell 18  * You should have received a copy of the GNU General Public License along with
66 09 Feb 06 enell 19  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
66 09 Feb 06 enell 20  * Place - Suite 330, Boston, MA 02111-1307, USA.
66 09 Feb 06 enell 21  */
67 10 Feb 06 enell 22 package qpackage.calculator;
66 09 Feb 06 enell 23
66 09 Feb 06 enell 24 import java.util.HashMap;
66 09 Feb 06 enell 25
66 09 Feb 06 enell 26 /**
66 09 Feb 06 enell 27  * This is the powerOperator. It's value is
66 09 Feb 06 enell 28  * <code>(float) Math.pow(tok1.getValue(), tok2.getValue())</code>.
66 09 Feb 06 enell 29  * 
66 09 Feb 06 enell 30  * @author Johan Enell, johan.enell@onk.lu.se, Dept Oncology, Lund University,
66 09 Feb 06 enell 31  *         S-221 85 Lund, Sweden
66 09 Feb 06 enell 32  */
66 09 Feb 06 enell 33 public class Power extends Operator
66 09 Feb 06 enell 34 {
66 09 Feb 06 enell 35
66 09 Feb 06 enell 36   /**
66 09 Feb 06 enell 37    * Creates a new Power operator with the Tokens set to null. The character
66 09 Feb 06 enell 38    * is set to "^" and the order is set to 3.
66 09 Feb 06 enell 39    */
66 09 Feb 06 enell 40   protected Power()
66 09 Feb 06 enell 41   {
66 09 Feb 06 enell 42     super();
66 09 Feb 06 enell 43     this.character = "^";
66 09 Feb 06 enell 44     this.order = 3;
66 09 Feb 06 enell 45   }
66 09 Feb 06 enell 46
66 09 Feb 06 enell 47   /**
66 09 Feb 06 enell 48    * Creates a new Power operator with the Tokens tok1 and tok2. The character
66 09 Feb 06 enell 49    * is set to "^" and the order is set to 3.
66 09 Feb 06 enell 50    * 
66 09 Feb 06 enell 51    * @param tok1
66 09 Feb 06 enell 52    *            the first Token.
66 09 Feb 06 enell 53    * @param tok2
66 09 Feb 06 enell 54    *            the second Token.
66 09 Feb 06 enell 55    */
66 09 Feb 06 enell 56   protected Power(Token tok1, Token tok2)
66 09 Feb 06 enell 57   {
66 09 Feb 06 enell 58     super(tok1, tok2);
66 09 Feb 06 enell 59     this.character = "^";
66 09 Feb 06 enell 60     this.order = 3;
66 09 Feb 06 enell 61   }
66 09 Feb 06 enell 62
66 09 Feb 06 enell 63   /*
66 09 Feb 06 enell 64    * (non-Javadoc)
66 09 Feb 06 enell 65    * 
66 09 Feb 06 enell 66    * @see calc.Token#getValue()
66 09 Feb 06 enell 67    */
66 09 Feb 06 enell 68   @Override
66 09 Feb 06 enell 69   protected float getValue()
66 09 Feb 06 enell 70   {
66 09 Feb 06 enell 71     return (float) Math.pow(tok1.doubleValue(), tok2.doubleValue());
66 09 Feb 06 enell 72   }
66 09 Feb 06 enell 73
66 09 Feb 06 enell 74   /*
66 09 Feb 06 enell 75    * (non-Javadoc)
66 09 Feb 06 enell 76    * 
66 09 Feb 06 enell 77    * @see calc.Token#getValue(java.util.HashMap)
66 09 Feb 06 enell 78    */
66 09 Feb 06 enell 79   @Override
66 09 Feb 06 enell 80   protected float getValue(HashMap variables)
66 09 Feb 06 enell 81   {
66 09 Feb 06 enell 82     return (float) Math.pow(tok1.doubleValue(variables), tok2.doubleValue(variables));
66 09 Feb 06 enell 83   }
66 09 Feb 06 enell 84 }