66 |
09 Feb 06 |
enell |
1 |
/* |
66 |
09 Feb 06 |
enell |
* Created on 27-May-2004 |
66 |
09 Feb 06 |
enell |
3 |
* |
66 |
09 Feb 06 |
enell |
* Power.java is a part of WeightedMerge |
66 |
09 Feb 06 |
enell |
5 |
* |
66 |
09 Feb 06 |
enell |
* Copyright (C) 2004 Johan Enell, Dept Oncology, Lund University |
66 |
09 Feb 06 |
enell |
7 |
* |
66 |
09 Feb 06 |
enell |
* This program is free software; you can redistribute it and/or modify it under |
66 |
09 Feb 06 |
enell |
* the terms of the GNU General Public License as published by the Free Software |
66 |
09 Feb 06 |
enell |
* Foundation; either version 2 of the License, or (at your option) any later |
66 |
09 Feb 06 |
enell |
* version. |
66 |
09 Feb 06 |
enell |
12 |
* |
66 |
09 Feb 06 |
enell |
* This program is distributed in the hope that it will be useful, but WITHOUT |
66 |
09 Feb 06 |
enell |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
66 |
09 Feb 06 |
enell |
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
66 |
09 Feb 06 |
enell |
* details. |
66 |
09 Feb 06 |
enell |
17 |
* |
66 |
09 Feb 06 |
enell |
* You should have received a copy of the GNU General Public License along with |
66 |
09 Feb 06 |
enell |
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
66 |
09 Feb 06 |
enell |
* 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 |
* This is the powerOperator. It's value is |
66 |
09 Feb 06 |
enell |
* <code>(float) Math.pow(tok1.getValue(), tok2.getValue())</code>. |
66 |
09 Feb 06 |
enell |
29 |
* |
66 |
09 Feb 06 |
enell |
* @author Johan Enell, johan.enell@onk.lu.se, Dept Oncology, Lund University, |
66 |
09 Feb 06 |
enell |
* 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 |
* Creates a new Power operator with the Tokens set to null. The character |
66 |
09 Feb 06 |
enell |
* 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 |
* Creates a new Power operator with the Tokens tok1 and tok2. The character |
66 |
09 Feb 06 |
enell |
* is set to "^" and the order is set to 3. |
66 |
09 Feb 06 |
enell |
50 |
* |
66 |
09 Feb 06 |
enell |
* @param tok1 |
66 |
09 Feb 06 |
enell |
* the first Token. |
66 |
09 Feb 06 |
enell |
* @param tok2 |
66 |
09 Feb 06 |
enell |
* 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 |
* (non-Javadoc) |
66 |
09 Feb 06 |
enell |
65 |
* |
66 |
09 Feb 06 |
enell |
* @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 |
* (non-Javadoc) |
66 |
09 Feb 06 |
enell |
76 |
* |
66 |
09 Feb 06 |
enell |
* @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 |
} |