Code Duplication    Length = 25-25 lines in 2 locations

src/PhpSpreadsheet/Calculation/Financial.php 2 locations

@@ 429-453 (lines=25) @@
426
     *
427
     * @return float
428
     */
429
    public static function COUPDAYBS($settlement, $maturity, $frequency, $basis = 0)
430
    {
431
        $settlement = Functions::flattenSingleValue($settlement);
432
        $maturity = Functions::flattenSingleValue($maturity);
433
        $frequency = (int) Functions::flattenSingleValue($frequency);
434
        $basis = ($basis === null) ? 0 : (int) Functions::flattenSingleValue($basis);
435
436
        if (is_string($settlement = DateTime::getDateValue($settlement))) {
437
            return Functions::VALUE();
438
        }
439
        if (is_string($maturity = DateTime::getDateValue($maturity))) {
440
            return Functions::VALUE();
441
        }
442
443
        if (($settlement > $maturity) ||
444
            (!self::isValidFrequency($frequency)) ||
445
            (($basis < 0) || ($basis > 4))) {
446
            return Functions::NAN();
447
        }
448
449
        $daysPerYear = self::daysPerYear(DateTime::YEAR($settlement), $basis);
450
        $prev = self::couponFirstPeriodDate($settlement, $maturity, $frequency, false);
451
452
        return DateTime::YEARFRAC($prev, $settlement, $basis) * $daysPerYear;
453
    }
454
455
    /**
456
     * COUPDAYS.
@@ 570-594 (lines=25) @@
567
     *
568
     * @return float
569
     */
570
    public static function COUPDAYSNC($settlement, $maturity, $frequency, $basis = 0)
571
    {
572
        $settlement = Functions::flattenSingleValue($settlement);
573
        $maturity = Functions::flattenSingleValue($maturity);
574
        $frequency = (int) Functions::flattenSingleValue($frequency);
575
        $basis = ($basis === null) ? 0 : (int) Functions::flattenSingleValue($basis);
576
577
        if (is_string($settlement = DateTime::getDateValue($settlement))) {
578
            return Functions::VALUE();
579
        }
580
        if (is_string($maturity = DateTime::getDateValue($maturity))) {
581
            return Functions::VALUE();
582
        }
583
584
        if (($settlement > $maturity) ||
585
            (!self::isValidFrequency($frequency)) ||
586
            (($basis < 0) || ($basis > 4))) {
587
            return Functions::NAN();
588
        }
589
590
        $daysPerYear = self::daysPerYear(DateTime::YEAR($settlement), $basis);
591
        $next = self::couponFirstPeriodDate($settlement, $maturity, $frequency, true);
592
593
        return DateTime::YEARFRAC($settlement, $next, $basis) * $daysPerYear;
594
    }
595
596
    /**
597
     * COUPNCD.