mev-4.0.01/source/org/tigr/microarray/mev/r/RBool.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 package org.tigr.microarray.mev.r;
2 26 Feb 07 jari 2
2 26 Feb 07 jari 3 /** Implementation of tri-state logical data type in R.
2 26 Feb 07 jari 4     The three states are TRUE, FALSE and NA. To obtain truly boolean
2 26 Feb 07 jari 5     value, you'll need to use {@link #isTRUE} or {@link #isFALSE} since there is
2 26 Feb 07 jari 6     no canonical representation of RBool in boolean
2 26 Feb 07 jari 7
2 26 Feb 07 jari 8     @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 }