/** * @param Time $time * @param Acceleration $acceleration * @param UnitComposition|null $unitComposition * * @return Length */ public static function distanceFromConstantAccel(Time $time, Acceleration $acceleration, UnitComposition $unitComposition = null) { if (is_null($unitComposition)) { $unitComposition = new UnitComposition(); } /** @var Length $distance */ $distance = $unitComposition->naiveMultiOpt([$time, $time, $acceleration], []); return $distance->preConvertedSubtract(MathProvider::divide($distance->getValue(), 2)); }
public function divideBySquared(Quantity $quantity, $precision = 2) { return $this->unitCompClass->naiveMultiOpt([$this], [$quantity, $quantity], $precision); }
public function testNaiveMultiOpt() { $unit = new UnitComposition(); $cycles = $unit->getUnitClass('Cycles', 10); $time = $unit->getUnitClass('Time', 1); /** @var Frequency $frequency */ $frequency = $unit->naiveMultiOpt([$cycles], [$time]); $this->assertInstanceOf('Samsara\\PHPhysics\\Units\\Frequency', $frequency); $this->assertEquals('10', $frequency->getValue()); }