晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/www/crm/include/Zend/Crypt/Math/ |
Upload File : |
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Crypt
* @subpackage Math
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: BigInteger.php 24593 2012-01-05 20:35:02Z matthew $
*/
/**
* Support for arbitrary precision mathematics in PHP.
*
* Zend_Crypt_Math_BigInteger is a wrapper across three PHP extensions: bcmath, gmp
* and big_int. Since each offer similar functionality, but availability of
* each differs across installations of PHP, this wrapper attempts to select
* the fastest option available and encapsulate a subset of its functionality
* which all extensions share in common.
*
* This class requires one of the three extensions to be available. BCMATH
* while the slowest, is available by default under Windows, and under Unix
* if PHP is compiled with the flag "--enable-bcmath". GMP requires the gmp
* library from http://www.swox.com/gmp/ and PHP compiled with the "--with-gmp"
* flag. BIG_INT support is available from a big_int PHP library available from
* only from PECL (a Windows port is not available).
*
* @category Zend
* @package Zend_Crypt
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Crypt_Math_BigInteger
{
/**
* Holds an instance of one of the three arbitrary precision wrappers.
*
* @var Zend_Crypt_Math_BigInteger_Interface
*/
protected $_math = null;
/**
* Constructor; a Factory which detects a suitable PHP extension for
* arbitrary precision math and instantiates the suitable wrapper
* object.
*
* @param string $extension
* @throws Zend_Crypt_Math_BigInteger_Exception
*/
public function __construct($extension = null)
{
if ($extension !== null && !in_array($extension, array('bcmath', 'gmp', 'bigint'))) {
require_once('Zend/Crypt/Math/BigInteger/Exception.php');
throw new Zend_Crypt_Math_BigInteger_Exception('Invalid extension type; please use one of bcmath, gmp or bigint');
}
$this->_loadAdapter($extension);
}
/**
* Redirect all public method calls to the wrapped extension object.
*
* @param string $methodName
* @param array $args
* @throws Zend_Crypt_Math_BigInteger_Exception
*/
public function __call($methodName, $args)
{
if(!method_exists($this->_math, $methodName)) {
require_once 'Zend/Crypt/Math/BigInteger/Exception.php';
throw new Zend_Crypt_Math_BigInteger_Exception('invalid method call: ' . get_class($this->_math) . '::' . $methodName . '() does not exist');
}
return call_user_func_array(array($this->_math, $methodName), $args);
}
/**
* @param string $extension
* @throws Zend_Crypt_Math_BigInteger_Exception
*/
protected function _loadAdapter($extension = null)
{
if ($extension === null) {
if (extension_loaded('gmp')) {
$extension = 'gmp';
//} elseif (extension_loaded('big_int')) {
// $extension = 'big_int';
} else {
$extension = 'bcmath';
}
}
if($extension == 'gmp' && extension_loaded('gmp')) {
require_once 'Zend/Crypt/Math/BigInteger/Gmp.php';
$this->_math = new Zend_Crypt_Math_BigInteger_Gmp();
//} elseif($extension == 'bigint' && extension_loaded('big_int')) {
// require_once 'Zend/Crypt_Math/BigInteger/Bigint.php';
// $this->_math = new Zend_Crypt_Math_BigInteger_Bigint();
} elseif ($extension == 'bcmath' && extension_loaded('bcmath')) {
require_once 'Zend/Crypt/Math/BigInteger/Bcmath.php';
$this->_math = new Zend_Crypt_Math_BigInteger_Bcmath();
} else {
require_once 'Zend/Crypt/Math/BigInteger/Exception.php';
throw new Zend_Crypt_Math_BigInteger_Exception($extension . ' big integer precision math support not detected');
}
}
}