// Path: quantity/src/main/java/systems/uom/quantity/Concentration.java
// public interface Concentration<Q extends Quantity<Q>> extends Quantity<Concentration<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Consumption.java
// public interface Consumption<Q extends Quantity<Q>> extends Quantity<Consumption<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Information.java
// public interface Information extends Quantity<Information> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/InformationRate.java
// public interface InformationRate extends Quantity<InformationRate> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Resolution.java
// public interface Resolution extends Quantity<Resolution> {
// }


import static javax.measure.MetricPrefix.*;
import static tech.units.indriya.unit.Units.CUBIC_METRE;
import static tech.units.indriya.unit.Units.METRE;
import static tech.units.indriya.unit.Units.SQUARE_METRE;
import static tech.units.indriya.AbstractUnit.ONE;
import systems.uom.quantity.Concentration;
import systems.uom.quantity.Consumption;
import systems.uom.quantity.Information;
import systems.uom.quantity.InformationRate;
import systems.uom.quantity.Resolution;
import tech.units.indriya.*;
import tech.units.indriya.format.SimpleUnitFormat;
import tech.units.indriya.function.MultiplyConverter;
import tech.units.indriya.unit.AlternateUnit;
import tech.units.indriya.unit.ProductUnit;
import tech.units.indriya.unit.TransformedUnit;
import tech.units.indriya.unit.Units;
import javax.measure.Quantity;
import javax.measure.Unit;
import javax.measure.quantity.*;
    /**
     * Constant for unit of pressure: pound-per-square-inch
     * 
     * @stable ICU 54
     */
    public static final Unit<Pressure> POUND_PER_SQUARE_INCH = addUnit(new ProductUnit<Pressure>(POUND_FORCE.divide(INCH_INTERNATIONAL.pow(2))));
    /** As per <a href="http//cldr.unicode.org/">CLDR</a> standard. */
    // private static final Unit<Angle> CIRCLE = new
    // ProductUnit<Angle>(PI.multiply(RADIAN.multiply(2)));

    /** As per <a href="http//cldr.unicode.org/">CLDR</a> standard. */
    public static final Unit<SolidAngle> SPHERE = addUnit(new ProductUnit<SolidAngle>(PI.multiply(STERADIAN.multiply(4))));

    /**
     * The unit for binary information (standard name <code>bit</code>).
     * 
     * @stable ICU 54
     */
    public static final Unit<Information> BIT = addUnit(new AlternateUnit<Information>(ONE, "bit"), "Bit", "bit", Information.class);

    /**
     * A unit of data amount equal to <code>8 {@link #BIT}</code> (BinarY TErm, standard name <code>byte</code>).
     */
    public static final Unit<Information> BYTE = addUnit(BIT.multiply(8), "Byte", "byte");

    /**
     * The unit for binary information rate (standard name <code>bit/s</code>).
     * 
     * @draft Non-ICU
     */
// Path: quantity/src/main/java/systems/uom/quantity/Concentration.java
// public interface Concentration<Q extends Quantity<Q>> extends Quantity<Concentration<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Consumption.java
// public interface Consumption<Q extends Quantity<Q>> extends Quantity<Consumption<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Information.java
// public interface Information extends Quantity<Information> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/InformationRate.java
// public interface InformationRate extends Quantity<InformationRate> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Resolution.java
// public interface Resolution extends Quantity<Resolution> {
// }


// Path: unicode/src/main/java/systems/uom/unicode/CLDR.java
import static javax.measure.MetricPrefix.*;
import static tech.units.indriya.unit.Units.CUBIC_METRE;
import static tech.units.indriya.unit.Units.METRE;
import static tech.units.indriya.unit.Units.SQUARE_METRE;
import static tech.units.indriya.AbstractUnit.ONE;
import systems.uom.quantity.Concentration;
import systems.uom.quantity.Consumption;
import systems.uom.quantity.Information;
import systems.uom.quantity.InformationRate;
import systems.uom.quantity.Resolution;
import tech.units.indriya.*;
import tech.units.indriya.format.SimpleUnitFormat;
import tech.units.indriya.function.MultiplyConverter;
import tech.units.indriya.unit.AlternateUnit;
import tech.units.indriya.unit.ProductUnit;
import tech.units.indriya.unit.TransformedUnit;
import tech.units.indriya.unit.Units;
import javax.measure.Quantity;
import javax.measure.Unit;
import javax.measure.quantity.*;

    /**
     * Constant for unit of pressure: pound-per-square-inch
     * 
     * @stable ICU 54
     */
    public static final Unit<Pressure> POUND_PER_SQUARE_INCH = addUnit(new ProductUnit<Pressure>(POUND_FORCE.divide(INCH_INTERNATIONAL.pow(2))));
    /** As per <a href="http//cldr.unicode.org/">CLDR</a> standard. */
    // private static final Unit<Angle> CIRCLE = new
    // ProductUnit<Angle>(PI.multiply(RADIAN.multiply(2)));

    /** As per <a href="http//cldr.unicode.org/">CLDR</a> standard. */
    public static final Unit<SolidAngle> SPHERE = addUnit(new ProductUnit<SolidAngle>(PI.multiply(STERADIAN.multiply(4))));

    /**
     * The unit for binary information (standard name <code>bit</code>).
     * 
     * @stable ICU 54
     */
    public static final Unit<Information> BIT = addUnit(new AlternateUnit<Information>(ONE, "bit"), "Bit", "bit", Information.class);

    /**
     * A unit of data amount equal to <code>8 {@link #BIT}</code> (BinarY TErm, standard name <code>byte</code>).
     */
    public static final Unit<Information> BYTE = addUnit(BIT.multiply(8), "Byte", "byte");

    /**
     * The unit for binary information rate (standard name <code>bit/s</code>).
     * 
     * @draft Non-ICU
     */
    static final Unit<InformationRate> BIT_PER_SECOND = addUnit(new ProductUnit<InformationRate>(BIT.divide(SECOND)), InformationRate.class);