@@ -368,40 +368,7 @@ static void shift_operator_helper(gmp_binary_ui_op_t op, zval *return_value, zva
368
368
369
369
static int gmp_do_operation_ex (zend_uchar opcode , zval * result , zval * op1 , zval * op2 ) /* {{{ */
370
370
{
371
- switch (opcode ) {
372
- case ZEND_ADD :
373
- gmp_zval_binary_ui_op (result , op1 , op2 , mpz_add , mpz_add_ui , false, true);
374
- if (UNEXPECTED (EG (exception ))) { return FAILURE ; }
375
- return SUCCESS ;
376
- case ZEND_SUB :
377
- DO_BINARY_UI_OP (mpz_sub );
378
- case ZEND_MUL :
379
- DO_BINARY_UI_OP (mpz_mul );
380
- case ZEND_POW :
381
- shift_operator_helper (mpz_pow_ui , result , op1 , op2 , opcode );
382
- return SUCCESS ;
383
- case ZEND_DIV :
384
- DO_BINARY_UI_OP_EX (mpz_tdiv_q , gmp_mpz_tdiv_q_ui , 1 );
385
- case ZEND_MOD :
386
- DO_BINARY_UI_OP_EX (mpz_mod , gmp_mpz_mod_ui , 1 );
387
- case ZEND_SL :
388
- shift_operator_helper (mpz_mul_2exp , result , op1 , op2 , opcode );
389
- return SUCCESS ;
390
- case ZEND_SR :
391
- shift_operator_helper (mpz_fdiv_q_2exp , result , op1 , op2 , opcode );
392
- return SUCCESS ;
393
- case ZEND_BW_OR :
394
- DO_BINARY_OP (mpz_ior );
395
- case ZEND_BW_AND :
396
- DO_BINARY_OP (mpz_and );
397
- case ZEND_BW_XOR :
398
- DO_BINARY_OP (mpz_xor );
399
- case ZEND_BW_NOT :
400
- DO_UNARY_OP (mpz_com );
401
-
402
- default :
403
371
return FAILURE ;
404
- }
405
372
}
406
373
/* }}} */
407
374
@@ -1045,21 +1012,18 @@ ZEND_FUNCTION(gmp_strval)
1045
1012
/* {{{ Add a and b */
1046
1013
ZEND_FUNCTION (gmp_add )
1047
1014
{
1048
- gmp_binary_ui_op (mpz_add , mpz_add_ui );
1049
1015
}
1050
1016
/* }}} */
1051
1017
1052
1018
/* {{{ Subtract b from a */
1053
1019
ZEND_FUNCTION (gmp_sub )
1054
1020
{
1055
- gmp_binary_ui_op (mpz_sub , mpz_sub_ui );
1056
1021
}
1057
1022
/* }}} */
1058
1023
1059
1024
/* {{{ Multiply a and b */
1060
1025
ZEND_FUNCTION (gmp_mul )
1061
1026
{
1062
- gmp_binary_ui_op (mpz_mul , mpz_mul_ui );
1063
1027
}
1064
1028
/* }}} */
1065
1029
@@ -1513,14 +1477,12 @@ ZEND_FUNCTION(gmp_prob_prime)
1513
1477
/* {{{ Computes greatest common denominator (gcd) of a and b */
1514
1478
ZEND_FUNCTION (gmp_gcd )
1515
1479
{
1516
- gmp_binary_ui_op (mpz_gcd , gmp_mpz_gcd_ui );
1517
1480
}
1518
1481
/* }}} */
1519
1482
1520
1483
/* {{{ Computes least common multiple (lcm) of a and b */
1521
1484
ZEND_FUNCTION (gmp_lcm )
1522
1485
{
1523
- gmp_binary_ui_op (mpz_lcm , mpz_lcm_ui );
1524
1486
}
1525
1487
/* }}} */
1526
1488
0 commit comments