Code Duplication    Length = 25-25 lines in 2 locations

src/PhpSpreadsheet/Calculation/Financial.php 2 locations

@@ 443-467 (lines=25) @@
440
     *
441
     * @return float
442
     */
443
    public static function COUPDAYBS($settlement, $maturity, $frequency, $basis = 0)
444
    {
445
        $settlement = Functions::flattenSingleValue($settlement);
446
        $maturity = Functions::flattenSingleValue($maturity);
447
        $frequency = (int) Functions::flattenSingleValue($frequency);
448
        $basis = ($basis === null) ? 0 : (int) Functions::flattenSingleValue($basis);
449
450
        if (is_string($settlement = DateTime::getDateValue($settlement))) {
451
            return Functions::VALUE();
452
        }
453
        if (is_string($maturity = DateTime::getDateValue($maturity))) {
454
            return Functions::VALUE();
455
        }
456
457
        if (($settlement > $maturity) ||
458
            (!self::isValidFrequency($frequency)) ||
459
            (($basis < 0) || ($basis > 4))) {
460
            return Functions::NAN();
461
        }
462
463
        $daysPerYear = self::daysPerYear(DateTime::YEAR($settlement), $basis);
464
        $prev = self::couponFirstPeriodDate($settlement, $maturity, $frequency, false);
465
466
        return DateTime::YEARFRAC($prev, $settlement, $basis) * $daysPerYear;
467
    }
468
469
    /**
470
     * COUPDAYS.
@@ 586-610 (lines=25) @@
583
     *
584
     * @return float
585
     */
586
    public static function COUPDAYSNC($settlement, $maturity, $frequency, $basis = 0)
587
    {
588
        $settlement = Functions::flattenSingleValue($settlement);
589
        $maturity = Functions::flattenSingleValue($maturity);
590
        $frequency = (int) Functions::flattenSingleValue($frequency);
591
        $basis = ($basis === null) ? 0 : (int) Functions::flattenSingleValue($basis);
592
593
        if (is_string($settlement = DateTime::getDateValue($settlement))) {
594
            return Functions::VALUE();
595
        }
596
        if (is_string($maturity = DateTime::getDateValue($maturity))) {
597
            return Functions::VALUE();
598
        }
599
600
        if (($settlement > $maturity) ||
601
            (!self::isValidFrequency($frequency)) ||
602
            (($basis < 0) || ($basis > 4))) {
603
            return Functions::NAN();
604
        }
605
606
        $daysPerYear = self::daysPerYear(DateTime::YEAR($settlement), $basis);
607
        $next = self::couponFirstPeriodDate($settlement, $maturity, $frequency, true);
608
609
        return DateTime::YEARFRAC($settlement, $next, $basis) * $daysPerYear;
610
    }
611
612
    /**
613
     * COUPNCD.