@@ 1433-1443 (lines=11) @@ | ||
1430 | $dx = $x1 - $x2; |
|
1431 | } |
|
1432 | ||
1433 | for ($i = 0; $i < self::FINANCIAL_MAX_ITERATIONS; ++$i) { |
|
1434 | $dx *= 0.5; |
|
1435 | $x_mid = $rtb + $dx; |
|
1436 | $f_mid = self::NPV($x_mid, $values); |
|
1437 | if ($f_mid <= 0.0) { |
|
1438 | $rtb = $x_mid; |
|
1439 | } |
|
1440 | if ((abs($f_mid) < self::FINANCIAL_PRECISION) || (abs($dx) < self::FINANCIAL_PRECISION)) { |
|
1441 | return $x_mid; |
|
1442 | } |
|
1443 | } |
|
1444 | ||
1445 | return Functions::VALUE(); |
|
1446 | } |
|
@@ 2286-2296 (lines=11) @@ | ||
2283 | $dx = $x1 - $x2; |
|
2284 | } |
|
2285 | ||
2286 | for ($i = 0; $i < self::FINANCIAL_MAX_ITERATIONS; ++$i) { |
|
2287 | $dx *= 0.5; |
|
2288 | $x_mid = $rtb + $dx; |
|
2289 | $f_mid = self::XNPV($x_mid, $values, $dates); |
|
2290 | if ($f_mid <= 0.0) { |
|
2291 | $rtb = $x_mid; |
|
2292 | } |
|
2293 | if ((abs($f_mid) < self::FINANCIAL_PRECISION) || (abs($dx) < self::FINANCIAL_PRECISION)) { |
|
2294 | return $x_mid; |
|
2295 | } |
|
2296 | } |
|
2297 | ||
2298 | return Functions::VALUE(); |
|
2299 | } |