PHP Resources
Home
Books
Directories
Magazines
Non-English Sites
Online Communities
Tools
Tutorials and Articles
Web Hosting
PHP Functions
PHP News Groups *
PHP Reference
Smarty Reference
Pear Reference
PHP-GTK Reference

By submitting PHP Resources you own, or know of, you'll help us build the largest PHP Resource website on the net. Please double check that your resource doesn't already exist before you submit it!!. We thank you for helping make this a better website.









Resource Image Newest ResourcesPopular ResourcesTop Resources Resource Image
PHP Resources
PHP: exp - Manual

search for in the

expm1> <deg2rad
Last updated: Fri, 27 Jun 2008

view this page in

exp

(PHP 4, PHP 5)

exp — Calculates the exponent of e

Description

float exp ( float $arg )

Returns e raised to the power of arg .

Note: 'e' is the base of the natural system of logarithms, or approximately 2.718282.

Parameters

arg

The argument to process

Return Values

'e' raised to the power of arg

Examples

Example #1 exp() example

<?php
echo exp(12) . "\n";
echo 
exp(5.7);
?>

The above example will output:

1.6275E+005
298.87

See Also



expm1> <deg2rad
Last updated: Fri, 27 Jun 2008
 
add a note add a note User Contributed Notes
exp
konrad
24-Jan-2007 03:13
working version (checked) of below code is

<?php
 
// see bccomp for this code (signed and unsigned zero!)
 
function bccomp_zero($amount) {
    return
bccomp($amount, (@$amount{0}=="-"?'-':'').'0.0');
  }

 
// arbitrary precision function (x^n)/(n)!
 
function bcpowfact($x, $n) {
    if (
bccomp_zero($n) == 0) return '1';
    if (
bccomp($n, '1') == 0) return $x;
   
$a = $x; // 1st step: a *= x / 1
   
$i = $n;
    while (
bccomp($i, '1') == 1) {
     
// ith step: a *= x / i
     
$a = bcmul($a, bcdiv($x, $i));
     
$i = bcsub($i, '1'); // bc idiom for $i--
   
}
    return
$a;
  }

 
// arbitrary precision exp() function
 
function bcexp($x, $digits) {
   
$sum = $prev_sum = '0.0';
   
$error = '0.'.str_repeat('0', $digits-1).'1'; // 0.1*10^-k
   
$n = '0.0';
    do {
     
$prev_sum = $sum;
     
$sum = bcadd($sum, bcpowfact($x, $n));
     
$n = bcadd($n, '1'); // bc idiom for $n++
   
} while (bccomp(bcsub($sum, $prev_sum), $error) == 1);
    return
$sum;
  }
?>
boards at gmail dot com
26-Apr-2006 10:18
Note regarding the mathematical function exp(x):

To continue accuracy of the exponential function to an infinite amount of decimal places, one would use the power series definition for exp(x).
(in LaTeX form:)
e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!}

So, to do that in PHP (using BC math):

<?php
// arbitrary precision function (x^n)/(n)!
function bcpowfact($x, $n) {
  if (
bccomp($n, '0') == 0) return '1.0';
  if (
bccomp($n, '1') == 1) return $x;
 
$a = $x; // nth step: a *= x / 1
 
$i = $n;
  while (
bccomp($i, '1') == 1) {
   
// ith step: a *= x / i
   
$a = bcmul($a, bcdiv($x, $i));
   
$i = bcsub($i, '1'); // bc idiom for $i--
 
}
  return
$a;
}

// arbitrary precision exp() function
function bcexp($x, $decimal_places) {
 
$sum = $prev_sum = '0.0';
 
$error = bcdiv(bcpow('10', '-'.$decimal_places), 10); // 0.1*10^-k
 
$n = '0';
  do {
   
$prev_sum = $sum;
   
$sum = bcadd($sum, bcpowfact($x, $n));
  }
  while (
bccomp(bcsub($sum, $prev_sum), $error) == 1);
  return
$sum;
}
?>
info at teddycaddy dot com
16-Sep-2004 06:55
This only returns the first 51 digits after the decimal point.

expm1> <deg2rad
Last updated: Fri, 27 Jun 2008
 
 




Featured




Featured
PHP Code Examples
web site templates
Learn PHP playing Trivia
PHP & MySQL Forums
Web Development Index

List Your ResourceUpdate Your Resource

Copyright © 2006 - 2008 MickMel Inc