@@ 1417-1427 (lines=11) @@ | ||
1414 | $dx = $x1 - $x2; |
|
1415 | } |
|
1416 | ||
1417 | for ($i = 0; $i < self::FINANCIAL_MAX_ITERATIONS; ++$i) { |
|
1418 | $dx *= 0.5; |
|
1419 | $x_mid = $rtb + $dx; |
|
1420 | $f_mid = self::NPV($x_mid, $values); |
|
1421 | if ($f_mid <= 0.0) { |
|
1422 | $rtb = $x_mid; |
|
1423 | } |
|
1424 | if ((abs($f_mid) < self::FINANCIAL_PRECISION) || (abs($dx) < self::FINANCIAL_PRECISION)) { |
|
1425 | return $x_mid; |
|
1426 | } |
|
1427 | } |
|
1428 | ||
1429 | return Functions::VALUE(); |
|
1430 | } |
|
@@ 2270-2280 (lines=11) @@ | ||
2267 | $dx = $x1 - $x2; |
|
2268 | } |
|
2269 | ||
2270 | for ($i = 0; $i < self::FINANCIAL_MAX_ITERATIONS; ++$i) { |
|
2271 | $dx *= 0.5; |
|
2272 | $x_mid = $rtb + $dx; |
|
2273 | $f_mid = self::XNPV($x_mid, $values, $dates); |
|
2274 | if ($f_mid <= 0.0) { |
|
2275 | $rtb = $x_mid; |
|
2276 | } |
|
2277 | if ((abs($f_mid) < self::FINANCIAL_PRECISION) || (abs($dx) < self::FINANCIAL_PRECISION)) { |
|
2278 | return $x_mid; |
|
2279 | } |
|
2280 | } |
|
2281 | ||
2282 | return Functions::VALUE(); |
|
2283 | } |