Package net.imglib2.type.numeric.integer
Class AbstractIntegerBitType<T extends AbstractIntegerBitType<T>>
- java.lang.Object
-
- net.imglib2.type.AbstractBitType<T>
-
- net.imglib2.type.numeric.integer.AbstractIntegerBitType<T>
-
- All Implemented Interfaces:
java.lang.Comparable<T>
,NativeType<T>
,ComplexType<T>
,IntegerType<T>
,NumericType<T>
,RealType<T>
,Add<T>
,Div<T>
,Mul<T>
,MulFloatingPoint
,SetOne
,SetZero
,Sub<T>
,ValueEquals<T>
,Type<T>
- Direct Known Subclasses:
Unsigned12BitType
,Unsigned2BitType
,Unsigned4BitType
public abstract class AbstractIntegerBitType<T extends AbstractIntegerBitType<T>> extends AbstractBitType<T> implements IntegerType<T>
The performance of this type is traded off for the gain in memory storage.- Author:
- Albert Cardona
-
-
Field Summary
-
Fields inherited from class net.imglib2.type.AbstractBitType
dataAccess, i, img, nBits
-
-
Constructor Summary
Constructors Constructor Description AbstractIntegerBitType(NativeImg<?,? extends LongAccess> bitStorage, int nBits)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
add(T t)
int
compareTo(T c)
void
complexConjugate()
void
dec()
void
div(T t)
boolean
equals(java.lang.Object o)
abstract long
get()
java.math.BigInteger
getBigInteger()
int
getBitsPerPixel()
double
getImaginaryDouble()
float
getImaginaryFloat()
int
getInteger()
long
getIntegerLong()
double
getMaxValue()
The maximum value that can be stored isMath.pow(2, nBits) -1
.double
getMinIncrement()
double
getMinValue()
double
getPhaseDouble()
float
getPhaseFloat()
double
getPowerDouble()
float
getPowerFloat()
double
getRealDouble()
float
getRealFloat()
int
hashCode()
void
inc()
void
mul(double c)
void
mul(float c)
void
mul(T t)
abstract void
set(long value)
void
set(T c)
Sets the value of anotherType
.void
setBigInteger(java.math.BigInteger b)
void
setComplexNumber(double r, double i)
void
setComplexNumber(float r, float i)
void
setImaginary(double complex)
void
setImaginary(float complex)
void
setInteger(int f)
void
setInteger(long f)
void
setOne()
void
setReal(double real)
void
setReal(float real)
void
setZero()
void
sub(T t)
java.lang.String
toString()
boolean
valueEquals(T t)
Default test at long precision.-
Methods inherited from class net.imglib2.type.AbstractBitType
decIndex, decIndex, getEntitiesPerPixel, getIndex, incIndex, incIndex, updateContainer, updateIndex
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.imglib2.type.NativeType
createSuitableNativeImg, duplicateTypeOnSameNativeImg
-
Methods inherited from interface net.imglib2.type.Type
copy, createVariable
-
-
-
-
Constructor Detail
-
AbstractIntegerBitType
public AbstractIntegerBitType(NativeImg<?,? extends LongAccess> bitStorage, int nBits)
-
-
Method Detail
-
get
public abstract long get()
-
set
public abstract void set(long value)
-
getBitsPerPixel
public int getBitsPerPixel()
- Specified by:
getBitsPerPixel
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
getMinIncrement
public double getMinIncrement()
- Specified by:
getMinIncrement
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
mul
public void mul(float c)
- Specified by:
mul
in interfaceMulFloatingPoint
-
mul
public void mul(double c)
- Specified by:
mul
in interfaceMulFloatingPoint
-
getRealFloat
public float getRealFloat()
- Specified by:
getRealFloat
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getRealDouble
public double getRealDouble()
- Specified by:
getRealDouble
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setReal
public void setReal(float real)
- Specified by:
setReal
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setReal
public void setReal(double real)
- Specified by:
setReal
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
compareTo
public int compareTo(T c)
- Specified by:
compareTo
in interfacejava.lang.Comparable<T extends AbstractIntegerBitType<T>>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getInteger
public int getInteger()
- Specified by:
getInteger
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
getIntegerLong
public long getIntegerLong()
- Specified by:
getIntegerLong
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
getBigInteger
public java.math.BigInteger getBigInteger()
- Specified by:
getBigInteger
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
setInteger
public void setInteger(int f)
- Specified by:
setInteger
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
setInteger
public void setInteger(long f)
- Specified by:
setInteger
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
setBigInteger
public void setBigInteger(java.math.BigInteger b)
- Specified by:
setBigInteger
in interfaceIntegerType<T extends AbstractIntegerBitType<T>>
-
getMaxValue
public double getMaxValue()
The maximum value that can be stored isMath.pow(2, nBits) -1
.- Specified by:
getMaxValue
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
getMinValue
public double getMinValue()
- Specified by:
getMinValue
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
inc
public void inc()
- Specified by:
inc
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
dec
public void dec()
- Specified by:
dec
in interfaceRealType<T extends AbstractIntegerBitType<T>>
-
set
public void set(T c)
Description copied from interface:Type
Sets the value of anotherType
.- Specified by:
set
in interfaceType<T extends AbstractIntegerBitType<T>>
- Parameters:
c
- the new value
-
getImaginaryFloat
public float getImaginaryFloat()
- Specified by:
getImaginaryFloat
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getImaginaryDouble
public double getImaginaryDouble()
- Specified by:
getImaginaryDouble
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setImaginary
public void setImaginary(float complex)
- Specified by:
setImaginary
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setImaginary
public void setImaginary(double complex)
- Specified by:
setImaginary
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getPhaseFloat
public float getPhaseFloat()
- Specified by:
getPhaseFloat
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getPhaseDouble
public double getPhaseDouble()
- Specified by:
getPhaseDouble
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getPowerFloat
public float getPowerFloat()
- Specified by:
getPowerFloat
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
getPowerDouble
public double getPowerDouble()
- Specified by:
getPowerDouble
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setComplexNumber
public void setComplexNumber(float r, float i)
- Specified by:
setComplexNumber
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
setComplexNumber
public void setComplexNumber(double r, double i)
- Specified by:
setComplexNumber
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
complexConjugate
public void complexConjugate()
- Specified by:
complexConjugate
in interfaceComplexType<T extends AbstractIntegerBitType<T>>
-
valueEquals
public boolean valueEquals(T t)
Default test at long precision. Please override for types longer than 64bit.- Specified by:
valueEquals
in interfaceValueEquals<T extends AbstractIntegerBitType<T>>
- Parameters:
t
-- Returns:
-
-