118 lines
1.9 KiB
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();
|
|
}
|
|
}
|