trigop.php
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 207 行
PHP
207 行
<?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: TrigOp.php,v 1.1 2002/11/24 07:16:24 jmcastagnetto Exp $//require_once 'PEAR.php';/** * Static class implementing supplementary trigonometric functions * * Example of use: * * $cot = Math_TrigOp::cot(0.3445); * $x = Math_TrigOp::acsch(-0.231); * * Originally this class was part of NumPHP (Numeric PHP package) * * @author Jesus M. Castagnetto <jmcastagnetto@php.net> * @version 1.0 * @access public * @package Math_TrigOp */class Math_TrigOp {/*{{{*/ // supplementary trigonometric functions /** * Calculates the secant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function sec($x) {/*{{{*/ $x = floatval($x); $cos = cos($x); if ($cos == 0.0) { return PEAR::raiseError('Undefined operation, cosine of parameter is zero'); } else { return 1/$cos; } }/*}}}*/ /** * Calculates the cosecant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function csc($x) {/*{{{*/ $x = floatval($x); $sin = sin($x); if ($sin == 0.0) { return PEAR::raiseError('Undefined operation, sine of parameter is zero'); } else { return 1/$sin; } }/*}}}*/ /** * Calculates the cotangent of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function cot($x) {/*{{{*/ $x = floatval($x); $tan = tan($x); if ($tan == 0.0) { return PEAR::raiseError('Undefined operation, tangent of parameter is zero'); } else { return 1/$tan; } }/*}}}*/ // Hyperbolic functions /** * Calculates the hyperbolic secant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function sech ($x) {/*{{{*/ $x = floatval($x); $cosh = cosh($x); if ($cosh == 0.0) { return PEAR::raiseError('Undefined operation, hyperbolic cosine of parameter is zero'); } else { return 1/$cosh; } }/*}}}*/ /** * Calculates the hyperbolic cosecant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function csch ($x) {/*{{{*/ $x = floatval($x); $sinh = sinh($x); if ($sinh == 0.0) { return PEAR::raiseError('Undefined operation, hyperbolic sine of parameter is zero'); } else { return 1/$sinh; } }/*}}}*/ /** * Calculates the hyperbolic cotangent of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function coth ($x) {/*{{{*/ $x = floatval($x); $tanh = tanh($x); if ($tanh == 0.0) { return PEAR::raiseError('Undefined operation, hyperbolic tangent of parameter is zero'); } else { return 1/$tanh; } }/*}}}*/ // Inverse hyperbolic functions /** * Calculates the inverse hyperbolic secant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function asech ($x) {/*{{{*/ $x = floatval($x); if ($x == 0.0) { return PEAR::raiseError('Undefined operation, parameter is zero'); } else { return log((1 + sqrt(1 - $x*$x)) / $x); } }/*}}}*/ /** * Calculates the inverse hyperbolic cosecant of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function acsch ($x) {/*{{{*/ $x = floatval($x); if ($x == 0.0) { return PEAR::raiseError('Undefined operation, parameter is zero'); } elseif ($x < 0) { return PEAR::raiseError('Undefined operation, parameter is negative'); } else { return log((1 + sqrt(1 + $x*$x)) / $x); } }/*}}}*/ /** * Calculates the inverse hyperbolic cotangent of the parameter * * @param float $x * @returns mixed A floating point on success, PEAR_Error object otherwise * @access public */ function acoth ($x) {/*{{{*/ $x = floatval($x); if ($x == 1.0) { return PEAR::raiseError('Undefined operation, parameter is 1.0'); } else { $rat = ($x + 1)/($x - 1); if ($rat < 0) { return PEAR::raiseError('Undefined operation, (x+1)/(x-1) is negative'); } else { return 0.5*log($rat); } } }/*}}}*/}/*}}}*/?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?