
tec.uom.lib.common.BinaryPrefix Maven / Gradle / Ivy
The newest version!
/*
* Unit-Lib - Units of Measurement Library for Java
* Copyright (c) 2005-2016, Jean-Marie Dautelle, Werner Keil, V2COM.
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
* and the following disclaimer in the documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of JSR-363 nor the names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package tec.uom.lib.common;
import javax.measure.Quantity;
import javax.measure.Unit;
/**
*
* This class provides support for common binary prefixes to be used by units.
*
*
* @author Werner Keil
* @version 1.0, October 13, 2016
* @see Wikipedia: Binary
* Prefix
* @since 0.9
*/
public final class BinaryPrefix {
/**
* DefaultQuantityFactory constructor (private).
*/
private BinaryPrefix() {
// Utility class no visible constructor.
}
/**
* Returns the specified unit multiplied by the factor 1024
* (binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1024)
.
*/
public static > Unit KIBI(Unit unit) {
return unit.multiply(1024);
}
/**
* Returns the specified unit multiplied by the factor
* 10242
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1048576)
.
*/
public static > Unit MEBI(Unit unit) {
return unit.multiply(1048576);
}
/**
* Returns the specified unit multiplied by the factor
* 10243
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1073741824)
.
*/
public static > Unit GIBI(Unit unit) {
return unit.multiply(1073741824);
}
/**
* Returns the specified unit multiplied by the factor
* 10244
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1099511627776L)
.
*/
public static > Unit TEBI(Unit unit) {
return unit.multiply(1099511627776L);
}
/**
* Returns the specified unit multiplied by the factor
* 10245
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1125899906842624L)
.
*/
public static > Unit PEBI(Unit unit) {
return unit.multiply(1125899906842624L);
}
/**
* Returns the specified unit multiplied by the factor
* 10246
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1152921504606846976L)
.
*/
public static > Unit EXBI(Unit unit) {
return unit.multiply(1152921504606846976L);
}
/**
* Returns the specified unit multiplied by the factor
* 10247
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1152921504606846976d)
.
*/
public static > Unit ZEBI(Unit unit) {
return unit.multiply(1180591620717411303424d);
}
/**
* Returns the specified unit multiplied by the factor
* 10248
(binary prefix).
*
* @param unit
* any unit.
* @return unit.multiply(1208925819614629174706176d)
.
*/
public static > Unit YOBI(Unit unit) {
return unit.multiply(1208925819614629174706176d);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy