66 |
09 Feb 06 |
enell |
1 |
/* |
66 |
09 Feb 06 |
enell |
* Created on 01-Jun-2004 |
66 |
09 Feb 06 |
enell |
3 |
* |
66 |
09 Feb 06 |
enell |
* Modulo.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 modulo Operator. It's value is |
66 |
09 Feb 06 |
enell |
* <code>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 Modulo 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 Modulo operator with the Tokens set to null. The character |
66 |
09 Feb 06 |
enell |
* is set to "%" and the order is set to 2. |
66 |
09 Feb 06 |
enell |
39 |
*/ |
66 |
09 Feb 06 |
enell |
40 |
protected Modulo() |
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 = 2; |
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 Modulo operator with the Tokens tok1 and tok2. The |
66 |
09 Feb 06 |
enell |
* character is set to "%" and the order is set to 2. |
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 Modulo(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 = 2; |
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 tok1.getValue() % tok2.getValue(); |
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 tok1.getValue(variables) % tok2.getValue(variables); |
66 |
09 Feb 06 |
enell |
83 |
} |
66 |
09 Feb 06 |
enell |
84 |
} |