protected static function initialize()
 {
     // Kilogram
     $kilogram = UnitOfMeasure::nativeUnitFactory('kg');
     $kilogram->addAlias('kilogram');
     $kilogram->addAlias('kilograms');
     static::addUnit($kilogram);
     static::addMissingSIPrefixedUnits($kilogram, 0.001, '%pg', ['%Pgram', '%Pgrams']);
     // Tonne (metric)
     $newUnit = UnitOfMeasure::linearUnitFactory('t', 1000.0);
     $newUnit->addAlias('ton');
     $newUnit->addAlias('tons');
     $newUnit->addAlias('tonne');
     $newUnit->addAlias('tonnes');
     static::addUnit($newUnit);
     // Pound
     $newUnit = UnitOfMeasure::linearUnitFactory('lb', 0.45359237);
     $newUnit->addAlias('lbs');
     $newUnit->addAlias('pound');
     $newUnit->addAlias('pounds');
     static::addUnit($newUnit);
     // Ounce
     $newUnit = UnitOfMeasure::linearUnitFactory('oz', 0.45359237 / 16);
     $newUnit->addAlias('ounce');
     $newUnit->addAlias('ounces');
     static::addUnit($newUnit);
     // Stone
     $newUnit = UnitOfMeasure::linearUnitFactory('st', 0.45359237 * 14);
     $newUnit->addAlias('stone');
     $newUnit->addAlias('stones');
     static::addUnit($newUnit);
 }
Example #2
0
 protected static function initialize()
 {
     // Radians
     $radian = UnitOfMeasure::nativeUnitFactory('rad');
     $radian->addAlias('radian');
     $radian->addAlias('radians');
     static::addUnit($radian);
     static::addMissingSIPrefixedUnits($radian, 1, '%prad', ['%Pradian', '%Pradians']);
     // Degrees
     $degree = UnitOfMeasure::linearUnitFactory('deg', M_PI / 180);
     $degree->addAlias('°');
     $degree->addAlias('degree');
     $degree->addAlias('degrees');
     static::addUnit($degree);
     static::addMissingSIPrefixedUnits($degree, 1, '%pdeg', ['%Pdegree', '%Pdegrees']);
     // Arcminute
     $arcminute = UnitOfMeasure::linearUnitFactory('arcmin', M_PI / 180 / 60);
     $arcminute->addAlias('′');
     $arcminute->addAlias('arcminute');
     $arcminute->addAlias('arcminutes');
     $arcminute->addAlias('amin');
     $arcminute->addAlias('am');
     $arcminute->addAlias('MOA');
     static::addUnit($arcminute);
     // Arcsecond
     $arcsecond = UnitOfMeasure::linearUnitFactory('arcsec', M_PI / 180 / 3600);
     $arcsecond->addAlias('″');
     $arcminute->addAlias('arcsecond');
     $arcminute->addAlias('arcseconds');
     $arcsecond->addAlias('asec');
     $arcsecond->addAlias('as');
     static::addUnit($arcsecond);
     static::addMissingSIPrefixedUnits($arcsecond, 1, '%Parcsec', ['%Parcsecond', '%Parcseconds', '%pasec', '%pas']);
 }
 protected static function initialize()
 {
     // meter per second
     $meterpersecond = UnitOfMeasure::nativeUnitFactory('m/s');
     $meterpersecond->addAlias('meters/sec');
     $meterpersecond->addAlias('meters per second');
     $meterpersecond->addAlias('meter per second');
     $meterpersecond->addAlias('metres per second');
     $meterpersecond->addAlias('metre per second');
     static::addUnit($meterpersecond);
     // kilometers per hour
     $newUnit = UnitOfMeasure::linearUnitFactory('km/h', 0.277778);
     $newUnit->addAlias('km/hour');
     $newUnit->addAlias('kilometer per hour');
     $newUnit->addAlias('kilometers per hour');
     $newUnit->addAlias('kilometre per hour');
     $newUnit->addAlias('kilometres per hour');
     static::addUnit($newUnit);
     // feet per second
     $newUnit = UnitOfMeasure::linearUnitFactory('ft/s', 0.3048);
     $newUnit->addAlias('feet/sec');
     $newUnit->addAlias('feet per second');
     static::addUnit($newUnit);
     // miles per hour
     $newUnit = UnitOfMeasure::linearUnitFactory('mph', 0.44704);
     $newUnit->addAlias('miles/hour');
     $newUnit->addAlias('miles per hour');
     static::addUnit($newUnit);
     // knot
     $newUnit = UnitOfMeasure::linearUnitFactory('knot', 0.514444);
     $newUnit->addAlias('knots');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     // Pascal
     $pascal = UnitOfMeasure::nativeUnitFactory('Pa');
     $pascal->addAlias('pascal');
     static::addUnit($pascal);
     static::addMissingSIPrefixedUnits($pascal, 1, '%pPa', ['%Ppascal']);
     // Atmosphere
     $newUnit = UnitOfMeasure::linearUnitFactory('atm', 101325);
     $newUnit->addAlias('atmosphere');
     $newUnit->addAlias('atmospheres');
     static::addUnit($newUnit);
     // Bar
     $bar = UnitOfMeasure::linearUnitFactory('bar', 100000.0);
     static::addUnit($bar);
     static::addMissingSIPrefixedUnits($bar, 1, '%pbar');
     // Inch of Mercury
     $newUnit = UnitOfMeasure::linearUnitFactory('inHg', 3386.389);
     $newUnit->addAlias('inches of mercury');
     static::addUnit($newUnit);
     // Millimeter of Mercury
     $newUnit = UnitOfMeasure::linearUnitFactory('mmHg', 133.3224);
     $newUnit->addAlias('millimeters of mercury');
     $newUnit->addAlias('millimetres of mercury');
     $newUnit->addAlias('torr');
     static::addUnit($newUnit);
     // Pound per Square Inch
     $newUnit = UnitOfMeasure::linearUnitFactory('psi', 6894.757);
     $newUnit->addAlias('pounds per square inch');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     // Meter
     $meter = UnitOfMeasure::nativeUnitFactory('m');
     $meter->addAlias('meter');
     $meter->addAlias('meters');
     $meter->addAlias('metre');
     $meter->addAlias('metres');
     static::addUnit($meter);
     static::addMissingSIPrefixedUnits($meter, 1, '%pm', ['%Pmeter', '%Pmeters', '%Pmetre', '%Pmetres']);
     // Foot
     $newUnit = UnitOfMeasure::linearUnitFactory('ft', 0.3048);
     $newUnit->addAlias('foot');
     $newUnit->addAlias('feet');
     static::addUnit($newUnit);
     // Inch
     $newUnit = UnitOfMeasure::linearUnitFactory('in', 0.0254);
     $newUnit->addAlias('inch');
     $newUnit->addAlias('inches');
     static::addUnit($newUnit);
     // Mile
     $newUnit = UnitOfMeasure::linearUnitFactory('mi', 1609.344);
     $newUnit->addAlias('mile');
     $newUnit->addAlias('miles');
     static::addUnit($newUnit);
     // Yard
     $newUnit = UnitOfMeasure::linearUnitFactory('yd', 0.9144);
     $newUnit->addAlias('yard');
     $newUnit->addAlias('yards');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     $native = UnitOfMeasure::nativeUnitFactory('u');
     $native->addAlias('uvee');
     $native->addAlias('uvees');
     static::addUnit($native);
     $unit = UnitOfMeasure::linearUnitFactory('v', 3.5);
     $unit->addAlias('vorp');
     $unit->addAlias('vorps');
     static::addUnit($unit);
 }
 protected static function initialize()
 {
     $native = UnitOfMeasure::nativeUnitFactory('s');
     $native->addAlias('sopee');
     $native->addAlias('sopees');
     static::addUnit($native);
     $unit = UnitOfMeasure::linearUnitFactory('t', 2.5);
     $unit->addAlias('tumpet');
     $unit->addAlias('tumpets');
     static::addUnit($unit);
 }
 protected static function initialize()
 {
     $native = UnitOfMeasure::nativeUnitFactory('l');
     $native->addAlias('lupee');
     $native->addAlias('lupees');
     static::addUnit($native);
     static::addMissingSIPrefixedUnits($native, 1, '%pl', ['%Plupee', '%Plupees']);
     $unit = UnitOfMeasure::linearUnitFactory('p', 4.5);
     $unit->addAlias('plurp');
     $unit->addAlias('plurps');
     static::addUnit($unit);
 }
 protected static function initialize()
 {
     // Second
     $second = UnitOfMeasure::nativeUnitFactory('s');
     $second->addAlias('sec');
     $second->addAlias('secs');
     $second->addAlias('second');
     $second->addAlias('seconds');
     static::addUnit($second);
     static::addMissingSIPrefixedUnits($second, 1, '%ps', ['%Psec', '%Psecs', '%Psecond', '%Pseconds']);
     // Minutes
     $newUnit = UnitOfMeasure::linearUnitFactory('m', 60);
     $newUnit->addAlias('min');
     $newUnit->addAlias('mins');
     $newUnit->addAlias('minute');
     $newUnit->addAlias('minutes');
     static::addUnit($newUnit);
     // Hours
     $newUnit = UnitOfMeasure::linearUnitFactory('h', 3600);
     $newUnit->addAlias('hr');
     $newUnit->addAlias('hrs');
     $newUnit->addAlias('hour');
     $newUnit->addAlias('hours');
     static::addUnit($newUnit);
     // Days
     $newUnit = UnitOfMeasure::linearUnitFactory('d', 86400);
     $newUnit->addAlias('day');
     $newUnit->addAlias('days');
     static::addUnit($newUnit);
     // Weeks, understood as 7 days
     $newUnit = UnitOfMeasure::linearUnitFactory('w', 604800);
     $newUnit->addAlias('wk');
     $newUnit->addAlias('wks');
     $newUnit->addAlias('week');
     $newUnit->addAlias('weeks');
     static::addUnit($newUnit);
     // Gregorian year, understood as 365.2425 days
     $newUnit = UnitOfMeasure::linearUnitFactory('yr', 31556952);
     $newUnit->addAlias('year');
     $newUnit->addAlias('years');
     $newUnit->addAlias('gregorian year');
     $newUnit->addAlias('gregorian years');
     static::addUnit($newUnit);
     // Julian year, understood as 365.25 days
     $newUnit = UnitOfMeasure::linearUnitFactory('jyr', 31557600);
     $newUnit->addAlias('julian year');
     $newUnit->addAlias('julian years');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     // Joule
     $joule = UnitOfMeasure::nativeUnitFactory('J');
     $joule->addAlias('joule');
     $joule->addAlias('joules');
     static::addUnit($joule);
     static::addMissingSIPrefixedUnits($joule, 1, '%pJ', ['%Pjoule', '%Pjoules']);
     // Watt hour
     $wattHour = UnitOfMeasure::linearUnitFactory('Wh', 3600);
     $wattHour->addAlias('watt hour');
     $wattHour->addAlias('watt hours');
     static::addUnit($wattHour);
     static::addMissingSIPrefixedUnits($wattHour, 1, '%pWh', ['%Pwatt hour', '%Pwatt hours']);
 }
 protected static function initialize()
 {
     // Meter
     $meter = UnitOfMeasure::nativeUnitFactory('m');
     $meter->addAlias('meter');
     $meter->addAlias('meters');
     $meter->addAlias('metre');
     $meter->addAlias('metres');
     static::addUnit($meter);
     static::addMissingSIPrefixedUnits($meter, 1, '%pm', ['%Pmeter', '%Pmeters', '%Pmetre', '%Pmetres']);
     // Foot
     $newUnit = UnitOfMeasure::linearUnitFactory('ft', 0.3048);
     $newUnit->addAlias('foot');
     $newUnit->addAlias('feet');
     static::addUnit($newUnit);
     // Inch
     $newUnit = UnitOfMeasure::linearUnitFactory('in', 0.0254);
     $newUnit->addAlias('inch');
     $newUnit->addAlias('inches');
     static::addUnit($newUnit);
     // Mile
     $newUnit = UnitOfMeasure::linearUnitFactory('mi', 1609.344);
     $newUnit->addAlias('mile');
     $newUnit->addAlias('miles');
     static::addUnit($newUnit);
     // Yard
     $newUnit = UnitOfMeasure::linearUnitFactory('yd', 0.9144);
     $newUnit->addAlias('yard');
     $newUnit->addAlias('yards');
     static::addUnit($newUnit);
     // Nautical mile
     $newUnit = UnitOfMeasure::linearUnitFactory('M', 1852);
     $newUnit->addAlias('nautical mile');
     $newUnit->addAlias('nautical miles');
     $newUnit->addAlias('nmi');
     $newUnit->addAlias('NM');
     static::addUnit($newUnit);
     // Scandinavian mil
     $newUnit = UnitOfMeasure::linearUnitFactory('mil', 10000);
     static::addUnit($newUnit);
     // Astronomical Unit
     $newUnit = UnitOfMeasure::linearUnitFactory('AU', 149597870700);
     $newUnit->addAlias('au');
     $newUnit->addAlias('astronomical unit');
     $newUnit->addAlias('astronomical units');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     // Meters squared
     $metersquared = UnitOfMeasure::nativeUnitFactory('m^2');
     $metersquared->addAlias('m²');
     $metersquared->addAlias('meter squared');
     $metersquared->addAlias('meters squared');
     $metersquared->addAlias('metre squared');
     $metersquared->addAlias('metres squared');
     static::addUnit($metersquared);
     // Millimeter squared
     $newUnit = UnitOfMeasure::linearUnitFactory('mm^2', 1.0E-6);
     $newUnit->addAlias('mm²');
     $newUnit->addAlias('millimeter squared');
     $newUnit->addAlias('millimeters squared');
     $newUnit->addAlias('millimetre squared');
     $newUnit->addAlias('millimetres squared');
     static::addUnit($newUnit);
     // Centimeter squared
     $newUnit = UnitOfMeasure::linearUnitFactory('cm^2', 0.0001);
     $newUnit->addAlias('cm²');
     $newUnit->addAlias('centimeter squared');
     $newUnit->addAlias('centimeters squared');
     $newUnit->addAlias('centimetre squared');
     $newUnit->addAlias('centimetres squared');
     static::addUnit($newUnit);
     // Decimeter squared
     $newUnit = UnitOfMeasure::linearUnitFactory('dm^2', 0.01);
     $newUnit->addAlias('dm²');
     $newUnit->addAlias('decimeter squared');
     $newUnit->addAlias('decimeters squared');
     $newUnit->addAlias('decimetre squared');
     $newUnit->addAlias('decimetres squared');
     static::addUnit($newUnit);
     // Kilometer squared
     $newUnit = UnitOfMeasure::linearUnitFactory('km^2', 1000000.0);
     $newUnit->addAlias('km²');
     $newUnit->addAlias('kilometer squared');
     $newUnit->addAlias('kilometers squared');
     $newUnit->addAlias('kilometre squared');
     $newUnit->addAlias('kilometres squared');
     static::addUnit($newUnit);
     // Foot squared
     $newUnit = UnitOfMeasure::linearUnitFactory('ft^2', 0.09290304000000001);
     $newUnit->addAlias('ft²');
     $newUnit->addAlias('foot squared');
     $newUnit->addAlias('feet squared');
     static::addUnit($newUnit);
     // Inch squared
     $newUnit = UnitOfMeasure::linearUnitFactory('in^2', 0.00064516);
     $newUnit->addAlias('in²');
     $newUnit->addAlias('inch squared');
     $newUnit->addAlias('inches squared');
     static::addUnit($newUnit);
     // Mile squared
     $newUnit = UnitOfMeasure::linearUnitFactory('mi^2', 2589988.0);
     $newUnit->addAlias('mi²');
     $newUnit->addAlias('mile squared');
     $newUnit->addAlias('miles squared');
     static::addUnit($newUnit);
     // Yard squared
     $newUnit = UnitOfMeasure::linearUnitFactory('yd^2', 0.8361274);
     $newUnit->addAlias('yd²');
     $newUnit->addAlias('yard squared');
     $newUnit->addAlias('yards squared');
     static::addUnit($newUnit);
     // Are
     $newUnit = UnitOfMeasure::linearUnitFactory('a', 100);
     $newUnit->addAlias('are');
     $newUnit->addAlias('ares');
     static::addUnit($newUnit);
     // Decare
     $newUnit = UnitOfMeasure::linearUnitFactory('daa', 1000);
     $newUnit->addAlias('decare');
     $newUnit->addAlias('decares');
     static::addUnit($newUnit);
     // Hectare
     $newUnit = UnitOfMeasure::linearUnitFactory('ha', 10000);
     $newUnit->addAlias('hectare');
     $newUnit->addAlias('hectares');
     static::addUnit($newUnit);
     // International Acre
     $newUnit = UnitOfMeasure::linearUnitFactory('ac', 4046.8564224);
     $newUnit->addAlias('acre');
     $newUnit->addAlias('acres');
     static::addUnit($newUnit);
 }
 public function testCreatingNewUnitsForQuantities()
 {
     // New units of measure can be defined and registered
     // with physical quantities on the fly.
     // Here, we create three new units, demonstrating the 3
     // different methods for instantiating them.  These units
     // will exist in addition to the units that come 'out of
     // the box' for the given quantity, once they're registered
     // with the static addUnit().
     // The linear unit factory is useful for defining new
     // units that are a simple scaling factor conversion
     // to the quantity's native unit of measure.
     // In this case there are 4.5 bbbb's in the native unit of measure.
     $unitA = UnitOfMeasure::linearUnitFactory('bbbb', 4.5);
     Wigginess::addUnit($unitA);
     // Using the native unit factory method is equivalent to a
     // linear unit with a factor of 1.  It's convenient for creating
     // a unit to represent the native unit of measure.
     $unitB = UnitOfMeasure::nativeUnitFactory('aaaa');
     Wigginess::addUnit($unitB);
     // The long form constructor is necessary for units
     // that don't have simple scaling factor functions for
     // their conversions.  For this unit we'll also add 2 more
     // aliases (dddd and eeee) that serve as equivalent names
     // for the unit's real name (cccc).
     $unitC = new UnitOfMeasure('cccc', function ($valueInNativeUnit) {
         return $valueInNativeUnit - 100;
     }, function ($valueInThisUnit) {
         return $valueInThisUnit + 100;
     });
     $unitC->addAlias('dddd');
     $unitC->addAlias('eeee');
     Wigginess::addUnit($unitC);
     // Here we can see that the units defined above
     // convert as expected with the built-in units.
     $a = new Wigginess(21, 'sopees');
     $this->assertSame(21, $a->toUnit('aaaa'));
     $this->assertSame(21 / 4.5, $a->toUnit('bbbb'));
     $this->assertSame(21 - 100, $a->toUnit('cccc'));
     $this->assertSame(21 - 100, $a->toUnit('dddd'));
     $this->assertSame(21 - 100, $a->toUnit('eeee'));
     $b = new Wigginess(21, 'tumpets');
     $this->assertSame(21 * 2.5, $b->toUnit('aaaa'));
     $this->assertSame(21 / 4.5 * 2.5, $b->toUnit('bbbb'));
     $this->assertSame(21 * 2.5 - 100, $b->toUnit('cccc'));
     $this->assertSame(21 * 2.5 - 100, $b->toUnit('dddd'));
     $this->assertSame(21 * 2.5 - 100, $b->toUnit('eeee'));
 }
Example #14
0
 protected static function initialize()
 {
     // Cubic meter
     $cubicmeter = UnitOfMeasure::nativeUnitFactory('m^3');
     $cubicmeter->addAlias('m³');
     $cubicmeter->addAlias('cubic meter');
     $cubicmeter->addAlias('cubic meters');
     $cubicmeter->addAlias('cubic metre');
     $cubicmeter->addAlias('cubic metres');
     static::addUnit($cubicmeter);
     // Cubic millimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('mm^3', 1.0E-9);
     $newUnit->addAlias('mm³');
     $newUnit->addAlias('cubic millimeter');
     $newUnit->addAlias('cubic millimeters');
     $newUnit->addAlias('cubic millimetre');
     $newUnit->addAlias('cubic millimetres');
     static::addUnit($newUnit);
     // Cubic centimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('cm^3', 1.0E-6);
     $newUnit->addAlias('cm³');
     $newUnit->addAlias('cubic centimeter');
     $newUnit->addAlias('cubic centimeters');
     $newUnit->addAlias('cubic centimetre');
     $newUnit->addAlias('cubic centimetres');
     static::addUnit($newUnit);
     // Cubic decimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('dm^3', 0.001);
     $newUnit->addAlias('dm³');
     $newUnit->addAlias('cubic decimeter');
     $newUnit->addAlias('cubic decimeters');
     $newUnit->addAlias('cubic decimetre');
     $newUnit->addAlias('cubic decimetres');
     static::addUnit($newUnit);
     // Cubic kilometer
     $newUnit = UnitOfMeasure::linearUnitFactory('km^3', 1000000000.0);
     $newUnit->addAlias('km³');
     $newUnit->addAlias('cubic kilometer');
     $newUnit->addAlias('cubic kilometers');
     $newUnit->addAlias('cubic kilometre');
     $newUnit->addAlias('cubic kilometres');
     static::addUnit($newUnit);
     // Cubic foot
     $newUnit = UnitOfMeasure::linearUnitFactory('ft^3', 0.02831685);
     $newUnit->addAlias('ft³');
     $newUnit->addAlias('cubic foot');
     $newUnit->addAlias('cubic feet');
     static::addUnit($newUnit);
     // Cubic inch
     $newUnit = UnitOfMeasure::linearUnitFactory('in^3', 1.638706E-5);
     $newUnit->addAlias('in³');
     $newUnit->addAlias('cubic inch');
     $newUnit->addAlias('cubic inches');
     static::addUnit($newUnit);
     // Cubic yard
     $newUnit = UnitOfMeasure::linearUnitFactory('yd^3', 0.7645549);
     $newUnit->addAlias('yd³');
     $newUnit->addAlias('cubic yard');
     $newUnit->addAlias('cubic yards');
     static::addUnit($newUnit);
     // Milliliters
     $newUnit = UnitOfMeasure::linearUnitFactory('ml', 1.0E-6);
     $newUnit->addAlias('milliliter');
     $newUnit->addAlias('milliliters');
     $newUnit->addAlias('millilitre');
     $newUnit->addAlias('millilitres');
     static::addUnit($newUnit);
     // Centiliters
     $newUnit = UnitOfMeasure::linearUnitFactory('cl', 1.0E-5);
     $newUnit->addAlias('centiliter');
     $newUnit->addAlias('centiliters');
     $newUnit->addAlias('centilitre');
     $newUnit->addAlias('centilitres');
     static::addUnit($newUnit);
     // Deciliter
     $newUnit = UnitOfMeasure::linearUnitFactory('dl', 0.0001);
     $newUnit->addAlias('deciliter');
     $newUnit->addAlias('deciliters');
     $newUnit->addAlias('decilitre');
     $newUnit->addAlias('decilitres');
     static::addUnit($newUnit);
     // Liter
     $newUnit = UnitOfMeasure::linearUnitFactory('l', 0.001);
     $newUnit->addAlias('liter');
     $newUnit->addAlias('liters');
     $newUnit->addAlias('litre');
     $newUnit->addAlias('litres');
     static::addUnit($newUnit);
     // Decaliter
     $newUnit = UnitOfMeasure::linearUnitFactory('dal', 0.01);
     $newUnit->addAlias('decaliter');
     $newUnit->addAlias('decaliters');
     $newUnit->addAlias('decalitre');
     $newUnit->addAlias('decalitres');
     static::addUnit($newUnit);
     // Hectoliter
     $newUnit = UnitOfMeasure::linearUnitFactory('hl', 0.1);
     $newUnit->addAlias('hectoliter');
     $newUnit->addAlias('hectoliters');
     $newUnit->addAlias('hectolitre');
     $newUnit->addAlias('hectolitres');
     static::addUnit($newUnit);
     // Cup
     $newUnit = UnitOfMeasure::linearUnitFactory('cup', 0.0002365882);
     $newUnit->addAlias('cup');
     $newUnit->addAlias('cups');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     // Kelvin
     $kelvin = UnitOfMeasure::nativeUnitFactory('K');
     $kelvin->addAlias('°K');
     $kelvin->addAlias('kelvin');
     static::addUnit($kelvin);
     static::addMissingSIPrefixedUnits($kelvin, 1, '%pK', ['%Pkelvin']);
     // Degree Celsius
     $newUnit = new UnitOfMeasure('°C', function ($x) {
         return $x - 273.15;
     }, function ($x) {
         return $x + 273.15;
     });
     $newUnit->addAlias('C');
     $newUnit->addAlias('celsius');
     static::addUnit($newUnit);
     // Degree Fahrenheit
     $newUnit = new UnitOfMeasure('°F', function ($x) {
         return $x * 9 / 5 - 459.67;
     }, function ($x) {
         return ($x + 459.67) * 5 / 9;
     });
     $newUnit->addAlias('F');
     $newUnit->addAlias('fahrenheit');
     static::addUnit($newUnit);
     // Degree Rankine
     $newUnit = UnitOfMeasure::linearUnitFactory('°R', 5 / 9);
     $newUnit->addAlias('R');
     $newUnit->addAlias('rankine');
     static::addUnit($newUnit);
     // Degree Delisle
     $newUnit = new UnitOfMeasure('°De', function ($x) {
         return (373.15 - $x) * 3 / 2;
     }, function ($x) {
         return 373.15 - $x * 2 / 3;
     });
     $newUnit->addAlias('De');
     $newUnit->addAlias('delisle');
     static::addUnit($newUnit);
     // Degree Newton
     $newUnit = new UnitOfMeasure('°N', function ($x) {
         return ($x - 273.15) * 33 / 100;
     }, function ($x) {
         return $x * 100 / 33 + 273.15;
     });
     $newUnit->addAlias('N');
     $newUnit->addAlias('newton');
     static::addUnit($newUnit);
     // Degree Réaumur
     $newUnit = new UnitOfMeasure('°Ré', function ($x) {
         return ($x - 273.15) * 4 / 5;
     }, function ($x) {
         return $x * 5 / 4 + 273.15;
     });
     $newUnit->addAlias('°Re');
     $newUnit->addAlias('Ré');
     $newUnit->addAlias('Re');
     $newUnit->addAlias('réaumur');
     $newUnit->addAlias('reaumur');
     static::addUnit($newUnit);
     // Degree Rømer
     $newUnit = new UnitOfMeasure('°Rø', function ($x) {
         return ($x - 273.15) * 21 / 40 + 7.5;
     }, function ($x) {
         return ($x - 7.5) * 40 / 21 + 273.15;
     });
     $newUnit->addAlias('°Ro');
     $newUnit->addAlias('Rø');
     $newUnit->addAlias('Ro');
     $newUnit->addAlias('rømer');
     $newUnit->addAlias('romer');
     static::addUnit($newUnit);
 }
 protected static function initialize()
 {
     $unit = UnitOfMeasure::linearUnitFactory('x', 4.5);
     $unit->addAlias('foo');
     static::addUnit($unit);
 }
 protected static function initialize()
 {
     // Cubic meter
     $cubicmeter = UnitOfMeasure::nativeUnitFactory('m^3');
     $cubicmeter->addAlias('m³');
     $cubicmeter->addAlias('cubic meter');
     $cubicmeter->addAlias('cubic meters');
     $cubicmeter->addAlias('cubic metre');
     $cubicmeter->addAlias('cubic metres');
     static::addUnit($cubicmeter);
     // Cubic millimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('mm^3', 1.0E-9);
     $newUnit->addAlias('mm³');
     $newUnit->addAlias('cubic millimeter');
     $newUnit->addAlias('cubic millimeters');
     $newUnit->addAlias('cubic millimetre');
     $newUnit->addAlias('cubic millimetres');
     static::addUnit($newUnit);
     // Cubic centimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('cm^3', 1.0E-6);
     $newUnit->addAlias('cm³');
     $newUnit->addAlias('cubic centimeter');
     $newUnit->addAlias('cubic centimeters');
     $newUnit->addAlias('cubic centimetre');
     $newUnit->addAlias('cubic centimetres');
     static::addUnit($newUnit);
     // Cubic decimeter
     $newUnit = UnitOfMeasure::linearUnitFactory('dm^3', 0.001);
     $newUnit->addAlias('dm³');
     $newUnit->addAlias('cubic decimeter');
     $newUnit->addAlias('cubic decimeters');
     $newUnit->addAlias('cubic decimetre');
     $newUnit->addAlias('cubic decimetres');
     static::addUnit($newUnit);
     // Cubic kilometer
     $newUnit = UnitOfMeasure::linearUnitFactory('km^3', 1000000000.0);
     $newUnit->addAlias('km³');
     $newUnit->addAlias('cubic kilometer');
     $newUnit->addAlias('cubic kilometers');
     $newUnit->addAlias('cubic kilometre');
     $newUnit->addAlias('cubic kilometres');
     static::addUnit($newUnit);
     // Cubic foot
     $newUnit = UnitOfMeasure::linearUnitFactory('ft^3', 0.02831685);
     $newUnit->addAlias('ft³');
     $newUnit->addAlias('cubic foot');
     $newUnit->addAlias('cubic feet');
     static::addUnit($newUnit);
     // Cubic inch
     $newUnit = UnitOfMeasure::linearUnitFactory('in^3', 1.638706E-5);
     $newUnit->addAlias('in³');
     $newUnit->addAlias('cubic inch');
     $newUnit->addAlias('cubic inches');
     static::addUnit($newUnit);
     // Cubic yard
     $newUnit = UnitOfMeasure::linearUnitFactory('yd^3', 0.7645549);
     $newUnit->addAlias('yd³');
     $newUnit->addAlias('cubic yard');
     $newUnit->addAlias('cubic yards');
     static::addUnit($newUnit);
     // Milliliters
     $newUnit = UnitOfMeasure::linearUnitFactory('ml', 1.0E-6);
     $newUnit->addAlias('milliliter');
     $newUnit->addAlias('milliliters');
     $newUnit->addAlias('millilitre');
     $newUnit->addAlias('millilitres');
     static::addUnit($newUnit);
     // Centiliters
     $newUnit = UnitOfMeasure::linearUnitFactory('cl', 1.0E-5);
     $newUnit->addAlias('centiliter');
     $newUnit->addAlias('centiliters');
     $newUnit->addAlias('centilitre');
     $newUnit->addAlias('centilitres');
     static::addUnit($newUnit);
     // Deciliter
     $newUnit = UnitOfMeasure::linearUnitFactory('dl', 0.0001);
     $newUnit->addAlias('deciliter');
     $newUnit->addAlias('deciliters');
     $newUnit->addAlias('decilitre');
     $newUnit->addAlias('decilitres');
     static::addUnit($newUnit);
     // Liter
     $newUnit = UnitOfMeasure::linearUnitFactory('l', 0.001);
     $newUnit->addAlias('liter');
     $newUnit->addAlias('liters');
     $newUnit->addAlias('litre');
     $newUnit->addAlias('litres');
     static::addUnit($newUnit);
     // Decaliter
     $newUnit = UnitOfMeasure::linearUnitFactory('dal', 0.01);
     $newUnit->addAlias('decaliter');
     $newUnit->addAlias('decaliters');
     $newUnit->addAlias('decalitre');
     $newUnit->addAlias('decalitres');
     static::addUnit($newUnit);
     // Hectoliter
     $newUnit = UnitOfMeasure::linearUnitFactory('hl', 0.1);
     $newUnit->addAlias('hectoliter');
     $newUnit->addAlias('hectoliters');
     $newUnit->addAlias('hectolitre');
     $newUnit->addAlias('hectolitres');
     static::addUnit($newUnit);
     // Cup
     $newUnit = UnitOfMeasure::linearUnitFactory('cup', 0.0002365882);
     $newUnit->addAlias('cup');
     $newUnit->addAlias('cups');
     static::addUnit($newUnit);
     // teaspoon
     $newUnit = UnitOfMeasure::linearUnitFactory('tsp', 4.92892E-6);
     $newUnit->addAlias('teaspoon');
     $newUnit->addAlias('teaspoons');
     static::addUnit($newUnit);
     // tablespoon
     $newUnit = UnitOfMeasure::linearUnitFactory('tbsp', 1.478676E-5);
     $newUnit->addAlias('tablespoon');
     $newUnit->addAlias('tablespoons');
     static::addUnit($newUnit);
     // Gallon
     $newUnit = UnitOfMeasure::linearUnitFactory('gal', 0.0037854118);
     $newUnit->addAlias('gallon');
     $newUnit->addAlias('gallons');
     $newUnit->addAlias('us gal');
     static::addUnit($newUnit);
     // Quart
     $newUnit = UnitOfMeasure::linearUnitFactory('qt', 0.00094635295);
     $newUnit->addAlias('quart');
     $newUnit->addAlias('quarts');
     $newUnit->addAlias('qts');
     $newUnit->addAlias('liq qt');
     static::addUnit($newUnit);
     // Fluid Ounce
     $newUnit = UnitOfMeasure::linearUnitFactory('fl oz', 2.957353E-5);
     $newUnit->addAlias('fluid ounce');
     $newUnit->addAlias('fluid ounces');
     $newUnit->addAlias('fluid oz');
     $newUnit->addAlias('fl. oz.');
     $newUnit->addAlias('oz. fl.');
     static::addUnit($newUnit);
     // Pint
     $newUnit = UnitOfMeasure::linearUnitFactory('pt', 0.000473176475);
     $newUnit->addAlias('pint');
     $newUnit->addAlias('pints');
     $newUnit->addAlias('liq pt');
     static::addUnit($newUnit);
 }