PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Math » Math_Finance » Bug #8624

quickly execution

Details

Request #8624quickly execution
Submitted2006-09-03 18:53 UTC
Fromb_j at tar dot hu
Assignedalejandrop
StatusClosed
PackageMath_Finance
PHP VersionIrrelevant
Roadmaps(Not assigned)

Comments

[2006-09-03 18:53 UTC] b_j at tar dot hu

Description:
------------
Math/Finance.php
presentValue:
//$pv = (-$pmt * (1 + $rate * $type) * ((pow(1 + $rate, $nper) - 1) / $rate) - $fv) / pow(1 + $rate, $nper);
$q=pow(1 + $rate, $nper);
$pv = (-$pmt * (1 + $rate * $type) * (($q - 1) / $rate) - $fv) / $q;
futureValue:
//$fv = -$pv * pow(1 + $rate, $nper) - $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate;
$q=pow(1 + $rate, $nper);
$fv = -$pv * $q - $pmt * (1 + $rate * $type) * ($q - 1) / $rate;
payment:
//$pmt = (-$fv - $pv * pow(1 + $rate, $nper)) / (1 + $rate * $type) / ((pow(1 + $rate, $nper) - 1) / $rate);
$q=pow(1 + $rate, $nper);
//$pmt = (-$fv - $pv * $q) / (1 + $rate * $type) / (($q - 1) / $rate);
$pmt = (-$fv - $pv * $q * $rate) / ((1 + $rate * $type) * ($q - 1)) ;
_tvm:
//return $pv * pow(1 + $rate, $nper) + $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate + $fv;
$q=pow(1 + $rate, $nper);
return $pv * $q + $pmt * (1 + $rate * $type) * ($q - 1) / $rate + $fv;
_dtvm:
/*
return
$nper * $pv * pow(1 + $rate, $nper - 1) + $pmt *
($type * (pow(1 + $rate, $nper) - 1) / $rate
+ (1 + $rate * $type) * ($nper * $rate * pow(1 + $rate, $nper - 1)
- pow(1 + $rate, $nper) + 1) / pow($rate,2));
*/
$q =pow(1 + $rate, $nper);
$q1=pow(1 + $rate, $nper - 1);
$q2=pow($rate,2);
return
$nper * $pv * $q1 + $pmt * ($type * ($q - 1) / $rate +
(1 + $rate * $type) * ($nper * $rate * $q1 - $q + 1) / $q2);