cvs: pear /Math_TrigOp TrigOp.php package.xml

From: Date: Sun, 24 Nov 2002 07:16:24 +0000
Subject: cvs: pear /Math_TrigOp TrigOp.php package.xml
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-7557@lists.php.net to get a copy of this message
jmcastagnetto Sun Nov 24 02:16:24 2002 EDT Added files: /pear/Math_TrigOp TrigOp.php package.xml Log: Initial import of supplementary Trigonometric operations Index: pear/Math_TrigOp/TrigOp.php +++ pear/Math_TrigOp/TrigOp.php <?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); } } }/*}}}*/ }/*}}}*/ ?> Index: pear/Math_TrigOp/package.xml +++ pear/Math_TrigOp/package.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE package SYSTEM "../package.dtd"> <!-- do not use the "Type" attribute here, that one is only for generated package.xml files --> <package> <name>Math_TrigOp</name> <summary>Supplementary trigonometric functions</summary> <description> Static class with methods that implement supplementary trigonometric, inverse trigonometric, hyperbolic, and inverse hyperbolic functions. </description> <maintainers> <maintainer> <user>jmcastagnetto</user> <name>Jesus M. Castagnetto</name> <email>jmcastagnetto@php.net</email> <role>lead</role> </maintainer> </maintainers> <release> <license>PHP</license> <version>1.0</version> <date>2002-11-19</date> <notes> Initial release under PEAR. </notes> <state>stable</state> <filelist> <dir name="/" baseinstalldir="Math"> <file role="php">TrigOp.php</file> </dir> </filelist> </release> <changelog> <release> </release> </changelog> </package>

« previous php.pear.cvs (#7557) next »