• 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/amortizingcmsratebond.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/amortizingcmsratebond.hpp>
21
#include <ql/cashflows/cmscoupon.hpp>
22
#include <ql/cashflows/simplecashflow.hpp>
23
#include <ql/indexes/swapindex.hpp>
24
#include <ql/time/schedule.hpp>
25

26
namespace QuantLib {
27

28
    AmortizingCmsRateBond::AmortizingCmsRateBond(
×
29
                                    Natural settlementDays,
30
                                    const std::vector<Real>& notionals,
31
                                    Schedule schedule,
32
                                    const ext::shared_ptr<SwapIndex>& 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 std::vector<Real>& redemptions)
×
43
    : Bond(settlementDays, schedule.calendar(), issueDate) {
×
44

45
        maturityDate_ = schedule.endDate();
×
46

NEW
47
        cashflows_ = CmsLeg(std::move(schedule), index)
×
48
            .withNotionals(notionals)
×
49
            .withPaymentDayCounter(paymentDayCounter)
×
50
            .withPaymentAdjustment(paymentConvention)
×
51
            .withFixingDays(fixingDays)
×
52
            .withGearings(gearings)
×
53
            .withSpreads(spreads)
×
54
            .withCaps(caps)
×
55
            .withFloors(floors)
×
56
            .inArrears(inArrears);
×
57

58
        addRedemptionsToCashflows(redemptions);
×
59

60
        QL_ENSURE(!cashflows().empty(), "bond with no cashflows!");
×
61

62
        registerWith(index);
×
63
    }
×
64

65
}
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