public function testIsMutableTrue()
 {
     // Arrange
     $bigInteger = new BigNumber('123', 10, true);
     // Act
     $result = $bigInteger->isMutable();
     // Assert
     $this->assertTrue($result);
 }
Example #2
0
 /**
  * Gets the square of the vector's length.
  *
  * @return float
  */
 public function getLengthSquared()
 {
     $result = new BigNumber();
     $vectorSize = $this->getSize();
     for ($i = 0; $i < $vectorSize; ++$i) {
         $pow = new BigNumber($this->getElement($i));
         $pow->pow(2);
         $result->add($pow);
     }
     return $result;
 }
Example #3
0
 public function testWithMutableTrue()
 {
     // Arrange
     $bigNumber = new BigNumber('-5', 10, true);
     // Act
     $newBigNumber = $bigNumber->abs();
     // Assert
     $this->assertInstanceOf('PHP\\Math\\BigNumber\\BigNumber', $bigNumber);
     $this->assertInstanceOf('PHP\\Math\\BigNumber\\BigNumber', $newBigNumber);
     $this->assertEquals('5', $bigNumber->getValue());
     $this->assertEquals('5', $newBigNumber->getValue());
 }
 public function testWithCustomScale()
 {
     // Arrange
     // ...
     // Act
     $bigNumber = new BigNumber('12345.67890', 2);
     // Assert
     $this->assertInternalType('string', $bigNumber->getValue());
     $this->assertEquals('12345.67', $bigNumber->getValue());
 }
Example #5
0
 /**
  * Multiplies the two given numbers.
  *
  * @param BigNumber $lft The left number.
  * @param BigNumber $rgt The right number.
  * @param int $scale The scale of the calculated number.
  * @param bool $mutable Whether or not the result is mutable.
  * @return BigNumber
  */
 public static function multiply(BigNumber $lft, BigNumber $rgt, $scale = 10, $mutable = true)
 {
     $bigNumber = new BigNumber($lft, $scale, $mutable);
     return $bigNumber->multiply($rgt);
 }