2 |
26 Feb 07 |
jari |
1 |
package org.tigr.microarray.mev.r; |
2 |
26 Feb 07 |
jari |
2 |
|
2 |
26 Feb 07 |
jari |
/** Implementation of tri-state logical data type in R. |
2 |
26 Feb 07 |
jari |
The three states are TRUE, FALSE and NA. To obtain truly boolean |
2 |
26 Feb 07 |
jari |
value, you'll need to use {@link #isTRUE} or {@link #isFALSE} since there is |
2 |
26 Feb 07 |
jari |
no canonical representation of RBool in boolean |
2 |
26 Feb 07 |
jari |
7 |
|
2 |
26 Feb 07 |
jari |
@version $Id$ |
2 |
26 Feb 07 |
jari |
9 |
*/ |
2 |
26 Feb 07 |
jari |
10 |
public class RBool extends Object { |
2 |
26 Feb 07 |
jari |
11 |
int val; |
2 |
26 Feb 07 |
jari |
12 |
|
2 |
26 Feb 07 |
jari |
13 |
public RBool(boolean b) { |
2 |
26 Feb 07 |
jari |
14 |
val=(b)?1:0; |
2 |
26 Feb 07 |
jari |
15 |
}; |
2 |
26 Feb 07 |
jari |
16 |
public RBool(RBool r) { |
2 |
26 Feb 07 |
jari |
17 |
val=r.val; |
2 |
26 Feb 07 |
jari |
18 |
}; |
2 |
26 Feb 07 |
jari |
19 |
public RBool(int i) { /* 0=FALSE, 2=NA, anything else = TRUE */ |
2 |
26 Feb 07 |
jari |
20 |
val=(i==0||i==2)?i:1; |
2 |
26 Feb 07 |
jari |
21 |
}; |
2 |
26 Feb 07 |
jari |
22 |
|
2 |
26 Feb 07 |
jari |
23 |
public boolean isNA() { return (val==2); }; |
2 |
26 Feb 07 |
jari |
24 |
public boolean isTRUE() { return (val==1); }; |
2 |
26 Feb 07 |
jari |
25 |
public boolean isFALSE() { return (val==0); }; |
2 |
26 Feb 07 |
jari |
26 |
|
2 |
26 Feb 07 |
jari |
27 |
public String toString() { return (val==0)?"FALSE":((val==2)?"NA":"TRUE"); }; |
2 |
26 Feb 07 |
jari |
28 |
} |