me.lemire.integercompression.IntWrapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of JavaFastPFOR Show documentation
Show all versions of JavaFastPFOR Show documentation
It is a library to compress and uncompress arrays of integers
very fast. The assumption is that most (but not all) values in
your array use less than 32 bits.
/**
* This code is released under the
* Apache License Version 2.0 http://www.apache.org/licenses/.
*
*/
package me.lemire.integercompression;
/**
* Essentially a mutable wrapper around an integer.
*
* @author dwu
*/
public final class IntWrapper extends Number {
private static final long serialVersionUID = 1L;
private int value;
/**
* Constructor: value set to 0.
*/
public IntWrapper() {
this(0);
}
/**
* Construction: value set to provided argument.
*
* @param v
* value to wrap
*/
public IntWrapper(final int v) {
this.value = v;
}
/**
* add the provided value to the integer
* @param v value to add
*/
public void add(int v) {
this.value += v;
}
@Override
public double doubleValue() {
return this.value;
}
@Override
public float floatValue() {
return this.value;
}
/**
* @return the integer value
*/
public int get() {
return this.value;
}
/**
* add 1 to the integer value
*/
public void increment() {
this.value++;
}
@Override
public int intValue() {
return this.value;
}
@Override
public long longValue() {
return this.value;
}
/**
* Set the value to that of the specified integer.
*
* @param value
* specified integer value
*/
public void set(final int value) {
this.value = value;
}
@Override
public String toString() {
return Integer.toString(this.value);
}
}