• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lballabio / QuantLib / 8596367794

08 Apr 2024 07:41AM UTC coverage: 72.497%. Remained the same
8596367794

push

github

web-flow
Pass Schedule by value and move (#1942)

55 of 68 new or added lines in 27 files covered. (80.88%)

1 existing line in 1 file now uncovered.

54964 of 75816 relevant lines covered (72.5%)

8676660.23 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/ql/instruments/bonds/amortizingfloatingratebond.cpp
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2

3
/*
4
 Copyright (C) 2008 Simon Ibbotson
5

6
 This file is part of QuantLib, a free-software/open-source library
7
 for financial quantitative analysts and developers - http://quantlib.org/
8

9
 QuantLib is free software: you can redistribute it and/or modify it
10
 under the terms of the QuantLib license.  You should have received a
11
 copy of the license along with this program; if not, please email
12
 <quantlib-dev@lists.sf.net>. The license is also available online at
13
 <http://quantlib.org/license.shtml>.
14

15
 This program is distributed in the hope that it will be useful, but WITHOUT
16
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
 FOR A PARTICULAR PURPOSE.  See the license for more details.
18
*/
19

20
#include <ql/instruments/bonds/amortizingfloatingratebond.hpp>
21
#include <ql/cashflows/iborcoupon.hpp>
22
#include <ql/cashflows/simplecashflow.hpp>
23
#include <ql/time/schedule.hpp>
24
#include <ql/indexes/iborindex.hpp>
25

26
namespace QuantLib {
27

28
    AmortizingFloatingRateBond::AmortizingFloatingRateBond(
×
29
                                    Natural settlementDays,
30
                                    const std::vector<Real>& notionals,
31
                                    Schedule schedule,
32
                                    const ext::shared_ptr<IborIndex>& index,
33
                                    const DayCounter& paymentDayCounter,
34
                                    BusinessDayConvention paymentConvention,
35
                                    Natural fixingDays,
36
                                    const std::vector<Real>& gearings,
37
                                    const std::vector<Spread>& spreads,
38
                                    const std::vector<Rate>& caps,
39
                                    const std::vector<Rate>& floors,
40
                                    bool inArrears,
41
                                    const Date& issueDate,
42
                                    const Period& exCouponPeriod,
43
                                    const Calendar& exCouponCalendar,
44
                                    const BusinessDayConvention exCouponConvention,
45
                                    bool exCouponEndOfMonth,
46
                                    const std::vector<Real>& redemptions,
47
                                    Integer paymentLag)
×
48
    : Bond(settlementDays, schedule.calendar(), issueDate) {
×
49

50
        maturityDate_ = schedule.endDate();
×
51

NEW
52
        cashflows_ = IborLeg(std::move(schedule), index)
×
53
            .withNotionals(notionals)
×
54
            .withPaymentDayCounter(paymentDayCounter)
×
55
            .withPaymentAdjustment(paymentConvention)
×
56
            .withFixingDays(fixingDays)
×
57
            .withPaymentLag(paymentLag)
×
58
            .withGearings(gearings)
×
59
            .withSpreads(spreads)
×
60
            .withCaps(caps)
×
61
            .withFloors(floors)
×
62
            .withExCouponPeriod(exCouponPeriod,
×
63
                                exCouponCalendar,
64
                                exCouponConvention,
65
                                exCouponEndOfMonth)
66
            .inArrears(inArrears);
×
67

68
        addRedemptionsToCashflows(redemptions);
×
69

70
        QL_ENSURE(!cashflows().empty(), "bond with no cashflows!");
×
71

72
        registerWith(index);
×
73
    }
×
74

75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc