/** * Test Helpers */ protected function setUp() { parent::setUp(); if (!Number::isGmpAvailable()) { $this->markTestSkipped('The GMP extension is not available'); } }
public function testIsGmpAvailable() { $available = Number::isGmpAvailable(); if (function_exists('gmp_init')) { $this->assertTrue($available); } else { $this->assertFalse($available); } }
/** * Create an instance of an Integer adapter * * @param mixed $number * @static * @access public * @throws AdapterSupportException * @return AdapterInterface */ public static function factory($number) { // Use GMP if we can... its MUCH faster if (Number::isGmpAvailable()) { return Gmp::factory($number); } elseif (Number::isBcMathAvailable()) { return BcMath::factory($number); } // TODO: Fall back to native? throw new AdapterSupportException(); }