コード例 #1
0
ファイル: Vector3.php プロジェクト: phpmath/vector
 /**
  * Calculates the cross product between this vector and the given vector.
  *
  * @param Vector3 $vector The vector to calculate with.
  * @return Vector3
  */
 public function crossProduct(Vector3 $vector)
 {
     $x = BigNumberUtils::multiply($this->getY(), $vector->getZ());
     $x->subtract(BigNumberUtils::multiply($this->getZ(), $vector->getY()));
     $y = BigNumberUtils::multiply($this->getZ(), $vector->getX());
     $y->subtract(BigNumberUtils::multiply($this->getX(), $vector->getZ()));
     $z = BigNumberUtils::multiply($this->getX(), $vector->getY());
     $z->subtract(BigNumberUtils::multiply($this->getY(), $vector->getX()));
     return new Vector3($x, $y, $z);
 }
コード例 #2
0
 public function testMultiplyWithMutableTrue()
 {
     // Arrange
     $number1 = new BigNumber('0.123456789');
     $number2 = new BigNumber(2);
     // Act
     $result = Utils::multiply($number1, $number2, 10, true);
     // Assert
     $this->assertInstanceOf('PHP\\Math\\BigNumber\\BigNumber', $result);
     $this->assertEquals('0.2469135780', (string) $result);
     $this->assertEquals('0.123456789', $number1);
     $this->assertEquals('2.0000000000', $number2);
     $this->assertTrue($result->isMutable());
 }