php-crossover-calculator/src/Scientific/Unit.php

118 lines
1.9 KiB
PHP

<?php
namespace Scientific;
class Unit
{
public function __construct(
private float $value
)
{
}
public function yotta(): float
{
return $this->zetta() / 1000.;
}
public function zetta(): float
{
return $this->exa() / 1000.;
}
public function exa(): float
{
return $this->peta() / 1000.;
}
public function peta(): float
{
return $this->tera() / 1000.;
}
public function tera(): float
{
return $this->giga() / 1000.;
}
public function giga(): float
{
return $this->mega() / 1000.;
}
public function mega(): float
{
return $this->kilo() / 1000.;
}
public function kilo(): float
{
return $this->unit() / 1000.;
}
public function hecto(): float
{
return $this->unit() / 100.;
}
public function deca(): float
{
return $this->unit() / 10.;
}
public function unit(): float
{
return $this->value;
}
public function deci(): float
{
return 10. * $this->unit();
}
public function centi(): float
{
return 100. * $this->unit();
}
public function milli(): float
{
return 1000. * $this->unit();
}
public function micro(): float
{
return 1000. * $this->milli();
}
public function nano(): float
{
return 1000. * $this->micro();
}
public function pico(): float
{
return 1000. * $this->nano();
}
public function femto(): float
{
return 1000. * $this->pico();
}
public function atto(): float
{
return 1000. * $this->femto();
}
public function zepto(): float
{
return 1000. * $this->atto();
}
public function yocto(): float
{
return 1000. * $this->yocto();
}
}