!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\Intranet\C\xampp\php\PEAR\Math\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     IntegerOp.php (13.24 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Jesus M. Castagnetto <jmcastagnetto@php.net>                |
// +----------------------------------------------------------------------+
//
// $Id: IntegerOp.php,v 1.1 2003/01/02 01:55:05 jmcastagnetto Exp $
//

include_once 'Math/Integer.php';

/**
 * Class implementing operations on Math_Integer objects. If available it
 * will use the GMP or BCMATH libraries. Will default to the standard PHP
 * integer representation otherwise.
 * 
 * The operations are implemented as static methods of the class.
 *
 * @author  Jesus M. Castagnetto <jmcastagnetto@php.net>
 * @version 0.8
 * @access  public
 * @package Math_Integer
 */
class Math_IntegerOp {/*{{{*/

    /**
     * Checks if the given parameter is a Math_Integer object
     *
     * @param object Math_Integer $int1
     * @return boolean TRUE if parameter is an instance of Math_Integer, FALSE otherwise
     * @access public
     */
    
function isMath_Integer(&$int) {/*{{{*/
        
if (function_exists('is_a')) {
            return 
is_a($int'Math_Integer');
        } else {
            return 
get_class($int) == 'math_integer' 
                    
|| is_subclass_of($int'math_integer');
        }
    }
/*}}}*/

    /**
     * Add two Math_Integer objects: $i1 + $i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &add(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_add($int1->getValue(), $int2->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcadd($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp $int1->getValue() + $int2->getValue(); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Substract two Math_Integer objects: $i1 - $i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &sub(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_sub($int1->getValue(), $int2->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcsub($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp $int1->getValue() - $int2->getValue(); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Multiply two Math_Integer objects: $i1 * $i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &mul(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_mul($int1->getValue(), $int2->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcmul($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp $int1->getValue() * $int2->getValue(); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Divide two Math_Integer objects: $i1 / $i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &div(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_div($int1->getValue(), $int2->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcdiv($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp intval($int1->getValue() / $int2->getValue()); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Calculate the modulus of $i1 and $i2: $i1 % $i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &mod(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_mod($int1->getValue(), $int2->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcmod($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp $int1->getValue() % $int2->getValue(); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Raise $i1 to the $i2 exponent: $i1^$i2
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &pow(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_pow($int1->getValue(), (int) $int2->toString()));
                break;
            case 
'bcmath' :
                
$tmp bcpow($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$tmp pow($int1->getValue(), $int2->getValue()); 
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Compare two Math_Integer objects.
     * if $i1 > $i2, returns +1,
     * if $i1 == $i2, returns +0,
     * if $i1 < $i2, returns -1,
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return mixed and integer on success, PEAR_Error otherwise
     * @access public
     * @see Math_IntegerOp::sign
     */
    
function &compare(&$int1, &$int2) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInts($int1$int2))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$cmp gmp_cmp($int1->getValue(), $int2->getValue());
                break;
            case 
'bcmath' :
                
$cmp bccomp($int1->getValue(), $int2->getValue());
                break;
            case 
'std' :
                
$cmp $int1->getValue() - $int2->getValue(); 
                break;
        }
/*}}}*/
        
return Math_IntegerOp::sign(new Math_Integer($cmp));
    }
/*}}}*/

    /**
     * Returns the sign of a Math_Integer number
     * if $i1 > 0, returns +1,
     * if $i1 == 0, returns +0,
     * if $i1 < 0, returns -1,
     *
     * @param object Math_Integer $int1
     * @return mixed and integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &sign(&$int1) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInt($int1))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                return 
gmp_sign($int1->getValue());
                break;
            case 
'bcmath' :
            case 
'std' :
                
$tmp $int1->getValue();
                if (
$tmp 0) {
                    return 
1;
                } elseif (
$tmp 0) {
                    return -
1;
                } else { 
// $tmp == 0
                    
return 0;
                }
                break;
        }
/*}}}*/
    
}/*}}}*/

    /**
     * Returns the negative of a Math_Integer number: -1 * $i1
     *
     * @param object Math_Integer $int1
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &neg(&$int1) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInt($int1))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_neg($int1->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcmul(-1$int1->getValue());
                break;
            case 
'std' :
                
$tmp = -$int1->getValue();
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Returns the (integer) square root of a Math_Integer number
     *
     * @param object Math_Integer $int1
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &sqrt(&$int1) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInt($int1))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_sqrt($int1->getValue()));
                break;
            case 
'bcmath' :
                
$tmp bcsqrt(-1$int1->getValue());
                break;
            case 
'std' :
                
$tmp intval(sqrt($int1->getValue()));
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Returns the absolute value of a Math_Integer number
     *
     * @param object Math_Integer $int1
     * @return object Math_Integer on success, PEAR_Error otherwise
     * @access public
     */
    
function &abs(&$int1) {/*{{{*/
        
if (PEAR::isError($err Math_IntegerOp::_validInt($int1))) {
            return 
$err;
        }
        switch (
MATH_INTLIB) {/*{{{*/
            
case 'gmp' :
                
$tmp gmp_strval(gmp_abs($int1->getValue()));
                break;
            case 
'bcmath' :
                if (
$int1->getValue() < 0) {
                    
$tmp bcmul(-1$int1->getValue());
                } else {
                    
$tmp $int1->getValue();
                }
                break;
            case 
'std' :
                
$tmp abs($int1->getValue());
                break;
        }
/*}}}*/
        
return new Math_Integer($tmp);
    }
/*}}}*/

    /**
     * Checks that the 2 passed objects are valid Math_Integer numbers.
     * The objects must be instances of Math_Integer and have been properly
     * initialized.
     *
     * @param object Math_Integer $int1
     * @param object Math_Integer $int2
     * @return mixed TRUE if both are Math_Integer objects, PEAR_Error otherwise
     * @access private
     */
    
function _validInts(&$int1, &$int2) {/*{{{*/
        
$err1 Math_IntegerOp::_validInt($int1);
        
$err2 Math_IntegerOp::_validInt($int2);
        
$error '';
        if (
PEAR::isError($err1)) {
            
$error .= 'First parameter: '.$err1->getMessage();
        }
        if (
PEAR::isError($err2)) {
            
$error .= ' Second parameter: '.$err2->getMessage();
        }
        if (!empty(
$error)) {
            return 
PEAR::raiseError($error);
        } else {
            return 
true;
        }
    }
/*}}}*/

    /**
     * Checks that the passed object is a valid Math_Integer number.
     * The object must be an instance of Math_Integer and have been properly
     * initialized.
     *
     * @param object Math_Integer $int1
     * @return mixed TRUE if is a Math_Integer object, PEAR_Error otherwise
     * @access private
     */
    
function _validInt(&$int1) {/*{{{*/
        
$error '';
        if (!
Math_IntegerOp::isMath_Integer($int1)) {
            
$error 'Is not a Math_Integer object.';
        } elseif (!
$int1->initialized()) {
            
$error 'Math_Integer object is uninitalized.';
        }
        if (!empty(
$error)) {
            return 
PEAR::raiseError($error);
        } else {
            return 
true;
        }
    }
/*}}}*/
}/*}}} end of Math_IntegerOp */

// vim: ts=4:sw=4:et:
// vim6: fdl=1:
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--