Package ucar.units
Class LogarithmicUnit
- java.lang.Object
-
- ucar.units.UnitImpl
-
- ucar.units.LogarithmicUnit
-
- All Implemented Interfaces:
Serializable,DerivableUnit,Unit
@Immutable public final class LogarithmicUnit extends UnitImpl implements DerivableUnit
Provides support for units that are based on a logarithm of the ratio of a physical quantity to an underlying reference level. Instances of this class are immutable.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ucar.units.UnitImpl
UnitImpl.MyConverter
-
-
Constructor Summary
Constructors Constructor Description LogarithmicUnit(Unit reference, double base)Constructs from a reference level and a logarithmic base.LogarithmicUnit(Unit reference, double base, UnitName id)Constructs from a reference level, a logarithmic base, and a unit identifier.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Unitclone(UnitName id)Clones this unit, changing the identifier.booleanequals(Object object)Indicates if this unit is semantically identical to an object.doublefromDerivedUnit(double amount)Converts a value in the convertible derived unit to the equivalent value in this unit.double[]fromDerivedUnit(double[] input, double[] output)Converts values in the convertible derived unit to the equivalent values in this unit.floatfromDerivedUnit(float amount)Converts a value in the convertible derived unit to the equivalent value in this unit.float[]fromDerivedUnit(float[] input, float[] output)Converts values in the convertible derived unit to the equivalent values in this unit.doublegetBase()Returns the logarithmic base.StringgetCanonicalString()Returns the canonical string representation of the unit.DerivedUnitgetDerivedUnit()Returns the derived unit that is convertible with this unit.DerivableUnitgetReference()Returns the reference level.inthashCode()Returns the hash code of this instance.booleanisDimensionless()Indicates if this unit is dimensionless.protected UnitmyDivideBy(Unit that)Divide this unit by another unit.protected UnitmyDivideInto(Unit that)Divide this unit into another unit.protected UnitmyMultiplyBy(Unit that)Multiply this unit by another unit.protected UnitmyRaiseTo(int power)Raise this unit to a power.doubletoDerivedUnit(double amount)Converts a value in this unit to the equivalent value in the convertible derived unit.double[]toDerivedUnit(double[] input, double[] output)Converts values in this unit to the equivalent values in the convertible derived unit.floattoDerivedUnit(float amount)Converts a value in this unit to the equivalent value in the convertible derived unit.float[]toDerivedUnit(float[] input, float[] output)Converts values in this unit to the equivalent values in the convertible derived unit.StringtoString()Returns the string representation of this unit.-
Methods inherited from class ucar.units.UnitImpl
convertTo, convertTo, convertTo, convertTo, convertTo, convertTo, divideBy, divideInto, getConverterTo, getName, getPlural, getSymbol, getUnitName, isCompatible, log, makeLabel, multiplyBy, multiplyBy, raiseTo, shiftTo, shiftTo
-
-
-
-
Constructor Detail
-
LogarithmicUnit
public LogarithmicUnit(Unit reference, double base)
Constructs from a reference level and a logarithmic base.- Parameters:
reference- The reference level. Must be aDerivableUnit.base- The logarithmic base. Must be 2,Math.E, or 10.- Throws:
IllegalArgumentException- ifreferenceisn't aDerivableUnit.IllegalArgumentException- ifbaseisn't one of the allowed values.NullPointerException- ifreferenceisnull.
-
LogarithmicUnit
public LogarithmicUnit(Unit reference, double base, UnitName id)
Constructs from a reference level, a logarithmic base, and a unit identifier.- Parameters:
reference- The reference level. Must be aDerivableUnit.base- The logarithmic base. Must be 2,Math.E, or 10.id- The identifier for the new unit.- Throws:
IllegalArgumentException- ifreferenceisn't aDerivableUnit.IllegalArgumentException- ifbaseisn't one of the allowed values.NullPointerException- ifreferenceisnull.
-
-
Method Detail
-
getReference
public DerivableUnit getReference()
Returns the reference level.- Returns:
- The reference level.
-
getBase
public double getBase()
Returns the logarithmic base.- Returns:
- The logarithmic base of this unit.
-
myMultiplyBy
protected Unit myMultiplyBy(Unit that) throws MultiplyException
Multiply this unit by another unit.- Specified by:
myMultiplyByin classUnitImpl- Parameters:
that- The unit to multiply this unit by. Must be dimensionless.- Returns:
- The product of this unit and
that. - Throws:
MultiplyException- Can't multiply these units together.
-
myDivideBy
protected Unit myDivideBy(Unit that) throws DivideException
Divide this unit by another unit.- Specified by:
myDivideByin classUnitImpl- Parameters:
that- The unit to divide this unit by.- Returns:
- The quotient of this unit and
that. - Throws:
DivideException- Can't divide these units.
-
myDivideInto
protected Unit myDivideInto(Unit that) throws OperationException
Divide this unit into another unit.- Specified by:
myDivideIntoin classUnitImpl- Parameters:
that- The unit to divide this unit into.- Returns:
- The quotient of
thatunit and this unit. - Throws:
DivideException- Can't divide these units.OperationException- Can't divide these units.
-
myRaiseTo
protected Unit myRaiseTo(int power) throws RaiseException
Raise this unit to a power.- Specified by:
myRaiseToin classUnitImpl- Parameters:
power- The power to raise this unit by. The only meaningful values are 0 and 1.- Returns:
- The result of raising this unit by the power
power. - Throws:
RaiseException- Can't raise this unit topower, which is neither 0 nor 1.
-
getDerivedUnit
public DerivedUnit getDerivedUnit()
Returns the derived unit that is convertible with this unit.- Specified by:
getDerivedUnitin interfaceDerivableUnit- Specified by:
getDerivedUnitin interfaceUnit- Returns:
- The derived unit that is convertible with this unit.
-
toDerivedUnit
public float toDerivedUnit(float amount) throws ConversionExceptionConverts a value in this unit to the equivalent value in the convertible derived unit.- Specified by:
toDerivedUnitin interfaceDerivableUnit- Parameters:
amount- The value in this unit.- Returns:
- The equivalent value in the convertible derived unit.
- Throws:
ConversionException- Can't convert between units.
-
toDerivedUnit
public double toDerivedUnit(double amount) throws ConversionExceptionConverts a value in this unit to the equivalent value in the convertible derived unit.- Specified by:
toDerivedUnitin interfaceDerivableUnit- Parameters:
amount- The value in this unit.- Returns:
- The equivalent value in the convertible derived unit.
- Throws:
ConversionException- Can't convert between units.
-
toDerivedUnit
public float[] toDerivedUnit(float[] input, float[] output) throws ConversionExceptionConverts values in this unit to the equivalent values in the convertible derived unit.- Specified by:
toDerivedUnitin interfaceDerivableUnit- Parameters:
input- The values in this unit.output- The equivalent values in the convertible derived unit. May be the same array asinput.- Returns:
output.- Throws:
ConversionException- Can't convert between units.
-
toDerivedUnit
public double[] toDerivedUnit(double[] input, double[] output) throws ConversionExceptionConverts values in this unit to the equivalent values in the convertible derived unit.- Specified by:
toDerivedUnitin interfaceDerivableUnit- Parameters:
input- The values in this unit.output- The equivalent values in the convertible derived unit. May be the same array asinput.- Returns:
output.- Throws:
ConversionException- Can't convert between units.
-
fromDerivedUnit
public float fromDerivedUnit(float amount) throws ConversionExceptionConverts a value in the convertible derived unit to the equivalent value in this unit.- Specified by:
fromDerivedUnitin interfaceDerivableUnit- Parameters:
amount- The value in the convertible derived unit.- Returns:
- The equivalent value in this unit.
- Throws:
ConversionException- Can't convert between units.
-
fromDerivedUnit
public double fromDerivedUnit(double amount) throws ConversionExceptionConverts a value in the convertible derived unit to the equivalent value in this unit.- Specified by:
fromDerivedUnitin interfaceDerivableUnit- Parameters:
amount- The value in the convertible derived unit.- Returns:
- The equivalent value in this unit.
- Throws:
ConversionException- Can't convert between units.
-
fromDerivedUnit
public float[] fromDerivedUnit(float[] input, float[] output) throws ConversionExceptionConverts values in the convertible derived unit to the equivalent values in this unit.- Specified by:
fromDerivedUnitin interfaceDerivableUnit- Parameters:
input- The values in the convertible derived unit.output- The equivalent values in this unit. May be the same array asinput.- Returns:
output.- Throws:
ConversionException- Can't convert between units.
-
fromDerivedUnit
public double[] fromDerivedUnit(double[] input, double[] output) throws ConversionExceptionConverts values in the convertible derived unit to the equivalent values in this unit.- Specified by:
fromDerivedUnitin interfaceDerivableUnit- Parameters:
input- The values in the convertible derived unit.output- The equivalent values in this unit. May be the same array asinput.- Returns:
output.- Throws:
ConversionException- Can't convert between units.
-
equals
public boolean equals(Object object)
Indicates if this unit is semantically identical to an object.
-
hashCode
public int hashCode()
Returns the hash code of this instance.
-
isDimensionless
public boolean isDimensionless()
Indicates if this unit is dimensionless.- Specified by:
isDimensionlessin interfaceUnit- Returns:
true, always.
-
toString
public String toString()
Returns the string representation of this unit.
-
getCanonicalString
public String getCanonicalString()
Returns the canonical string representation of the unit.- Specified by:
getCanonicalStringin interfaceUnit- Returns:
- The canonical string representation.
-
-