|  | 
|  | 1 | +--TEST-- | 
|  | 2 | +gmp_pow() basic tests | 
|  | 3 | +--EXTENSIONS-- | 
|  | 4 | +gmp | 
|  | 5 | +--SKIPIF-- | 
|  | 6 | +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> | 
|  | 7 | +--FILE-- | 
|  | 8 | +<?php | 
|  | 9 | + | 
|  | 10 | +var_dump(gmp_strval(gmp_pow(2,10))); | 
|  | 11 | +var_dump(gmp_strval(gmp_pow(-2,10))); | 
|  | 12 | +var_dump(gmp_strval(gmp_pow(-2,11))); | 
|  | 13 | +var_dump(gmp_strval(gmp_pow("2",10))); | 
|  | 14 | +var_dump(gmp_strval(gmp_pow("2",0))); | 
|  | 15 | +try { | 
|  | 16 | +    gmp_pow("2", -1); | 
|  | 17 | +} catch (ValueError $exception) { | 
|  | 18 | +    echo $exception->getMessage() . "\n"; | 
|  | 19 | +} | 
|  | 20 | +var_dump(gmp_strval(gmp_pow("-2",10))); | 
|  | 21 | +try { | 
|  | 22 | +    gmp_pow(20,10); | 
|  | 23 | +} catch (ValueError $exception) { | 
|  | 24 | +    echo $exception->getMessage() . "\n"; | 
|  | 25 | +} | 
|  | 26 | +try { | 
|  | 27 | +    gmp_pow(50,10); | 
|  | 28 | +} catch (ValueError $exception) { | 
|  | 29 | +    echo $exception->getMessage() . "\n"; | 
|  | 30 | +} | 
|  | 31 | +try { | 
|  | 32 | +    gmp_pow(50,-5); | 
|  | 33 | +} catch (ValueError $exception) { | 
|  | 34 | +    echo $exception->getMessage() . "\n"; | 
|  | 35 | +} | 
|  | 36 | +try { | 
|  | 37 | +    $n = gmp_init("20"); | 
|  | 38 | +    gmp_pow($n,10); | 
|  | 39 | +} catch (ValueError $exception) { | 
|  | 40 | +    echo $exception->getMessage() . "\n"; | 
|  | 41 | +} | 
|  | 42 | +try { | 
|  | 43 | +    $n = gmp_init("-20"); | 
|  | 44 | +    gmp_pow($n,10); | 
|  | 45 | +} catch (ValueError $exception) { | 
|  | 46 | +    echo $exception->getMessage() . "\n"; | 
|  | 47 | +} | 
|  | 48 | +try { | 
|  | 49 | +    var_dump(gmp_pow(2,array())); | 
|  | 50 | +} catch (TypeError $e) { | 
|  | 51 | +    echo $e->getMessage(), "\n"; | 
|  | 52 | +} | 
|  | 53 | + | 
|  | 54 | +try { | 
|  | 55 | +    var_dump(gmp_pow(array(),10)); | 
|  | 56 | +} catch (\TypeError $e) { | 
|  | 57 | +    echo $e->getMessage() . \PHP_EOL; | 
|  | 58 | +} | 
|  | 59 | + | 
|  | 60 | +echo "Done\n"; | 
|  | 61 | +?> | 
|  | 62 | +--EXPECT-- | 
|  | 63 | +string(4) "1024" | 
|  | 64 | +string(4) "1024" | 
|  | 65 | +string(5) "-2048" | 
|  | 66 | +string(4) "1024" | 
|  | 67 | +string(1) "1" | 
|  | 68 | +gmp_pow(): Argument #2 ($exponent) must be greater than or equal to 0 | 
|  | 69 | +string(4) "1024" | 
|  | 70 | +base and exponent overflow | 
|  | 71 | +base and exponent overflow | 
|  | 72 | +gmp_pow(): Argument #2 ($exponent) must be greater than or equal to 0 | 
|  | 73 | +base and exponent overflow | 
|  | 74 | +base and exponent overflow | 
|  | 75 | +gmp_pow(): Argument #2 ($exponent) must be of type int, array given | 
|  | 76 | +gmp_pow(): Argument #1 ($num) must be of type GMP|string|int, array given | 
|  | 77 | +Done | 
0 commit comments