@@ 160-173 (lines=14) @@ | ||
157 | $basis = ($basis === null) ? 0 : Functions::flattenSingleValue($basis); |
|
158 | ||
159 | // Validate |
|
160 | if ((is_numeric($rate)) && (is_numeric($par))) { |
|
161 | $rate = (float) $rate; |
|
162 | $par = (float) $par; |
|
163 | if (($rate <= 0) || ($par <= 0)) { |
|
164 | return Functions::NAN(); |
|
165 | } |
|
166 | $daysBetweenIssueAndSettlement = DateTime::YEARFRAC($issue, $settlement, $basis); |
|
167 | if (!is_numeric($daysBetweenIssueAndSettlement)) { |
|
168 | // return date error |
|
169 | return $daysBetweenIssueAndSettlement; |
|
170 | } |
|
171 | ||
172 | return $par * $rate * $daysBetweenIssueAndSettlement; |
|
173 | } |
|
174 | ||
175 | return Functions::VALUE(); |
|
176 | } |
|
@@ 216-229 (lines=14) @@ | ||
213 | $basis = ($basis === null) ? 0 : Functions::flattenSingleValue($basis); |
|
214 | ||
215 | // Validate |
|
216 | if ((is_numeric($rate)) && (is_numeric($par))) { |
|
217 | $rate = (float) $rate; |
|
218 | $par = (float) $par; |
|
219 | if (($rate <= 0) || ($par <= 0)) { |
|
220 | return Functions::NAN(); |
|
221 | } |
|
222 | $daysBetweenIssueAndSettlement = DateTime::YEARFRAC($issue, $settlement, $basis); |
|
223 | if (!is_numeric($daysBetweenIssueAndSettlement)) { |
|
224 | // return date error |
|
225 | return $daysBetweenIssueAndSettlement; |
|
226 | } |
|
227 | ||
228 | return $par * $rate * $daysBetweenIssueAndSettlement; |
|
229 | } |
|
230 | ||
231 | return Functions::VALUE(); |
|
232 | } |