1 33 40 41 package net.sf.jga.fn.arithmetic; 42 43 class IntegerMath implements IntegerArithmetic<Integer > { 44 45 static final long serialVersionUID = 4213102951085209726L; 46 47 static private final Integer ZERO = new Integer (0); 48 static private final Integer ONE = new Integer (1); 49 50 54 55 public Integer valueOf(Number value) throws IllegalArgumentException { 56 return new Integer (value.intValue()); 57 } 58 59 62 63 public Integer zero() { 64 return ZERO; 65 } 66 67 70 71 public Integer one() { 72 return ONE; 73 } 74 75 79 80 public Integer plus (Integer x, Integer y) { 81 return new Integer (x.intValue() + y.intValue()); 82 } 83 84 88 89 public Integer minus (Integer x, Integer y) { 90 return new Integer (x.intValue() - y.intValue()); 91 } 92 93 97 98 public Integer multiplies (Integer x, Integer y){ 99 return new Integer (x.intValue() * y.intValue()); 100 } 101 102 103 107 108 public Integer divides (Integer x, Integer y) { 109 return new Integer (x.intValue() / y.intValue()); 110 } 111 112 116 117 public Integer negate (Integer x) { 118 return new Integer (-x.intValue()); 119 } 120 121 125 126 public Integer modulus (Integer x, Integer y) { 127 return new Integer (x.intValue() % y.intValue()); 128 } 129 130 134 135 public Integer and (Integer x, Integer y) { 136 return new Integer (x.intValue() & y.intValue()); 137 } 138 139 143 144 public Integer or (Integer x, Integer y) { 145 return new Integer (x.intValue() | y.intValue()); 146 } 147 148 152 153 public Integer xor (Integer x, Integer y) { 154 return new Integer (x.intValue() ^ y.intValue()); 155 } 156 157 161 162 public Integer not (Integer x) { 163 return new Integer (~x.intValue()); 164 } 165 166 169 170 public Integer shiftLeft(Integer x, Integer y) { 171 return new Integer (x.intValue() << y.intValue()); 172 } 173 174 177 178 public Integer signedShiftRight(Integer x, Integer y) { 179 return new Integer (x.intValue() >> y.intValue()); 180 } 181 182 186 187 public Integer unsignedShiftRight(Integer x, Integer y) { 188 return new Integer (x.intValue() >>> y.intValue()); 189 } 190 } 191 | Popular Tags |