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:
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
ConstructorsConstructorDescriptionAbstractIntegerBitType
(NativeImg<?, ? extends LongAccess> bitStorage, int nBits) -
Method Summary
Modifier and TypeMethodDescriptionvoid
int
void
void
dec()
void
boolean
abstract long
get()
int
double
float
int
long
double
The maximum value that can be stored isMath.pow(2, nBits) -1
.double
double
double
float
double
float
double
float
int
hashCode()
void
inc()
void
mul
(double c) void
mul
(float c) void
abstract void
set
(long value) void
Sets the value of anotherType
.void
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
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 Details
-
AbstractIntegerBitType
-
-
Method Details
-
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>>
-
setZero
public void setZero() -
setOne
public void setOne() -
equals
-
hashCode
public int hashCode() -
compareTo
- Specified by:
compareTo
in interfaceComparable<T extends AbstractIntegerBitType<T>>
-
toString
-
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
- 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
- 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>>
-
add
- Specified by:
add
in interfaceAdd<T extends AbstractIntegerBitType<T>>
-
sub
- Specified by:
sub
in interfaceSub<T extends AbstractIntegerBitType<T>>
-
mul
- Specified by:
mul
in interfaceMul<T extends AbstractIntegerBitType<T>>
-
div
- Specified by:
div
in interfaceDiv<T extends AbstractIntegerBitType<T>>
-
set
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
Default test at long precision. Please override for types longer than 64bit.- Specified by:
valueEquals
in interfaceValueEquals<T extends AbstractIntegerBitType<T>>
- Parameters:
t
-- Returns:
-