@@ 174-187 (lines=14) @@ | ||
171 | $basis = ($basis === null) ? 0 : Functions::flattenSingleValue($basis); |
|
172 | ||
173 | // Validate |
|
174 | if ((is_numeric($rate)) && (is_numeric($par))) { |
|
175 | $rate = (float) $rate; |
|
176 | $par = (float) $par; |
|
177 | if (($rate <= 0) || ($par <= 0)) { |
|
178 | return Functions::NAN(); |
|
179 | } |
|
180 | $daysBetweenIssueAndSettlement = DateTime::YEARFRAC($issue, $settlement, $basis); |
|
181 | if (!is_numeric($daysBetweenIssueAndSettlement)) { |
|
182 | // return date error |
|
183 | return $daysBetweenIssueAndSettlement; |
|
184 | } |
|
185 | ||
186 | return $par * $rate * $daysBetweenIssueAndSettlement; |
|
187 | } |
|
188 | ||
189 | return Functions::VALUE(); |
|
190 | } |
|
@@ 230-243 (lines=14) @@ | ||
227 | $basis = ($basis === null) ? 0 : Functions::flattenSingleValue($basis); |
|
228 | ||
229 | // Validate |
|
230 | if ((is_numeric($rate)) && (is_numeric($par))) { |
|
231 | $rate = (float) $rate; |
|
232 | $par = (float) $par; |
|
233 | if (($rate <= 0) || ($par <= 0)) { |
|
234 | return Functions::NAN(); |
|
235 | } |
|
236 | $daysBetweenIssueAndSettlement = DateTime::YEARFRAC($issue, $settlement, $basis); |
|
237 | if (!is_numeric($daysBetweenIssueAndSettlement)) { |
|
238 | // return date error |
|
239 | return $daysBetweenIssueAndSettlement; |
|
240 | } |
|
241 | ||
242 | return $par * $rate * $daysBetweenIssueAndSettlement; |
|
243 | } |
|
244 | ||
245 | return Functions::VALUE(); |
|
246 | } |