Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Code Quality
Main \ Rules \ Object Oriented Design
Main \ Rules \ Design
Main \ Rules \ Architecture and Layering
Main \ Rules \ Best Practices
Main \ Rules \ Best Practices \ Constness
Main \ Rules \ Best Practices \ Exception
Main \ Rules \ Dead Code
Main \ Rules \ Visibility
Main \ Rules \ Purity - Immutability - Side-Effects
Main \ Rules \ Naming Conventions
Main \ Rules \ Source Files Organization
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
cppdepend report summary application nameQuantlibreport build date08/04/2014 20:14:48analysis duration00:24:32cppdepend version 4.1.0.2453baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to CppDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
35 741      
0 (NotMyCode)
# Types
2 049      
1   Projects      
93   Namespaces      
9 597   Methods      
44 286   Fields      
1 696   Source Files      
Comment
35.57%      
19 728   Lines of Comment      
Method Complexity
71   Max      
1.46   Average      
Type Complexity
1 162   Max      
9.96   Average      
Third-Party Usage
2   Projects used      
4   Namespaces used      
55   Types used      
305   Methods used      
6   Fields used      

Rules summary

24420This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 45

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp CppDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
1 typesCode Quality
warningCritical   Methods too complex - critical
12 methodsCode Quality
warningCritical   Methods with too many parameters - critical
120 methodsCode Quality
warning   Quick summary of methods to refactor
870 methodsCode Quality
warning   Methods too big
172 methodsCode Quality
warning   Methods too complex
66 methodsCode Quality
warning   Methods potentially poorly commented
211 methodsCode Quality
warning   Methods with too many parameters
377 methodsCode Quality
warning   Methods with too many local variables
111 methodsCode Quality
warning   Methods with too many overloads
27 methodsCode Quality
warning   Types with too many methods
30 typesCode Quality
warning   Types with too many fields
17 typesCode Quality
warning   Types with poor cohesion
45 typesCode Quality
warning   Class shouldn't be too deep in inheritance tree
486 typesObject Oriented Design
warning   Constructor should not call a virtual methods
34 methodsObject Oriented Design
warning   Don't assign static fields from instance methods
13 fieldsObject Oriented Design
warning   Avoid Abstract Classes with too many methods
34 typesObject Oriented Design
warning   Type should not have too many responsibilities
2 typesDesign
warning   Avoid namespaces with few types
88 namespacesDesign
warning   Nested types should not be visible
315 typesDesign
warning   Avoid namespaces mutually dependent
26 namespacesArchitecture and Layering
warning   Avoid namespaces dependency cycles
1 namespacesArchitecture and Layering
warning   Avoid overusing of dynamic_cast
10 methodsBest Practices
warning   Avoid using goto keyword
5 methodsBest Practices
warning   Use const_cast carrefully
4 methodsConstness
warning   Avoid using Generic Catch(...)
10 methodsException
warning   Potentially dead Types
576 typesDead Code
warning   Potentially dead Methods
418 methodsDead Code
warning   Potentially dead Fields
903 fieldsDead Code
warning   Fields should be declared as private
40633 fieldsVisibility
warning   Constructors of abstract classes should be declared as protected or private
106 typesVisibility
warning   Structures should be immutable
64 typesPurity - Immutability - Side-Effects
warning   Avoid static fields with a mutable field type
3 fieldsPurity - Immutability - Side-Effects
warning   Instance fields should be prefixed with a 'm_'
10 fieldsNaming Conventions
warning   Static fields should be prefixed with a 's_'
10 fieldsNaming Conventions
warning   Exception class name should be suffixed with 'Exception'
1 typesNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
27 typesNaming Conventions
warning   Avoid methods with name too long
127 methodsNaming Conventions
warning   Avoid fields with name too long
1 fieldsNaming Conventions
warning   Namespace name should correspond to file location
196 typesNaming Conventions
warning   Avoid defining multiple types in a source file
217 typesSource Files Organization
warning   Namespace name should correspond to file location
131 typesSource Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
30 namespacesSource Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
2 namespacesSource Files Organization

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 1,820 Classes 000 public properties on Keywords
Public methods on classes 1,820 classes 6.2315.82586 public methods on __Globals
Arguments on public methods on classes 11,336 methods 1.241.7324 arguments on QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double,double,int,double,double*,int,double,int,int*,int*,double*,int,int*,double*,double*,double*,double*,double*,constint&)
Cyclomatic complexity on non abstract Methods 12,615 Methods 0.31.45 CC = 54 for QuantLib.SwaptionVolCube1.fillVolatilityCube()

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
QuantLib v1.0.0.035741205014319728350623.6810.070.05

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code # Types # lines of comment% CommentAfferent CouplingEfferent Coupling
QuantLib::GlobalNamespace3550200113
QuantLib::QuantLib283091853005348
QuantLib::QuantLib.detail936700036
QuantLib::QuantLib.io1610032
QuantLib::QuantLib.MINPACK52210002
QuantLib::QuantLib.ForwardForwardMappings4310002
QuantLib::QuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp}1220003
QuantLib::QuantLib.anonymous_namespace{fdsimpleextoustorageengine.cpp}410001
QuantLib::QuantLib.anonymous_namespace{fdsimpleklugeextouvppengine.cpp}210001
QuantLib::QuantLib.anonymous_namespace{vanillavppoption.cpp}310002
QuantLib::QuantLib.anonymous_namespace{vanillaswingoption.cpp}1210013
QuantLib::QuantLib.anonymous_namespace{differentialevolution.cpp}110001
QuantLib::QuantLib.anonymous_namespace{richardsonextrapolation.cpp}610012
QuantLib::QuantLib.anonymous_namespace{fdmmeshercomposite.cpp}010000
QuantLib::QuantLib.anonymous_namespace{lsmbasissystem.cpp}2330013
QuantLib::QuantLib.anonymous_namespace{parametricexercise.cpp}2010013
QuantLib::QuantLib.anonymous_namespace{averagebmacoupon.cpp}2720013
QuantLib::QuantLib.anonymous_namespace{cashflows.cpp}11540013
QuantLib::QuantLib.anonymous_namespace{conundrumpricer.cpp}920012
QuantLib::QuantLib.anonymous_namespace{couponpricer.cpp}010011
QuantLib::QuantLib.anonymous_namespace{overnightindexedcoupon.cpp}3810002
QuantLib::QuantLib.anonymous_namespace{bmaindex.cpp}610011
QuantLib::QuantLib.anonymous_namespace{euribor.cpp}1810012
QuantLib::QuantLib.anonymous_namespace{eurlibor.cpp}1810012
QuantLib::QuantLib.anonymous_namespace{libor.cpp}1810012
QuantLib::QuantLib.anonymous_namespace{capfloor.cpp}510012
QuantLib::QuantLib.anonymous_namespace{creditdefaultswap.cpp}710012
QuantLib::QuantLib.anonymous_namespace{impliedvolatility.cpp}910013
QuantLib::QuantLib.anonymous_namespace{swaption.cpp}510012
QuantLib::QuantLib.anonymous_namespace{factorial.cpp}010011
QuantLib::QuantLib.anonymous_namespace{modifiedbessel.cpp}2640013
QuantLib::QuantLib.anonymous_namespace{primenumbers.cpp}010011
QuantLib::QuantLib.anonymous_namespace{histogram.cpp}1610012
QuantLib::QuantLib.anonymous_namespace{bivariatenormaldistribution.cpp}1820012
QuantLib::QuantLib.anonymous_namespace{basisincompleteordered.cpp}910002
QuantLib::QuantLib.anonymous_namespace{pseudosqrt.cpp}15720014
QuantLib::QuantLib.anonymous_namespace{svd.cpp}510011
QuantLib::QuantLib.anonymous_namespace{latticerules.cpp}010011
QuantLib::QuantLib.anonymous_namespace{sobolrsg.cpp}010011
QuantLib::QuantLib.anonymous_namespace{simplex.cpp}910013
QuantLib::QuantLib.anonymous_namespace{spherecylinder.cpp}2710001
QuantLib::QuantLib.anonymous_namespace{model.cpp}010000
QuantLib::QuantLib.anonymous_namespace{sobolbrowniangenerator.cpp}2510011
QuantLib::QuantLib.anonymous_namespace{alphafinder.cpp}8010011
QuantLib::QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp}11410003
QuantLib::QuantLib.anonymous_namespace{upperboundengine.cpp}2210013
QuantLib::QuantLib.anonymous_namespace{swaptionpseudojacobian.cpp}1310014
QuantLib::QuantLib.anonymous_namespace{garch.cpp}16470004
QuantLib::QuantLib.anonymous_namespace{yieldtermstructure.cpp}010011
QuantLib::QuantLib.anonymous_namespace{bondhelpers.cpp}010000
QuantLib::QuantLib.anonymous_namespace{oisratehelper.cpp}010000
QuantLib::QuantLib.anonymous_namespace{ratehelpers.cpp}010000
QuantLib::QuantLib.anonymous_namespace{inflationhelpers.cpp}010000
QuantLib::QuantLib.anonymous_namespace{defaultdensitystructure.cpp}520001
QuantLib::QuantLib.anonymous_namespace{defaultprobabilityhelpers.cpp}010000
QuantLib::QuantLib.anonymous_namespace{hazardratestructure.cpp}520001
QuantLib::QuantLib.anonymous_namespace{exchangeratemanager.cpp}210001
QuantLib::QuantLib.anonymous_namespace{hestonprocess.cpp}7910003
QuantLib::QuantLib.anonymous_namespace{stulzengine.cpp}2610002
QuantLib::QuantLib.anonymous_namespace{analyticbsmhullwhiteengine.cpp}510003
QuantLib::QuantLib.anonymous_namespace{analyticgjrgarchengine.cpp}210010
QuantLib::QuantLib.anonymous_namespace{bjerksundstenslandengine.cpp}1810003
QuantLib::QuantLib.anonymous_namespace{integralengine.cpp}310012
QuantLib::QuantLib.anonymous_namespace{discretizedswaption.cpp}210001
QuantLib::QuantLib.anonymous_namespace{period.cpp}1110012
QuantLib::QuantLib.anonymous_namespace{schedule.cpp}1810011
QuantLib::QuantLib.anonymous_namespace{business252.cpp}1310012
QuantLib::QuantLib.anonymous_namespace{simpledaycounter.cpp}010011
QuantLib::QuantLib.anonymous_namespace{discretizedcallablefixedratebond.cpp}210010
QuantLib::QuantLib.anonymous_namespace{catrisk.cpp}110011
QuantLib::QuantLib.anonymous_namespace{analyticpdfhestonengine.cpp}020011
QuantLib::QuantLib.anonymous_namespace{cdsoption.cpp}310012
QuantLib::QuantLib.anonymous_namespace{issuer.cpp}010000
QuantLib::QuantLib.anonymous_namespace{randomdefaultmodel.cpp}210003
QuantLib::QuantLib.anonymous_namespace{riskyassetswap.cpp}010000
QuantLib::QuantLib.anonymous_namespace{generalizedhullwhite.cpp}940012
QuantLib::QuantLib.anonymous_namespace{irregularswaption.cpp}510012
QuantLib::QuantLib.anonymous_namespace{analyticvariancegammaengine.cpp}1110013
QuantLib::QuantLib.anonymous_namespace{quantity.cpp}610012
QuantLib::QuantLib.anonymous_namespace{unitofmeasureconversionmanager.cpp}310011
QuantLib::QuantLib.anonymous_namespace{amortizingfixedratebond.cpp}4510003
QuantLib::QuantLib.anonymous_namespace{perturbativebarrieroptionengine.cpp}450001
QuantLib::QuantLib.anonymous_namespace{convertiblebond.cpp}010000
QuantLib::QuantLib.anonymous_namespace{yoyoptionlethelpers.cpp}010000
QuantLib::QuantLib.anonymous_namespace{expm.cpp}310002
QuantLib::QuantLib.anonymous_namespace{zigguratrng.cpp}010011
QuantLib::QuantLib.anonymous_namespace{money.cpp}510012
QuantLib::anonymous_namespace{cmsmarketcalibration.cpp}4760003
QuantLib::anonymous_namespace{blackformula.cpp}610011
QuantLib::anonymous_namespace{integralhestonvarianceoptionengine.cpp}11520002
QuantLib::anonymous_namespace{perturbativebarrieroptionengine.cpp}86110003
QuantLib::anonymous_namespace{errors.cpp}310011
QuantLib::boost210002

0130
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
// <Name>Types too big - critical</Name>
warnif count > 0 from t in JustMyCode.Types where 
   
t.NbLinesOfCode > 500 && !t.IsGlobal
   
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode,
                
t.NbMethods, t.NbFields }

// Types where NbLinesOfCode > 500 are extremely complex 
// and should be split in a smaller group of types. 
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

1 types matched

type# lines of code (LOC)# Methods# FieldsFull Name
FdmStepConditionComposite062QuantLib.FdmStepConditionComposite

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:062
Average:062
Minimum:062
Maximum:062
Standard deviation:000
Variance:000
warningCritical    Critical Rule warning: Methods too complex - critical
// <Name>Methods too complex - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 && 
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, m.NestingDepth }

// Methods with CyclomaticComplexity > 20 and NestingDepth  > 5
// are really too complex and should be split 
// in smaller methods, or even types.
// See the definition of the CyclomaticComplexity metric here 
// http://www.cppdepend.com/Metrics.aspx#CC
// See the definition of the NestingDepth metric here 
// http://www.cppdepend.com/Metrics.aspx#NestingDepth

12 methods matched

methodsCyclomatic Complexity (CC)NestingDepthFull Name
Schedule(QuantLib::Date,constQuantLib::Date&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,QuantLib::BusinessDayConvention,DateGeneration::Rule,bool ,constQuantLib::Date&,constQuantLib::Date&)719QuantLib.Schedule.Schedule(QuantLib::Date,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention ,DateGeneration::Rule,bool,constQuantLib::Date&,constQuantLib::Date&)
SVD(constQuantLib::Matrix&)6221QuantLib.SVD.SVD(constQuantLib::Matrix&)
update()5218QuantLib.detail.CubicInterpolationImpl<I1,I2>.update()
hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)396QuantLib.anonymous_namespace{pseudosqrt.cpp}.__Globals .hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)
singlePathValues(std::vector<Real>&)358QuantLib.PathwiseVegasOuterAccountingEngine.singlePathValues (std::vector<Real>&)
singlePathValues(std::vector<Real>&)298QuantLib.PathwiseVegasAccountingEngine.singlePathValues(std::vector <Real>&)
singlePathValues(std::vector<Real>&)278QuantLib.PathwiseAccountingEngine.singlePathValues(std::vector<Real>&)
intersect()257QuantLib.InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D ,Interpolator1D>.intersect()
SparseILUPreconditioner(constint&,Integer)247__Globals.SparseILUPreconditioner(constint&,Integer)
operator+=(constQuantLib::Period&)247QuantLib.Period.operator+=(constQuantLib::Period&)
calculateNextGeneration(std::vector<Candidate>& ,constQuantLib::CostFunction&)2112QuantLib.DifferentialEvolution.calculateNextGeneration(std::vector <Candidate>&,constQuantLib::CostFunction&)
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)216QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)

Statistics

Stat   Cyclomatic Complexity (CC)   NestingDepth
Sum:430117
Average:35.839.75
Minimum:216
Maximum:7121
Standard deviation:16.224.66
Variance:262.9721.69
warningCritical    Critical Rule warning: Methods with too many parameters - critical
// <Name>Methods with too many parameters - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 8
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods with more than 8 parameters might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
//  and the method System.Diagnostics.Process.Start(ProcessStartInfo))
//  See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

120 methods matched

methods# ParametersFull Name
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)24QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)
FixedRateBond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)20QuantLib.FixedRateBond.FixedRateBond(Natural,constQuantLib::Calendar& ,Real,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
GemanRoncoroniProcess(Real,Real,Real,Real,Real,Real,Real,Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real)17QuantLib.GemanRoncoroniProcess.GemanRoncoroniProcess(Real,Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real )
SabrInterpolatedSmileSection(constQuantLib::Date&,constHandle <QuantLib::Quote>&,conststd::vector<Rate>&,bool,constHandle <QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)16__Globals.SabrInterpolatedSmileSection(constQuantLib::Date& ,constHandle<QuantLib::Quote>&,conststd::vector<Rate>&,bool ,constHandle<QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)16__Globals.SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
solve(Real,Integer,conststd::vector<Volatility>&,conststd::vector <Volatility>&,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real ,Integer,Real&,Real&,Real&,std::vector<Volatility>&)16QuantLib.AlphaFinder.solve(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)
solveWithMaxHomogeneity(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)16QuantLib.AlphaFinder.solveWithMaxHomogeneity(Real,Integer ,conststd::vector<Volatility>&,conststd::vector<Volatility>& ,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real,Integer,Real& ,Real&,Real&,std::vector<Volatility>&)
doCalculation(Real,Real,Real,Real,Real,Real,Real,Real,Real,Real ,constQuantLib::TypePayoff& ,constQuantLib::AnalyticHestonEngine::Integration& ,constQuantLib::AnalyticHestonEngine::ComplexLogFormula ,constQuantLib::AnalyticHestonEngine*const,Real&,Size&)16QuantLib.AnalyticHestonEngine.doCalculation(Real,Real,Real,Real,Real ,Real,Real,Real,Real,Real,constQuantLib::TypePayoff& ,constQuantLib::AnalyticHestonEngine::Integration& ,constQuantLib::AnalyticHestonEngine::ComplexLogFormula ,constQuantLib::AnalyticHestonEngine*const,Real&,Size&)
SabrInterpolatedSmileSection(constQuantLib::Date&,constHandle <QuantLib::Quote>&,conststd::vector<Rate>&,bool,constHandle <QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)16QuantLib.SabrInterpolatedSmileSection.SabrInterpolatedSmileSection (constQuantLib::Date&,constHandle<QuantLib::Quote>&,conststd::vector <Rate>&,bool,constHandle<QuantLib::Quote>&,conststd::vector<Handle <Quote>>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)16QuantLib.SabrInterpolatedSmileSection.SabrInterpolatedSmileSection (constQuantLib::Date&,constRate&,conststd::vector<Rate>&,bool ,constVolatility&,conststd::vector<Volatility>&,Real,Real,Real,Real ,bool,bool,bool,bool,bool,constint)
SABRInterpolation<I1,I2>(constI1&,constI1&,constI2&,Time,constReal& ,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)15QuantLib.SABRInterpolation.SABRInterpolation<I1,I2>(constI1&,constI1& ,constI2&,Time,constReal&,Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
SABRInterpolationImpl<I1,I2>(constI1&,constI1&,constI2&,Time ,constReal&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)15QuantLib.detail.SABRInterpolationImpl<I1,I2>.SABRInterpolationImpl<I1 ,I2>(constI1&,constI1&,constI2&,Time,constReal&,Real,Real,Real,Real ,bool,bool,bool,bool,bool,constint)
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)14QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D> .InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)
UpfrontCdsHelper(constHandle<QuantLib::Quote>&,Rate ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)14QuantLib.UpfrontCdsHelper.UpfrontCdsHelper(constHandle<QuantLib::Quote >&,Rate,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)
UpfrontCdsHelper(Rate,Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)14QuantLib.UpfrontCdsHelper.UpfrontCdsHelper(Rate,Rate ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)
CDO(Real,Real,conststd::vector<Real>&,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,constHandle <QuantLib::OneFactorCopula>&,bool,constQuantLib::Schedule&,Rate ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,Size,constQuantLib::Period&)14QuantLib.CDO.CDO(Real,Real,conststd::vector<Real>&,conststd::vector <Handle<DefaultProbabilityTermStructure>>&,constHandle <QuantLib::OneFactorCopula>&,bool,constQuantLib::Schedule&,Rate ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,Size,constQuantLib::Period&)
singleRateClosestPointFinder(Size,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,Real,conststd::vector<Real>&,Real,Real ,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)14QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp} .__Globals.singleRateClosestPointFinder(Size,conststd::vector <Volatility>&,conststd::vector<Volatility>&,Real,conststd::vector<Real >&,Real,Real,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)
NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )13__Globals.NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )
CPICapFloor(Option::Type,Real,constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,Rate,constHandle <QuantLib::ZeroInflationIndex>&,constQuantLib::Period& ,CPI::InterpolationType)13QuantLib.CPICapFloor.CPICapFloor(Option::Type,Real ,constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,Rate ,constHandle<QuantLib::ZeroInflationIndex>&,constQuantLib::Period& ,CPI::InterpolationType)
CPICapFloorTermPriceSurface(Real,Real,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention& ,constQuantLib::DayCounter&,constHandle<QuantLib::ZeroInflationIndex>& ,constHandle<QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)13QuantLib.CPICapFloorTermPriceSurface.CPICapFloorTermPriceSurface(Real ,Real,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)
FixedRateBond(Natural,Real,constQuantLib::Schedule&,conststd::vector <Rate>&,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,Real,constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention,bool)13QuantLib.FixedRateBond.FixedRateBond(Natural,Real ,constQuantLib::Schedule&,conststd::vector<Rate>& ,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
AbcdInterpolation<I1,I2>(constI1&,constI1&,constI2&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)13QuantLib.AbcdInterpolation.AbcdInterpolation<I1,I2>(constI1&,constI1& ,constI2&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )13QuantLib.NthToDefault.NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )
AssetSwapHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,Natural,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,Real,constRelinkableHandle <QuantLib::YieldTermStructure>&,constQuantLib::Period&)13QuantLib.AssetSwapHelper.AssetSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Natural,constQuantLib::Calendar& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Real ,constRelinkableHandle<QuantLib::YieldTermStructure>& ,constQuantLib::Period&)
base_cubic_splint(constreturn_type&,constreturn_type& ,constreturn_type&,constreturn_type&,constdimensions&,constdata& ,constdata&,constdata_table&,data_table&,output_data&,output_data& ,output_data&,result_type&)13QuantLib.detail.base_cubic_splint.base_cubic_splint(constreturn_type& ,constreturn_type&,constreturn_type&,constreturn_type& ,constdimensions&,constdata&,constdata&,constdata_table&,data_table& ,output_data&,output_data&,output_data&,result_type&)
n_cubic_splint<X>(constreturn_type&,constreturn_type& ,constreturn_type&,constreturn_type&,constdimensions&,constdata& ,constdata&,constdata_table&,data_table&,output_data&,output_data& ,output_data&,typenamesuper::result_type&)13QuantLib.detail.n_cubic_splint<X>.n_cubic_splint<X>(constreturn_type& ,constreturn_type&,constreturn_type&,constreturn_type& ,constdimensions&,constdata&,constdata&,constdata_table&,data_table& ,output_data&,output_data&,output_data&,typenamesuper::result_type&)
AbcdInterpolationImpl<I1,I2>(constI1&,constI1&,constI2&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)13QuantLib.detail.AbcdInterpolationImpl<I1,I2>.AbcdInterpolationImpl<I1 ,I2>(constI1&,constI1&,constI2&,Real,Real,Real,Real,bool,bool,bool ,bool,bool,constint)
CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)12__Globals.CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)
AbcdCalibration(conststd::vector<Real>&,conststd::vector<Real>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)12__Globals.AbcdCalibration(conststd::vector<Real>&,conststd::vector <Real>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
BatesProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real,Real,HestonProcess::Discretization)12QuantLib.BatesProcess.BatesProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real,Real,HestonProcess::Discretization)
CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)12QuantLib.CreditDefaultSwap.CreditDefaultSwap(Protection::Side,Real ,Rate,Rate,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)
FixedRateBond(Natural,Real,constQuantLib::Schedule&,conststd::vector <InterestRate>&,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)12QuantLib.FixedRateBond.FixedRateBond(Natural,Real ,constQuantLib::Schedule&,conststd::vector<InterestRate>& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
AbcdCalibration(conststd::vector<Real>&,conststd::vector<Real>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)12QuantLib.AbcdCalibration.AbcdCalibration(conststd::vector<Real>& ,conststd::vector<Real>&,Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
SABR(Time,Real,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)12QuantLib.SABR.SABR(Time,Real,Real,Real,Real,Real,bool,bool,bool,bool ,bool,constint)
CdsHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.CdsHelper.CdsHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
CdsHelper(Rate,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.CdsHelper.CdsHelper(Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
SpreadCdsHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,Integer,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.SpreadCdsHelper.SpreadCdsHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
SpreadCdsHelper(Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.SpreadCdsHelper.SpreadCdsHelper(Rate,constQuantLib::Period& ,Integer,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
Fj_Helper(Real,Real,Real,Real,Real,Real ,constQuantLib::AnalyticHestonEngine*const ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )12QuantLib.AnalyticHestonEngine+Fj_Helper.Fj_Helper(Real,Real,Real,Real ,Real,Real,constQuantLib::AnalyticHestonEngine*const ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )
zerobondOption(constOption::Type&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constRate ,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)12QuantLib.Gaussian1dModel.zerobondOption(constOption::Type& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date& ,constRate,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)12QuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)12QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
yield(constint&,Real,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date,Real,Size,Rate )11__Globals.yield(constint&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date,Real,Size,Rate)
yield(constint&,Real,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date,Real,Size,Rate )11QuantLib.CashFlows.yield(constint&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date,Real,Size,Rate)
DoubleStickyRatchetPayoff(Real,Real,Real,Real,Real,Real,Real,Real,Real ,Real,Real)11QuantLib.DoubleStickyRatchetPayoff.DoubleStickyRatchetPayoff(Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real,Real)
GJRGARCHProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real ,QuantLib::GJRGARCHProcess::Discretization)11QuantLib.GJRGARCHProcess.GJRGARCHProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real ,QuantLib::GJRGARCHProcess::Discretization)
Fj_Helper(Real,Real,Real,Real,Real,Real ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )11QuantLib.AnalyticHestonEngine+Fj_Helper.Fj_Helper(Real,Real,Real,Real ,Real,Real,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real ,Real,Size)
RiskyAssetSwap(bool,Real,constQuantLib::Schedule& ,constQuantLib::Schedule&,constQuantLib::DayCounter& ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::DefaultProbabilityTermStructure>&,Rate)11QuantLib.RiskyAssetSwap.RiskyAssetSwap(bool,Real ,constQuantLib::Schedule&,constQuantLib::Schedule& ,constQuantLib::DayCounter&,constQuantLib::DayCounter&,Rate,Rate ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::DefaultProbabilityTermStructure>&,Rate)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)11QuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)
CreditDefaultSwap(Protection::Side,Real,Rate,constQuantLib::Schedule& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,bool,bool ,constQuantLib::Date&,constint)10__Globals.CreditDefaultSwap(Protection::Side,Real,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date&,constint)
ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)10__Globals.ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)
VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)10__Globals.VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote >&,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)
Schedule(QuantLib::Date,constQuantLib::Date&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,QuantLib::BusinessDayConvention,DateGeneration::Rule,bool ,constQuantLib::Date&,constQuantLib::Date&)10QuantLib.Schedule.Schedule(QuantLib::Date,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention ,DateGeneration::Rule,bool,constQuantLib::Date&,constQuantLib::Date&)
ConstantYoYOptionletVolatility(constVolatility,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate)10QuantLib.ConstantYoYOptionletVolatility.ConstantYoYOptionletVolatility (constVolatility,Natural,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,Rate,Rate)
CreditDefaultSwap(Protection::Side,Real,Rate,constQuantLib::Schedule& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,bool,bool ,constQuantLib::Date&,constint)10QuantLib.CreditDefaultSwap.CreditDefaultSwap(Protection::Side,Real ,Rate,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date&,constint)
finalPart(Real,Integer,conststd::vector<Volatility>&,Real,Real,Real ,Real&,Real&,Real&,std::vector<Volatility>&)10QuantLib.AlphaFinder.finalPart(Real,Integer,conststd::vector <Volatility>&,Real,Real,Real,Real&,Real&,Real&,std::vector<Volatility >&)
SwaptionPricingFunction(Real,Real,Real,Real,Real,Real,Real ,conststd::vector<Time>&,Rate,constQuantLib::G2&)10QuantLib.G2+SwaptionPricingFunction.SwaptionPricingFunction(Real,Real ,Real,Real,Real,Real,Real,conststd::vector<Time>&,Rate ,constQuantLib::G2&)
Abcd(Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)10QuantLib.Abcd.Abcd(Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)10QuantLib.ProxyIbor.ProxyIbor(conststd::string&,constQuantLib::Period& ,Natural,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)
RiskyFixedBond(std::string,QuantLib::Currency,Real,Handle <QuantLib::DefaultProbabilityTermStructure>,QuantLib::Schedule,Real ,QuantLib::DayCounter,QuantLib::BusinessDayConvention,std::vector<Real >,Handle<QuantLib::YieldTermStructure>)10QuantLib.RiskyFixedBond.RiskyFixedBond(std::string,QuantLib::Currency ,Real,Handle<QuantLib::DefaultProbabilityTermStructure> ,QuantLib::Schedule,Real,QuantLib::DayCounter ,QuantLib::BusinessDayConvention,std::vector<Real>,Handle <QuantLib::YieldTermStructure>)
VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)10QuantLib.VegaStressedBlackScholesProcess .VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)
AmortizingFixedRateBond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Period&,constQuantLib::Frequency& ,constRate,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,constQuantLib::Date&)10QuantLib.AmortizingFixedRateBond.AmortizingFixedRateBond(Natural ,constQuantLib::Calendar&,Real,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Frequency&,constRate ,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,constQuantLib::Date&)
InterpolatedZeroInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)10QuantLib.InterpolatedZeroInflationCurve<Interpolator> .InterpolatedZeroInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)
InterpolatedYoYInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)10QuantLib.InterpolatedYoYInflationCurve<Interpolator> .InterpolatedYoYInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)
SABRCoeffHolder(Time,constReal&,Real,Real,Real,Real,bool,bool,bool ,bool)10QuantLib.detail.SABRCoeffHolder.SABRCoeffHolder(Time,constReal&,Real ,Real,Real,Real,bool,bool,bool,bool)
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)10QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)
fdjac2(int,int,double*,double*,double*,int,int*,double,double* ,constint&)10QuantLib.MINPACK.__Globals.fdjac2(int,int,double*,double*,double*,int ,int*,double,double*,constint&)
TVTMFN(double,double,double,double,double,double,double,double,double ,int)10anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .TVTMFN(double,double,double,double,double,double,double,double,double ,int)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)9__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)9__Globals.duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)
SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)9__Globals.SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
FixedRateBondForward(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Real,Natural,constQuantLib::DayCounter& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,constint)9__Globals.FixedRateBondForward(constQuantLib::Date& ,constQuantLib::Date&,Position::Type,Real,Natural ,constQuantLib::DayCounter&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constint)
ZeroCouponInflationSwap(QuantLib::ZeroCouponInflationSwap::Type,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)9__Globals.ZeroCouponInflationSwap (QuantLib::ZeroCouponInflationSwap::Type,Real,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)
InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)9__Globals.InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)
InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)9__Globals.InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)
ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9__Globals.ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9__Globals.ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9__Globals.YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9__Globals.YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)9__Globals.CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)9__Globals.CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
FixedRateCoupon(constQuantLib::Date&,Real,Rate ,constQuantLib::DayCounter&,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date&)9QuantLib.FixedRateCoupon.FixedRateCoupon(constQuantLib::Date&,Real ,Rate,constQuantLib::DayCounter&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::Date&)
SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)9QuantLib.SwapIndex.SwapIndex(conststd::string&,constQuantLib::Period& ,Natural,QuantLib::Currency,constQuantLib::Calendar& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constint)
sphereCylinderOptimizerClosest(Real,Real,Real,Real,Real,Real,Natural ,Real,Real)9QuantLib.__Globals.sphereCylinderOptimizerClosest(Real,Real,Real,Real ,Real,Real,Natural,Real,Real)
blackFormulaImpliedStdDev(Option::Type,Real,Real,Real,Real,Real,Real ,Real,Natural)9QuantLib.__Globals.blackFormulaImpliedStdDev(Option::Type,Real,Real ,Real,Real,Real,Real,Real,Natural)
InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)9QuantLib.InflationTermStructure.InflationTermStructure (constQuantLib::Date&,Rate,constQuantLib::Period&,QuantLib::Frequency ,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,constint)
InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)9QuantLib.InflationTermStructure.InflationTermStructure(Natural ,constQuantLib::Calendar&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::DayCounter&,constint)
ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constint)9QuantLib.ZeroInflationTermStructure.ZeroInflationTermStructure (constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9QuantLib.ZeroInflationTermStructure.ZeroInflationTermStructure(Natural ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9QuantLib.YoYInflationTermStructure.YoYInflationTermStructure (constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9QuantLib.YoYInflationTermStructure.YoYInflationTermStructure(Natural ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
Data(conststd::string&,conststd::string&,Integer,conststd::string& ,conststd::string&,Integer,constQuantLib::Rounding&,conststd::string& ,constQuantLib::Currency&)9QuantLib.Currency+Data.Data(conststd::string&,conststd::string& ,Integer,conststd::string&,conststd::string&,Integer ,constQuantLib::Rounding&,conststd::string&,constQuantLib::Currency&)
YoYInflationIndex(conststd::string&,constQuantLib::Region&,bool,bool ,bool,QuantLib::Frequency,constQuantLib::Period& ,constQuantLib::Currency&,constHandle <QuantLib::YoYInflationTermStructure>&)9QuantLib.YoYInflationIndex.YoYInflationIndex(conststd::string& ,constQuantLib::Region&,bool,bool,bool,QuantLib::Frequency ,constQuantLib::Period&,constQuantLib::Currency&,constHandle <QuantLib::YoYInflationTermStructure>&)
HestonProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,QuantLib::HestonProcess::Discretization)9QuantLib.HestonProcess.HestonProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,QuantLib::HestonProcess::Discretization)
CubicInterpolation<I1,I2>(constI1&,constI1&,constI2& ,CubicInterpolation::DerivativeApprox,bool ,CubicInterpolation::BoundaryCondition,Real ,CubicInterpolation::BoundaryCondition,Real)9QuantLib.CubicInterpolation.CubicInterpolation<I1,I2>(constI1& ,constI1&,constI2&,CubicInterpolation::DerivativeApprox,bool ,CubicInterpolation::BoundaryCondition,Real ,CubicInterpolation::BoundaryCondition,Real)
duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)9QuantLib.CashFlows.duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)
IborIndex(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::YieldTermStructure>&)9QuantLib.IborIndex.IborIndex(conststd::string&,constQuantLib::Period& ,Natural,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::YieldTermStructure>&)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)9QuantLib.CPISwap.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
yield(constQuantLib::Bond&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,QuantLib::Date,Real,Size ,Rate)9QuantLib.BondFunctions.yield(constQuantLib::Bond&,Real ,constQuantLib::DayCounter&,QuantLib::Compounding,QuantLib::Frequency ,QuantLib::Date,Real,Size,Rate)
FixedRateBondForward(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Real,Natural,constQuantLib::DayCounter& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,constint)9QuantLib.FixedRateBondForward.FixedRateBondForward (constQuantLib::Date&,constQuantLib::Date&,Position::Type,Real,Natural ,constQuantLib::DayCounter&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constint)

Statistics

Stat   # Parameters
Sum:1 318
Average:10.98
Minimum:9
Maximum:24
Standard deviation:2.61
Variance:6.83
warningCritical    Rule warning: Quick summary of methods to refactor
// <Name>Quick summary of methods to refactor</Name>
warnif count > 0 from m in JustMyCode.Methods where 
                                    
// Code Metrics' definitions
  m.NbLinesOfCode > 30 ||           // http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
  m.MaxNestedLoop > 3 ||       // http://www.cppdepend.com/Metrics.aspx#NbILInstructions
  m.CyclomaticComplexity > 20 ||    // http://www.cppdepend.com/Metrics.aspx#CC
  m.NestingDepth > 5 ||           // http://www.cppdepend.com/Metrics.aspx#ILNestingDepth
  m.NbParameters > 5 ||             // http://www.cppdepend.com/Metrics.aspx#NbParameters
  m.NbVariables > 8 ||              // http://www.cppdepend.com/Metrics.aspx#NbVariables
  m.NbOverloads > 6                 // http://www.cppdepend.com/Metrics.aspx#NbOverloads

select new { m, m.NbLinesOfCode, m.MaxNestedLoop, m.CyclomaticComplexity, 
              
m.NestingDepth, 
             
m.NbParameters, m.NbVariables, m.NbOverloads } 

870 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)NestingDepth# Parameters# Variables# OverloadsFull Name
CPICoupon(Real,constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)6011701__Globals.CPICoupon(Real,constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
FdmExtOUJumpOp(constint)162441161__Globals.FdmExtOUJumpOp(constint)
setTransformLowerBC(constint)121331121__Globals.setTransformLowerBC(constint)
setTransformUpperBC(constint)121331121__Globals.setTransformUpperBC(constint)
setUpperBC(constint)10133191__Globals.setUpperBC(constint)
VanillaVPPOption(Real,Real,Real,Size,Size,Real,Real,constint)10011811__Globals.VanillaVPPOption(Real,Real,Real,Size,Size,Real,Real,constint )
CPIBond(Natural,Real,bool,Real,constQuantLib::Period&,constint)2122601__Globals.CPIBond(Natural,Real,bool,Real,constQuantLib::Period& ,constint)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)301106921__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
SparseILUPreconditioner(constint&,Integer)7842472311__Globals.SparseILUPreconditioner(constint&,Integer)
FdmBlackScholesMultiStrikeMesher(Size,constint)141222121__Globals.FdmBlackScholesMultiStrikeMesher(Size,constint)
FdmHestonVarianceMesher(Size,constint)4521142311__Globals.FdmHestonVarianceMesher(Size,constint)
FdmSimpleProcess1dMesher(Size,constint)14243291__Globals.FdmSimpleProcess1dMesher(Size,constint)
SecondDerivativeOp(Size,constint)9122291__Globals.SecondDerivativeOp(Size,constint)
SecondOrderMixedDerivativeOp(Size,Size,constint)181333151__Globals.SecondOrderMixedDerivativeOp(Size,Size,constint)
FdmAffineModelTermStructure(constQuantLib::Array& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Date&,constQuantLib::Date&,constint)1011601__Globals.FdmAffineModelTermStructure(constQuantLib::Array& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Date&,constQuantLib::Date&,constint)
TrinomialTree(constint)262331191__Globals.TrinomialTree(constint)
npvbps(constint&,constQuantLib::YieldTermStructure&,bool ,QuantLib::Date,QuantLib::Date,Real&,Real&)6122741__Globals.npvbps(constint&,constQuantLib::YieldTermStructure&,bool ,QuantLib::Date,QuantLib::Date,Real&,Real&)
atmRate(constint&,constQuantLib::YieldTermStructure&,bool ,QuantLib::Date,QuantLib::Date,Real)17162652__Globals.atmRate(constint&,constQuantLib::YieldTermStructure&,bool ,QuantLib::Date,QuantLib::Date,Real)
npv(constint&,constQuantLib::InterestRate&,bool,QuantLib::Date ,QuantLib::Date)15142594__Globals.npv(constint&,constQuantLib::InterestRate&,bool ,QuantLib::Date,QuantLib::Date)
npv(constint&,Rate,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date)0011804__Globals.npv(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)
bps(constint&,Rate,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date)0011803__Globals.bps(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)
yield(constint&,Real,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date,Real,Size,Rate )40111121__Globals.yield(constint&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date,Real,Size,Rate)
duration(constint&,constQuantLib::InterestRate&,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)13072602__Globals.duration(constint&,constQuantLib::InterestRate& ,Duration::Type,bool,QuantLib::Date,QuantLib::Date)
duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)0011902__Globals.duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)
convexity(constint&,constQuantLib::InterestRate&,bool,QuantLib::Date ,QuantLib::Date)4611135132__Globals.convexity(constint&,constQuantLib::InterestRate&,bool ,QuantLib::Date,QuantLib::Date)
convexity(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)0011802__Globals.convexity(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)
basisPointValue(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)0011802__Globals.basisPointValue(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)
yieldValueBasisPoint(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date)0011802__Globals.yieldValueBasisPoint(constint&,Rate ,constQuantLib::DayCounter&,QuantLib::Compounding,QuantLib::Frequency ,bool,QuantLib::Date,QuantLib::Date)
CmsCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)0011601__Globals.CmsCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)
DigitalCoupon(constint)410156101__Globals.DigitalCoupon(constint)
FloatingRateCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)4011601__Globals.FloatingRateCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)13022641__Globals.IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)
InflationCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)2011601__Globals.InflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
YoYInflationCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)2011601__Globals.YoYInflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)4011901__Globals.SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
AssetSwap(bool,constint)171422101__Globals.AssetSwap(bool,constint)
BMASwap(QuantLib::BMASwap::Type,Real,constQuantLib::Schedule&,Real ,Spread,constint)17153621__Globals.BMASwap(QuantLib::BMASwap::Type,Real ,constQuantLib::Schedule&,Real,Spread,constint)
Bond(Natural,constQuantLib::Calendar&,Real,constQuantLib::Date& ,constQuantLib::Date&,constint&)4011602__Globals.Bond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Date&,constint&)
CreditDefaultSwap(Protection::Side,Real,Rate,constQuantLib::Schedule& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,bool,bool ,constQuantLib::Date&,constint)80211002__Globals.CreditDefaultSwap(Protection::Side,Real,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date&,constint)
CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)90311212__Globals.CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)
FixedRateBondForward(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Real,Natural,constQuantLib::DayCounter& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,constint)1011901__Globals.FixedRateBondForward(constQuantLib::Date& ,constQuantLib::Date&,Position::Type,Real,Natural ,constQuantLib::DayCounter&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constint)
ForwardRateAgreement(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Rate,Real,constint)6011621__Globals.ForwardRateAgreement(constQuantLib::Date& ,constQuantLib::Date&,Position::Type,Rate,Real,constint)
OvernightIndexedSwap(QuantLib::OvernightIndexedSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,constint)6011602__Globals.OvernightIndexedSwap(QuantLib::OvernightIndexedSwap::Type ,Real,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constint)
OvernightIndexedSwap(QuantLib::OvernightIndexedSwap::Type,std::vector <Real>,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constint)6011602__Globals.OvernightIndexedSwap(QuantLib::OvernightIndexedSwap::Type ,std::vector<Real>,constQuantLib::Schedule&,Rate ,constQuantLib::DayCounter&,constint)
impliedVolatility(Real,constHandle<QuantLib::YieldTermStructure>& ,Volatility,Real,Natural,Volatility,Volatility)5011726__Globals.impliedVolatility(Real,constHandle <QuantLib::YieldTermStructure>&,Volatility,Real,Natural,Volatility ,Volatility)
VanillaSwap(QuantLib::VanillaSwap::Type,Real,constQuantLib::Schedule& ,Rate,constQuantLib::DayCounter&,constQuantLib::Schedule&,constint)21052701__Globals.VanillaSwap(QuantLib::VanillaSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constQuantLib::Schedule&,constint)
YearOnYearInflationSwap(QuantLib::YearOnYearInflationSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constQuantLib::Schedule&,constint)15022701__Globals.YearOnYearInflationSwap (QuantLib::YearOnYearInflationSwap::Type,Real,constQuantLib::Schedule& ,Rate,constQuantLib::DayCounter&,constQuantLib::Schedule&,constint)
ZeroCouponInflationSwap(QuantLib::ZeroCouponInflationSwap::Type,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)38183961__Globals.ZeroCouponInflationSwap (QuantLib::ZeroCouponInflationSwap::Type,Real,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)
FloatingRateBond(Natural,Real,constQuantLib::Date& ,constQuantLib::Date&,QuantLib::Frequency,constQuantLib::Calendar& ,constint)3011732__Globals.FloatingRateBond(Natural,Real,constQuantLib::Date& ,constQuantLib::Date&,QuantLib::Frequency,constQuantLib::Calendar& ,constint)
calculateAbsTolerance(constint)290521141__Globals.calculateAbsTolerance(constint)
adaptivGaussLobattoStep(constint)170111141__Globals.adaptivGaussLobattoStep(constint)
integrate(constint)7111021293__Globals.integrate(constint)
integrateRecursively(constint)19132191__Globals.integrateRecursively(constint)
calibrate(constint)110111101__Globals.calibrate(constint)
PathwiseAccountingEngine(constint)252621111__Globals.PathwiseAccountingEngine(constint)
PathwiseVegasAccountingEngine(constint)323731141__Globals.PathwiseVegasAccountingEngine(constint)
PathwiseVegasOuterAccountingEngine(constint)4021041181__Globals.PathwiseVegasOuterAccountingEngine(constint)
SVDDFwdRatePc(constint)24243191__Globals.SVDDFwdRatePc(constint)
AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)4841056201__Globals.AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)
capletAlphaFormCalibration(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)383943291__Globals.capletAlphaFormCalibration (constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
capletMaxHomogeneityCalibration(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)4031043311__Globals.capletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)10932943641__Globals.calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
CotSwapToFwdAdapter(constint)202521121__Globals.CotSwapToFwdAdapter(constint)
FlatVol(constvector<Volatility>&,constint)4941052191__Globals.FlatVol(constvector<Volatility>&,constint)
FwdPeriodAdapter(constint)342931201__Globals.FwdPeriodAdapter(constint)
FwdToCotSwapAdapter(constint)192521111__Globals.FwdToCotSwapAdapter(constint)
SwaptionPseudoDerivative(int)314851201__Globals.SwaptionPseudoDerivative(int)
CapPseudoDerivative(int)493841371__Globals.CapPseudoDerivative(int)
performCalculations()160320104__Globals.performCalculations()
InflationTermStructure(Rate,constQuantLib::Period&,QuantLib::Frequency ,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::DayCounter&,constint)4011703__Globals.InflationTermStructure(Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::DayCounter&,constint)
InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)4011903__Globals.InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)
InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)4011903__Globals.InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)
ZeroInflationTermStructure(constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)0011703__Globals.ZeroInflationTermStructure(constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)0011903__Globals.ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)0011903__Globals.ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
YoYInflationTermStructure(constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)0011703__Globals.YoYInflationTermStructure(constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)0011903__Globals.YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)0011903__Globals.YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
AbcdCalibration(conststd::vector<Real>&,conststd::vector<Real>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)150111201__Globals.AbcdCalibration(conststd::vector<Real>&,conststd::vector <Real>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constHandle <QuantLib::Quote>&,conststd::vector<Rate>&,bool,constHandle <QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)160111602__Globals.SabrInterpolatedSmileSection(constQuantLib::Date& ,constHandle<QuantLib::Quote>&,conststd::vector<Rate>&,bool ,constHandle<QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)150111602__Globals.SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SwaptionVolatilityCube(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)21151621__Globals.SwaptionVolatilityCube(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)
SwaptionVolCube1(constHandle<QuantLib::SwaptionVolatilityStructure>& ,conststd::vector<Period>&,conststd::vector<Period>&,conststd::vector <Spread>&,conststd::vector<std::vector<Handle<Quote>>>&,constint)1011601__Globals.SwaptionVolCube1(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)
SwaptionVolCube2(constHandle<QuantLib::SwaptionVolatilityStructure>& ,conststd::vector<Period>&,conststd::vector<Period>&,conststd::vector <Spread>&,conststd::vector<std::vector<Handle<Quote>>>&,constint)2011601__Globals.SwaptionVolCube2(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)
SwapRateHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)6011704__Globals.SwapRateHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
SwapRateHelper(Rate,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constint)6011704__Globals.SwapRateHelper(Rate,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
BMASwapRateHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,Natural,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)6011801__Globals.BMASwapRateHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Natural,constQuantLib::Calendar& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constint)
ZeroCouponInflationSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)4011701__Globals.ZeroCouponInflationSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
YearOnYearInflationSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)4011701__Globals.YearOnYearInflationSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
Merton76Process(constHandle<QuantLib::Quote>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,constHandle<QuantLib::Quote>& ,constHandle<QuantLib::Quote>&,constHandle<QuantLib::Quote>&,constint)3011801__Globals.Merton76Process(constHandle<QuantLib::Quote>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,constHandle<QuantLib::Quote>& ,constHandle<QuantLib::Quote>&,constHandle<QuantLib::Quote>&,constint)
AmericanPayoffAtExpiry(Real,DiscountFactor,DiscountFactor,Real ,constint)91092541__Globals.AmericanPayoffAtExpiry(Real,DiscountFactor,DiscountFactor ,Real,constint)
AmericanPayoffAtHit(Real,DiscountFactor,DiscountFactor,Real,constint)1060113541__Globals.AmericanPayoffAtHit(Real,DiscountFactor,DiscountFactor,Real ,constint)
initialize(constint)58052122__Globals.initialize(constint)
BarrierPathPricer(Barrier::Type,Real,Real,Option::Type,Real ,conststd::vector<DiscountFactor>&,constint)9011701__Globals.BarrierPathPricer(Barrier::Type,Real,Real,Option::Type,Real ,conststd::vector<DiscountFactor>&,constint)
criticalPrice(constint)110111161__Globals.criticalPrice(constint)
LfmHullWhiteParameterization(constint)132431111__Globals.LfmHullWhiteParameterization(constint)
CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)7022921__Globals.CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)0011901__Globals.CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
FloatingCatBond(Natural,Real,constQuantLib::Date&,constQuantLib::Date& ,QuantLib::Frequency,constQuantLib::Calendar&,constint)3011732__Globals.FloatingCatBond(Natural,Real,constQuantLib::Date& ,constQuantLib::Date&,QuantLib::Frequency,constQuantLib::Calendar& ,constint)
ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)10111001__Globals.ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   NestingDepth   # Parameters   # Variables   # Overloads
Sum:4 0965113 9301 7623 8895 8874 849
Average:14 810 2370.594.522.034.476.775.57
Minimum:0010001
Maximum:057121249345
Standard deviation:251 773 9360.966.681.913.719.7510.16
Variance:00.9344.673.6313.7395.07103.2
warningCritical    Rule warning: Methods too big
// <Name>Methods too big</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   
m.NbLinesOfCode > 30 
   
orderby m.NbLinesOfCode descending
           
select new { m, m.NbLinesOfCode}

// Methods where NbLinesOfCode > 30 
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

172 methods matched

methods# lines of code (LOC)Full Name
isExpired()0QuantLib.CreditDefaultSwap.isExpired()
quantity()0QuantLib.EnergySwap.quantity()
applyTo(QuantLib::Array&,Time)0QuantLib.FdmStepConditionComposite.applyTo(QuantLib::Array&,Time)
Schedule(QuantLib::Date,constQuantLib::Date&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,QuantLib::BusinessDayConvention,DateGeneration::Rule,bool ,constQuantLib::Date&,constQuantLib::Date&)243QuantLib.Schedule.Schedule(QuantLib::Date,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention ,DateGeneration::Rule,bool,constQuantLib::Date&,constQuantLib::Date&)
update()192QuantLib.detail.CubicInterpolationImpl<I1,I2>.update()
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)174QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)
calculate()168QuantLib.AnalyticGJRGARCHEngine.calculate()
SobolRsg(Size,unsignedlong,QuantLib::SobolRsg::DirectionIntegers)156QuantLib.SobolRsg.SobolRsg(Size,unsignedlong ,QuantLib::SobolRsg::DirectionIntegers)
SVD(constQuantLib::Matrix&)150QuantLib.SVD.SVD(constQuantLib::Matrix&)
discountBondOption(Option::Type,Real,Time,Time)123QuantLib.CoxIngersollRoss.discountBondOption(Option::Type,Real,Time ,Time)
BarrierUPD(double,double,double,double,double,int,int,int)116anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .BarrierUPD(double,double,double,double,double,int,int,int)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)115QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
singleRateClosestPointFinder(Size,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,Real,conststd::vector<Real>&,Real,Real ,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)114QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp} .__Globals.singleRateClosestPointFinder(Size,conststd::vector <Volatility>&,conststd::vector<Volatility>&,Real,conststd::vector<Real >&,Real,Real,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)
calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)109__Globals.calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
discountBondOption(Option::Type,Real,Time,Time)108QuantLib.ExtendedCoxIngersollRoss.discountBondOption(Option::Type,Real ,Time,Time)
ND2(double,double,double)108anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals.ND2 (double,double,double)
AmericanPayoffAtHit(Real,DiscountFactor,DiscountFactor,Real,constint)106__Globals.AmericanPayoffAtHit(Real,DiscountFactor,DiscountFactor,Real ,constint)
calculate()103QuantLib.Histogram.calculate()
intersect()95QuantLib.InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D ,Interpolator1D>.intersect()
singlePathValues(std::vector<Real>&)93QuantLib.PathwiseVegasOuterAccountingEngine.singlePathValues (std::vector<Real>&)
AmericanPayoffAtExpiry(Real,DiscountFactor,DiscountFactor,Real ,constint)91__Globals.AmericanPayoffAtExpiry(Real,DiscountFactor,DiscountFactor ,Real,constint)
collectNodeData(QuantLib::MarketModelEvolver& ,QuantLib::MarketModelMultiProduct& ,QuantLib::MarketModelNodeDataProvider& ,QuantLib::MarketModelExerciseValue& ,QuantLib::MarketModelExerciseValue&,Size,std::vector<std::vector <NodeData>>&)88QuantLib.__Globals.collectNodeData(QuantLib::MarketModelEvolver& ,QuantLib::MarketModelMultiProduct& ,QuantLib::MarketModelNodeDataProvider& ,QuantLib::MarketModelExerciseValue& ,QuantLib::MarketModelExerciseValue&,Size,std::vector<std::vector <NodeData>>&)
hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)86QuantLib.anonymous_namespace{pseudosqrt.cpp}.__Globals .hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)
operator()(constQuantLib::Path&)85QuantLib.BarrierPathPricer.operator()(constQuantLib::Path&)
rankReducedSqrt(constQuantLib::Matrix&,Size,Real ,SalvagingAlgorithm::Type)84QuantLib.__Globals.rankReducedSqrt(constQuantLib::Matrix&,Size,Real ,SalvagingAlgorithm::Type)
BVTL(int,double,double,double)84anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .BVTL(int,double,double,double)
compute()83QuantLib.KahaleSmileSection.compute()
update()83QuantLib.detail.SABRInterpolationImpl<I1,I2>.update()
singlePathValues(std::vector<Real>&)82QuantLib.PathwiseVegasAccountingEngine.singlePathValues(std::vector <Real>&)
SmileSectionUtils(constQuantLib::SmileSection&,conststd::vector<Real>& ,constReal,constbool)81QuantLib.SmileSectionUtils.SmileSectionUtils (constQuantLib::SmileSection&,conststd::vector<Real>&,constReal ,constbool)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)80QuantLib.HestonProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
SparseILUPreconditioner(constint&,Integer)78__Globals.SparseILUPreconditioner(constint&,Integer)
performCalculations()77__Globals.performCalculations()
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)77QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)
qrsolv(int,double*,int,int*,double*,double*,double*,double*,double*)76QuantLib.MINPACK.__Globals.qrsolv(int,double*,int,int*,double*,double* ,double*,double*,double*)
singlePathValues(std::vector<Real>&)75QuantLib.PathwiseAccountingEngine.singlePathValues(std::vector<Real>&)
operator+=(constQuantLib::Period&)73QuantLib.Period.operator+=(constQuantLib::Period&)
integrate(constint)71__Globals.integrate(constint)
npvs(constQuantLib::Date&,constReal,constbool)70QuantLib.Gaussian1dFloatFloatSwaptionEngine.npvs(constQuantLib::Date& ,constReal,constbool)
calculateNextGeneration(std::vector<Candidate>& ,constQuantLib::CostFunction&)67QuantLib.DifferentialEvolution.calculateNextGeneration(std::vector <Candidate>&,constQuantLib::CostFunction&)
solveImpl<F>(constF&,Real)64QuantLib.Brent.solveImpl<F>(constF&,Real)
initialGuess1(constQuantLib::Array&,Real,Real&,Real&,Real&)64QuantLib.anonymous_namespace{garch.cpp}.__Globals.initialGuess1 (constQuantLib::Array&,Real,Real&,Real&,Real&)
fixing(constQuantLib::Date&,bool)63QuantLib.YoYInflationIndex.fixing(constQuantLib::Date&,bool)
performCalculations()61__Globals.performCalculations()
IvopOneDim(double,double,double,double,double,double,double,double)61anonymous_namespace{integralhestonvarianceoptionengine.cpp}.__Globals .IvopOneDim(double,double,double,double,double,double,double,double)
operator()(constQuantLib::Path&)59QuantLib.BiasedBarrierPathPricer.operator()(constQuantLib::Path&)
calculate()59QuantLib.IterativeBootstrap<Curve>.calculate()
initialize(constint)58__Globals.initialize(constint)
initialize()58QuantLib.MarkovFunctional.initialize()
calculate()57QuantLib.AnalyticCompoundOptionEngine.calculate()
ddll(double,double,double,double,double,double,double)57anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .ddll(double,double,double,double,double,double,double)
solveWithMaxHomogeneity(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)55QuantLib.AlphaFinder.solveWithMaxHomogeneity(Real,Integer ,conststd::vector<Volatility>&,conststd::vector<Volatility>& ,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real,Integer,Real& ,Real&,Real&,std::vector<Volatility>&)
calibrate()54QuantLib.LongstaffSchwartzMultiPathPricer.calibrate()
IvopTwoDim(double,double,double,double,double,double,double,constint)54anonymous_namespace{integralhestonvarianceoptionengine.cpp}.__Globals .IvopTwoDim(double,double,double,double,double,double,double,constint)
ddvv(double,double,double,double,double,double)54anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .ddvv(double,double,double,double,double,double)
calculate(PricingEngine::results*)53QuantLib.FDMultiPeriodEngine<>.calculate(PricingEngine::results*)
code(constQuantLib::Date&)53QuantLib.ECB.code(constQuantLib::Date&)
tvtl(int,double*,double*,double)52anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .tvtl(int,double*,double*,double)
operator()(Real)51QuantLib.AnalyticHestonEngine+Fj_Helper.operator()(Real)
ddff(double,double,double,double,double,double)51anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .ddff(double,double,double,double,double,double)
code(constQuantLib::Date&)50QuantLib.IMM.code(constQuantLib::Date&)
checkMoments(Real)50QuantLib.OneFactorCopula.checkMoments(Real)
FlatVol(constvector<Volatility>&,constint)49__Globals.FlatVol(constvector<Volatility>&,constint)
CapPseudoDerivative(int)49__Globals.CapPseudoDerivative(int)
enorm(int,double*)49QuantLib.MINPACK.__Globals.enorm(int,double*)
KRNRDT(double,double,double(*)(double,double,double,double,double ,double,double,double,double,int),double&)49anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .KRNRDT(double,double,double(*)(double,double,double,double,double ,double,double,double,double,int),double&)
AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)48__Globals.AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)
TqrEigenDecomposition(constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)48QuantLib.TqrEigenDecomposition.TqrEigenDecomposition (constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)
FaureRsg(Size)48QuantLib.FaureRsg.FaureRsg(Size)
optionletPrice(Option::Type,Real)48QuantLib.LinearTsrPricer.optionletPrice(Option::Type,Real)
calculate()48QuantLib.AnalyticDoubleBarrierEngine.calculate()
operator()(Real,Real)47QuantLib.BivariateCumulativeNormalDistributionWe04DP.operator()(Real ,Real)
solve(Real,Integer,conststd::vector<Volatility>&,conststd::vector <Volatility>&,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real ,Integer,Real&,Real&,Real&,std::vector<Volatility>&)47QuantLib.AlphaFinder.solve(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)
Minimize<T>(Real,Real,Real,T&,Real(T::*)(Real),bool(T::*)(Real),bool&)47QuantLib.anonymous_namespace{alphafinder.cpp}.__Globals.Minimize<T> (Real,Real,Real,T&,Real(T::*)(Real),bool(T::*)(Real),bool&)
convexity(constint&,constQuantLib::InterestRate&,bool,QuantLib::Date ,QuantLib::Date)46__Globals.convexity(constint&,constQuantLib::InterestRate&,bool ,QuantLib::Date,QuantLib::Date)
sabrCalibration(constQuantLib::SwaptionVolCube1::Cube&)46QuantLib.SwaptionVolCube1.sabrCalibration (constQuantLib::SwaptionVolCube1::Cube&)
spreadVolInterpolation(constQuantLib::Date&,constQuantLib::Period&)46QuantLib.SwaptionVolCube1.spreadVolInterpolation(constQuantLib::Date& ,constQuantLib::Period&)
isBusinessDay(constQuantLib::Date&)46QuantLib.Taiwan+TsecImpl.isBusinessDay(constQuantLib::Date&)
calculate()46QuantLib.Gaussian1dCapFloorEngine.calculate()
calculate()46QuantLib.Gaussian1dNonstandardSwaptionEngine.calculate()
modifiedDuration(constint&,constQuantLib::InterestRate&,bool ,QuantLib::Date,QuantLib::Date)46QuantLib.anonymous_namespace{cashflows.cpp}.__Globals.modifiedDuration (constint&,constQuantLib::InterestRate&,bool,QuantLib::Date ,QuantLib::Date)
probIntV(constQuantLib::HestonProcess&,Real,Real,Real,Time ,HestonProcess::Discretization)46QuantLib.anonymous_namespace{hestonprocess.cpp}.__Globals.probIntV (constQuantLib::HestonProcess&,Real,Real,Real,Time ,HestonProcess::Discretization)
FdmHestonVarianceMesher(Size,constint)45__Globals.FdmHestonVarianceMesher(Size,constint)
solve<F>(constF&,Real,Real,Real)45QuantLib.Solver1D<Impl>.solve<F>(constF&,Real,Real,Real)
localVolImpl(Time,Real)45QuantLib.LocalVolSurface.localVolImpl(Time,Real)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)45QuantLib.JointStochasticProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
calculate()45QuantLib.AnalyticDiscreteGeometricAveragePriceAsianEngine.calculate()
axpyb(constQuantLib::Array&,constQuantLib::TripleBandLinearOp& ,constQuantLib::TripleBandLinearOp&,constQuantLib::Array&)44QuantLib.TripleBandLinearOp.axpyb(constQuantLib::Array& ,constQuantLib::TripleBandLinearOp&,constQuantLib::TripleBandLinearOp& ,constQuantLib::Array&)
name()44QuantLib.JointCalendar+Impl.name()
SymmetricSchurDecomposition(constQuantLib::Matrix&)44QuantLib.SymmetricSchurDecomposition.SymmetricSchurDecomposition (constQuantLib::Matrix&)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)44QuantLib.HybridHestonHullWhiteProcess.evolve(Time ,constQuantLib::Array&,Time,constQuantLib::Array&)
updateNumeraireTabulation()44QuantLib.MarkovFunctional.updateNumeraireTabulation()
inflationPeriod(constQuantLib::Date&,QuantLib::Frequency)42QuantLib.__Globals.inflationPeriod(constQuantLib::Date& ,QuantLib::Frequency)
operator()(Real)42QuantLib.NonCentralChiSquareDistribution.operator()(Real)
strikeFromDelta(Real,DeltaVolQuote::DeltaType)42QuantLib.BlackDeltaCalculator.strikeFromDelta(Real ,DeltaVolQuote::DeltaType)
initialGuess2(constQuantLib::Array&,Real,Real&,Real&,Real&)42QuantLib.anonymous_namespace{garch.cpp}.__Globals.initialGuess2 (constQuantLib::Array&,Real,Real&,Real&,Real&)
DigitalCoupon(constint)41__Globals.DigitalCoupon(constint)
betaContinuedFraction(Real,Real,Real,Real,Integer)41QuantLib.__Globals.betaContinuedFraction(Real,Real,Real,Real,Integer)
CPICapFloorTermPriceSurface(Real,Real,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention& ,constQuantLib::DayCounter&,constHandle<QuantLib::ZeroInflationIndex>& ,constHandle<QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)41QuantLib.CPICapFloorTermPriceSurface.CPICapFloorTermPriceSurface(Real ,Real,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)
date(conststd::string&,constQuantLib::Date&)41QuantLib.IMM.date(conststd::string&,constQuantLib::Date&)

Statistics

Stat   # lines of code (LOC)
Sum:0
Average:74 912 224
Minimum:31
Maximum:0
Standard deviation:562 257 664
Variance:0
warningCritical    Rule warning: Methods too complex
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 ||
  
m.MaxNestedLoop > 3 ||
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.MaxNestedLoop descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, 
                
m.MaxNestedLoop,
                
m.NestingDepth  }

// Methods where CyclomaticComplexity > 20 
// or MaxNestedLoop > 40
// or NestingDepth > 4
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.cppdepend.com/Metrics.aspx#CC
// http://www.cppdepend.com/Metrics.aspx#ILCC
// http://www.cppdepend.com/Metrics.aspx#ILNestingDepth

66 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopNestingDepthFull Name
Schedule(QuantLib::Date,constQuantLib::Date&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,QuantLib::BusinessDayConvention,DateGeneration::Rule,bool ,constQuantLib::Date&,constQuantLib::Date&)7119QuantLib.Schedule.Schedule(QuantLib::Date,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention ,DateGeneration::Rule,bool,constQuantLib::Date&,constQuantLib::Date&)
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)6525QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)
SVD(constQuantLib::Matrix&)62321QuantLib.SVD.SVD(constQuantLib::Matrix&)
update()52118QuantLib.detail.CubicInterpolationImpl<I1,I2>.update()
SobolRsg(Size,unsignedlong,QuantLib::SobolRsg::DirectionIntegers)4835QuantLib.SobolRsg.SobolRsg(Size,unsignedlong ,QuantLib::SobolRsg::DirectionIntegers)
hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)3936QuantLib.anonymous_namespace{pseudosqrt.cpp}.__Globals .hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)
singlePathValues(std::vector<Real>&)3558QuantLib.PathwiseVegasOuterAccountingEngine.singlePathValues (std::vector<Real>&)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)3425QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
singlePathValues(std::vector<Real>&)2958QuantLib.PathwiseVegasAccountingEngine.singlePathValues(std::vector <Real>&)
calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)2934__Globals.calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
isBusinessDay(constQuantLib::Date&)2802QuantLib.Taiwan+TsecImpl.isBusinessDay(constQuantLib::Date&)
singlePathValues(std::vector<Real>&)2748QuantLib.PathwiseAccountingEngine.singlePathValues(std::vector<Real>&)
intersect()2527QuantLib.InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D ,Interpolator1D>.intersect()
SparseILUPreconditioner(constint&,Integer)2447__Globals.SparseILUPreconditioner(constint&,Integer)
operator()(constQuantLib::Path&)2414QuantLib.BarrierPathPricer.operator()(constQuantLib::Path&)
operator()(constQuantLib::Path&)2414QuantLib.BiasedBarrierPathPricer.operator()(constQuantLib::Path&)
operator+=(constQuantLib::Period&)2407QuantLib.Period.operator+=(constQuantLib::Period&)
isBusinessDay(constQuantLib::Date&)2402QuantLib.HongKong+HkexImpl.isBusinessDay(constQuantLib::Date&)
isBusinessDay(constQuantLib::Date&)2402QuantLib.Turkey+Impl.isBusinessDay(constQuantLib::Date&)
qrsolv(int,double*,int,int*,double*,double*,double*,double*,double*)2235QuantLib.MINPACK.__Globals.qrsolv(int,double*,int,int*,double*,double* ,double*,double*,double*)
isBusinessDay(constQuantLib::Date&)2202QuantLib.India+NseImpl.isBusinessDay(constQuantLib::Date&)
isBusinessDay(constQuantLib::Date&)2202QuantLib.Indonesia+BejImpl.isBusinessDay(constQuantLib::Date&)
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)2136QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)
calculateNextGeneration(std::vector<Candidate>& ,constQuantLib::CostFunction&)21212QuantLib.DifferentialEvolution.calculateNextGeneration(std::vector <Candidate>&,constQuantLib::CostFunction&)
SmileSectionUtils(constQuantLib::SmileSection&,conststd::vector<Real>& ,constReal,constbool)2123QuantLib.SmileSectionUtils.SmileSectionUtils (constQuantLib::SmileSection&,conststd::vector<Real>&,constReal ,constbool)
performCalculations()1827__Globals.performCalculations()
performCalculations()1727__Globals.performCalculations()
initialize()1727QuantLib.MarkovFunctional.initialize()
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)1637QuantLib.JointStochasticProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
calculate()16214QuantLib.Gaussian1dCapFloorEngine.calculate()
ND2(double,double,double)1627anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals.ND2 (double,double,double)
TqrEigenDecomposition(constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)1547QuantLib.TqrEigenDecomposition.TqrEigenDecomposition (constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)
npvs(constQuantLib::Date&,constReal,constbool)1529QuantLib.Gaussian1dFloatFloatSwaptionEngine.npvs(constQuantLib::Date& ,constReal,constbool)
DigitalCoupon(constint)1506__Globals.DigitalCoupon(constint)
SymmetricSchurDecomposition(constQuantLib::Matrix&)1426QuantLib.SymmetricSchurDecomposition.SymmetricSchurDecomposition (constQuantLib::Matrix&)
OrthogonalProjections(constQuantLib::Matrix&,Real,Real)1337QuantLib.OrthogonalProjections.OrthogonalProjections (constQuantLib::Matrix&,Real,Real)
bucketAnalysis(std::vector<Real>&,std::vector<Real>&,std::vector<Real >&,Handle<QuantLib::SimpleQuote>,conststd::vector<Handle<Quote>>&,Real ,QuantLib::SensitivityAnalysis)1318QuantLib.__Globals.bucketAnalysis(std::vector<Real>&,std::vector<Real >&,std::vector<Real>&,Handle<QuantLib::SimpleQuote>,conststd::vector <Handle<Quote>>&,Real,QuantLib::SensitivityAnalysis)
compute()1318QuantLib.KahaleSmileSection.compute()
getBumps(conststd::vector<Rate>&,conststd::vector<Real>& ,conststd::vector<Rate>&,conststd::vector<Real>&,QuantLib::Matrix&)1244QuantLib.RatePseudoRootJacobian.getBumps(conststd::vector<Rate>& ,conststd::vector<Real>&,conststd::vector<Rate>&,conststd::vector<Real >&,QuantLib::Matrix&)
derivativesVolatility(Size)1244QuantLib.VolatilityBumpInstrumentJacobian.derivativesVolatility(Size)
isFull()1242QuantLib.VegaBumpCollection.isFull()
calculate()1229QuantLib.Gaussian1dSwaptionEngine.calculate()
calculate()1228QuantLib.Gaussian1dNonstandardSwaptionEngine.calculate()
YoYCapFloorTermPriceSurface(Natural,constQuantLib::Period&,constint)1226__Globals.YoYCapFloorTermPriceSurface(Natural,constQuantLib::Period& ,constint)
performCalculations()1226QuantLib.OptionletStripper1.performCalculations()
calculate()1216QuantLib.AnalyticCapFloorEngine.calculate()
operator()(Real,Real)1206QuantLib.BivariateCumulativeNormalDistributionWe04DP.operator()(Real ,Real)
updateNumeraireTabulation()1137QuantLib.MarkovFunctional.updateNumeraireTabulation()
value(constQuantLib::Array&)1137QuantLib.anonymous_namespace{pseudosqrt.cpp}.HypersphereCostFunction .value(constQuantLib::Array&)
qrDecomposition(constQuantLib::Matrix&,QuantLib::Matrix& ,QuantLib::Matrix&,bool)1136QuantLib.__Globals.qrDecomposition(constQuantLib::Matrix& ,QuantLib::Matrix&,QuantLib::Matrix&,bool)
GetVegaBumps(std::vector<std::vector<Matrix>>&)1054QuantLib.OrthogonalizedBumpFinder.GetVegaBumps(std::vector<std::vector <Matrix>>&)
AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)1045__Globals.AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)
FlatVol(constvector<Volatility>&,constint)1045__Globals.FlatVol(constvector<Volatility>&,constint)
operator()(conststd::vector<Real>&,conststd::vector<Real>&)1027QuantLib.LossDistBucketing.operator()(conststd::vector<Real>& ,conststd::vector<Real>&)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)1016__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
isNonOverlapping()943QuantLib.VegaBumpCollection.isNonOverlapping()
multiplePathValues(SequenceStatisticsInc&,std::vector<std::vector <SequenceStatisticsInc>>&,Size)855QuantLib.ProxyGreekEngine.multiplePathValues(SequenceStatisticsInc& ,std::vector<std::vector<SequenceStatisticsInc>>&,Size)
SwaptionPseudoDerivative(int)845__Globals.SwaptionPseudoDerivative(int)
convolve(constQuantLib::Distribution&,constQuantLib::Distribution&)843QuantLib.ManipulateDistribution.convolve(constQuantLib::Distribution& ,constQuantLib::Distribution&)
calculate()817QuantLib.YoYInflationCapFloorEngine.calculate()
multiplePathValues(std::vector<Real>&,std::vector<Real>&,Size)753QuantLib.PathwiseVegasOuterAccountingEngine.multiplePathValues (std::vector<Real>&,std::vector<Real>&,Size)
calculate()736QuantLib.AnalyticGJRGARCHEngine.calculate()
updateSmiles()728QuantLib.MarkovFunctional.updateSmiles()
modelOutputs()627QuantLib.MarkovFunctional.modelOutputs()
calculate()616QuantLib.FdHestonHullWhiteVanillaEngine.calculate()
index(Time)506QuantLib.TimeGrid.index(Time)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop   NestingDepth
Sum:1 285153419
Average:19.472.326.35
Minimum:502
Maximum:71521
Standard deviation:13.951.463.25
Variance:194.552.1310.53
warningCritical    Rule warning: Methods potentially poorly commented
// <Name>Methods potentially poorly commented</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.PercentageComment < 20 && 
  
m.NbLinesOfCode > 20  
  
orderby m.PercentageComment ascending
select new { m, m.PercentageComment, m.NbLinesOfCode, m.NbLinesOfComment }

// Methods where %Comment < 20 and that have 
// at least 20 lines of code might need to be more commented.
// See the definition of the Comments metric here 
// http://www.cppdepend.com/Metrics.aspx#PercentageComment
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment 

211 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
SparseILUPreconditioner(constint&,Integer)0780__Globals.SparseILUPreconditioner(constint&,Integer)
VanillaSwap(QuantLib::VanillaSwap::Type,Real,constQuantLib::Schedule& ,Rate,constQuantLib::DayCounter&,constQuantLib::Schedule&,constint)0210__Globals.VanillaSwap(QuantLib::VanillaSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constQuantLib::Schedule&,constint)
calculateAbsTolerance(constint)0290__Globals.calculateAbsTolerance(constint)
LogNormalFwdRateEulerConstrained(constint)0220__Globals.LogNormalFwdRateEulerConstrained(constint)
SVDDFwdRatePc(constint)0240__Globals.SVDDFwdRatePc(constint)
UpperBoundEngine(constint)0230__Globals.UpperBoundEngine(constint)
SwaptionVolatilityCube(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)0210__Globals.SwaptionVolatilityCube(constHandle <QuantLib::SwaptionVolatilityStructure>&,conststd::vector<Period>& ,conststd::vector<Period>&,conststd::vector<Spread>&,conststd::vector <std::vector<Handle<Quote>>>&,constint)
swaptionPriceInternal(constOption::Type&,constQuantLib::Date& ,constQuantLib::Period&,constRate,constQuantLib::Date&,constReal ,constbool,int)0220__Globals.swaptionPriceInternal(constOption::Type& ,constQuantLib::Date&,constQuantLib::Period&,constRate ,constQuantLib::Date&,constReal,constbool,int)
incompleteGammaFunctionContinuedFractionRepr(Real,Real,Real,Integer)0250QuantLib.__Globals.incompleteGammaFunctionContinuedFractionRepr(Real ,Real,Real,Integer)
h(Real)0230QuantLib.__Globals.h(Real)
operator<<(std::ostream&,constQuantLib::PricingError&)0210QuantLib.__Globals.operator<<(std::ostream& ,constQuantLib::PricingError&)
advance(constQuantLib::Date&,Integer,QuantLib::TimeUnit)0320QuantLib.Date.advance(constQuantLib::Date&,Integer,QuantLib::TimeUnit)
addFixings<DateIterator,ValueIterator>(DateIterator,DateIterator ,ValueIterator,bool)0300QuantLib.Index.addFixings<DateIterator,ValueIterator>(DateIterator ,DateIterator,ValueIterator,bool)
applyTo(QuantLib::Array&,Time)000QuantLib.FdmStepConditionComposite.applyTo(QuantLib::Array&,Time)
rollback(array_type&,Time,Time,Size,Size)0330QuantLib.FdmBackwardSolver.rollback(array_type&,Time,Time,Size,Size)
order(Size)0270QuantLib.TabulatedGaussLegendre.order(Size)
yearFraction(constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&)0230QuantLib.ActualActual+AFB_Impl.yearFraction(constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date&)
fetchResults(constPricingEngine::results*)0310QuantLib.Swap.fetchResults(constPricingEngine::results*)
solve(constQuantLib::Array&,constQuantLib::Array&)0310QuantLib.BiCGstab.solve(constQuantLib::Array&,constQuantLib::Array&)
Concentrating1dMesher(Real,Real,Size,conststd::pair<Real,Real>& ,constbool)0340QuantLib.Concentrating1dMesher.Concentrating1dMesher(Real,Real,Size ,conststd::pair<Real,Real>&,constbool)
operator()(Real)0370QuantLib.GammaDistribution.operator()(Real)
operator()(Real)0420QuantLib.NonCentralChiSquareDistribution.operator()(Real)
der2Rs_derX2(Real)0210QuantLib.GFunctionFactory+GFunctionWithShifts.der2Rs_derX2(Real)
initialize(constQuantLib::FloatingRateCoupon&)0260QuantLib.SubPeriodsPricer.initialize (constQuantLib::FloatingRateCoupon&)
name()0440QuantLib.JointCalendar+Impl.name()
RatePseudoRootJacobianNumerical(constQuantLib::Matrix&,Size,Size ,conststd::vector<Time>&,conststd::vector<Matrix>&,conststd::vector <Spread>&)0210QuantLib.RatePseudoRootJacobianNumerical .RatePseudoRootJacobianNumerical(constQuantLib::Matrix&,Size,Size ,conststd::vector<Time>&,conststd::vector<Matrix>&,conststd::vector <Spread>&)
SquareRootAndersen(Real,Real,Real,Real,conststd::vector<Real>&,Size ,Real,Real,Real)0230QuantLib.SquareRootAndersen.SquareRootAndersen(Real,Real,Real,Real ,conststd::vector<Real>&,Size,Real,Real,Real)
nextTimeStep(constQuantLib::CurveState&,std::vector<Size>&,std::vector <std::vector<CashFlow>>&)0220QuantLib.CallSpecifiedMultiProduct.nextTimeStep (constQuantLib::CurveState&,std::vector<Size>&,std::vector<std::vector <CashFlow>>&)
MultiStepInverseFloater(conststd::vector<Time>&,conststd::vector<Real >&,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector <Real>&,conststd::vector<Real>&,conststd::vector<Time>&,bool)0210QuantLib.MultiStepInverseFloater.MultiStepInverseFloater (conststd::vector<Time>&,conststd::vector<Real>&,conststd::vector<Real >&,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector <Real>&,conststd::vector<Time>&,bool)
MultiStepTarn(conststd::vector<Time>&,conststd::vector<Real>& ,conststd::vector<Real>&,conststd::vector<Time>&,conststd::vector<Time >&,Real,conststd::vector<Real>&,conststd::vector<Real>& ,conststd::vector<Real>&)0230QuantLib.MultiStepTarn.MultiStepTarn(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector<Time >&,conststd::vector<Time>&,Real,conststd::vector<Real>& ,conststd::vector<Real>&,conststd::vector<Real>&)
nextTimeStep(constQuantLib::CurveState&,std::vector<Size>&,std::vector <std::vector<MarketModelPathwiseMultiProduct::CashFlow>>&)0220QuantLib.CallSpecifiedPathwiseMultiProduct.nextTimeStep (constQuantLib::CurveState&,std::vector<Size>&,std::vector<std::vector <MarketModelPathwiseMultiProduct::CashFlow>>&)
MarketModelPathwiseInverseFloater(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector<Real >&,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector <Time>&,bool)0250QuantLib.MarketModelPathwiseInverseFloater .MarketModelPathwiseInverseFloater(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector<Real >&,conststd::vector<Real>&,conststd::vector<Real>&,conststd::vector <Time>&,bool)
LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)0380QuantLib.LongstaffSchwartzExerciseStrategy .LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)
values(constQuantLib::CurveState&,std::vector<Real>&)0320QuantLib.SwapForwardBasisSystem.values(constQuantLib::CurveState& ,std::vector<Real>&)
discountBondOption(Option::Type,Real,Time,Time)01230QuantLib.CoxIngersollRoss.discountBondOption(Option::Type,Real,Time ,Time)
discountBondOption(Option::Type,Real,Time,Time)01080QuantLib.ExtendedCoxIngersollRoss.discountBondOption(Option::Type,Real ,Time,Time)
sabrCalibration(constQuantLib::SwaptionVolCube1::Cube&)0460QuantLib.SwaptionVolCube1.sabrCalibration (constQuantLib::SwaptionVolCube1::Cube&)
fillVolatilityCube()0340QuantLib.SwaptionVolCube1.fillVolatilityCube()
expandLayers(Size,bool,Size,bool)0210QuantLib.SwaptionVolCube1+Cube.expandLayers(Size,bool,Size,bool)
calculate()0330QuantLib.AnalyticDiscreteGeometricAverageStrikeAsianEngine.calculate()
next(bool)0270QuantLib.MultiPathGenerator<GSG>.next(bool)
operator()(constQuantLib::Path&)0590QuantLib.BiasedBarrierPathPricer.operator()(constQuantLib::Path&)
calculate<xIterator,yIterator,vIterator>(xIterator,xIterator,yIterator ,yIterator,vIterator,vIterator)0210QuantLib.GeneralLinearLeastSquares.calculate<xIterator,yIterator ,vIterator>(xIterator,xIterator,yIterator,yIterator,vIterator ,vIterator)
calculate()0290QuantLib.AnalyticCapFloorEngine.calculate()
calculate()0270QuantLib.AnalyticSimpleChooserEngine.calculate()
zerobondOption(constOption::Type&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constRate ,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)0230QuantLib.Gaussian1dModel.zerobondOption(constOption::Type& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date& ,constRate,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)
init()0280QuantLib.NonstandardSwap.init()
validate()0210QuantLib.NonstandardSwap+arguments.validate()
quantity()000QuantLib.EnergySwap.quantity()
validate()0230QuantLib.DoubleBarrierOption+arguments.validate()
setupArguments(PricingEngine::arguments*)0240QuantLib.ConvertibleBond+option.setupArguments (PricingEngine::arguments*)
validate()0210QuantLib.ConvertibleBond+option+arguments.validate()
operator<<(std::ostream&,constQuantLib::detail::long_period_holder&)0270QuantLib.detail.__Globals.operator<<(std::ostream& ,constQuantLib::detail::long_period_holder&)
operator<<(std::ostream&,constQuantLib::detail::short_period_holder&)0270QuantLib.detail.__Globals.operator<<(std::ostream& ,constQuantLib::detail::short_period_holder&)
AbcdCoeffHolder(Real,Real,Real,Real,bool,bool,bool,bool)0290QuantLib.detail.AbcdCoeffHolder.AbcdCoeffHolder(Real,Real,Real,Real ,bool,bool,bool,bool)
SABRCoeffHolder(Time,constReal&,Real,Real,Real,Real,bool,bool,bool ,bool)0330QuantLib.detail.SABRCoeffHolder.SABRCoeffHolder(Time,constReal&,Real ,Real,Real,Real,bool,bool,bool,bool)
modifiedBesselFunction_i_impl<T>(Real,constT&)0210QuantLib.anonymous_namespace{modifiedbessel.cpp}.__Globals .modifiedBesselFunction_i_impl<T>(Real,constT&)
calculate(PricingEngine::results*)1531QuantLib.FDMultiPeriodEngine<>.calculate(PricingEngine::results*)
DigitalCoupon(constint)2411__Globals.DigitalCoupon(constint)
CapPseudoDerivative(int)2491__Globals.CapPseudoDerivative(int)
performCalculations()2772__Globals.performCalculations()
inflationPeriod(constQuantLib::Date&,QuantLib::Frequency)2421QuantLib.__Globals.inflationPeriod(constQuantLib::Date& ,QuantLib::Frequency)
operator<<(std::ostream&,constMarkovFunctional::ModelOutputs&)2381QuantLib.__Globals.operator<<(std::ostream& ,constMarkovFunctional::ModelOutputs&)
operator<<(std::ostream&,constQuantLib::InterestRate&)2401QuantLib.__Globals.operator<<(std::ostream& ,constQuantLib::InterestRate&)
operator+=(constQuantLib::Period&)2732QuantLib.Period.operator+=(constQuantLib::Period&)
operator()(Decimal)2371QuantLib.Rounding.operator()(Decimal)
axpyb(constQuantLib::Array&,constQuantLib::TripleBandLinearOp& ,constQuantLib::TripleBandLinearOp&,constQuantLib::Array&)2441QuantLib.TripleBandLinearOp.axpyb(constQuantLib::Array& ,constQuantLib::TripleBandLinearOp&,constQuantLib::TripleBandLinearOp& ,constQuantLib::Array&)
calculateNextGeneration(std::vector<Candidate>& ,constQuantLib::CostFunction&)2672QuantLib.DifferentialEvolution.calculateNextGeneration(std::vector <Candidate>&,constQuantLib::CostFunction&)
initialize(constQuantLib::FloatingRateCoupon&)2381QuantLib.HaganPricer.initialize(constQuantLib::FloatingRateCoupon&)
operator()(Real,Real)2371QuantLib.BivariateCumulativeNormalDistributionDr78.operator()(Real ,Real)
CallSpecifiedMultiProduct(constClone<QuantLib::MarketModelMultiProduct >&,constClone<ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)2331QuantLib.CallSpecifiedMultiProduct.CallSpecifiedMultiProduct (constClone<QuantLib::MarketModelMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)
CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)2361QuantLib.CallSpecifiedPathwiseMultiProduct .CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)
isECBcode(conststd::string&)2371QuantLib.ECB.isECBcode(conststd::string&)
updateNumeraireTabulation()2441QuantLib.MarkovFunctional.updateNumeraireTabulation()
hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)2862QuantLib.anonymous_namespace{pseudosqrt.cpp}.__Globals .hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)
pathBasisSystem(Size,QuantLib::LsmBasisSystem::PolynomType)3261__Globals.pathBasisSystem(Size,QuantLib::LsmBasisSystem::PolynomType)
TrinomialTree(constint)3261__Globals.TrinomialTree(constint)
SwaptionPseudoDerivative(int)3311__Globals.SwaptionPseudoDerivative(int)
performCalculations()3612__Globals.performCalculations()
operator<<(std::ostream&,QuantLib::Frequency)3291QuantLib.__Globals.operator<<(std::ostream&,QuantLib::Frequency)
frequency()3321QuantLib.Period.frequency()
solve<F>(constF&,Real,Real,Real,Real)3271QuantLib.Solver1D<Impl>.solve<F>(constF&,Real,Real,Real,Real)
setupArguments(PricingEngine::arguments*)3261QuantLib.YoYInflationCapFloor.setupArguments(PricingEngine::arguments* )
calculate(PricingEngine::results*)3281QuantLib.FDStepConditionEngine<>.calculate(PricingEngine::results*)
SphereCylinderOptimizer(Real,Real,Real,Real,Real,Real,Real)3281QuantLib.SphereCylinderOptimizer.SphereCylinderOptimizer(Real,Real ,Real,Real,Real,Real,Real)
advanceStep()3261QuantLib.LogNormalFwdRateiBalland.advanceStep()
nextTimeStep(constQuantLib::CurveState&,std::vector<Size>&,std::vector <std::vector<MarketModelPathwiseMultiProduct::CashFlow>>&)3261QuantLib.MarketModelPathwiseCoterminalSwaptionsNumericalDeflated .nextTimeStep(constQuantLib::CurveState&,std::vector<Size>& ,std::vector<std::vector<MarketModelPathwiseMultiProduct::CashFlow>>&)
sabrCalibrationSection(constQuantLib::SwaptionVolCube1::Cube& ,QuantLib::SwaptionVolCube1::Cube&,constQuantLib::Period&)3301QuantLib.SwaptionVolCube1.sabrCalibrationSection (constQuantLib::SwaptionVolCube1::Cube& ,QuantLib::SwaptionVolCube1::Cube&,constQuantLib::Period&)
calculate()3301QuantLib.AnalyticEuropeanMargrabeEngine.calculate()
SmileSectionUtils(constQuantLib::SmileSection&,conststd::vector<Real>& ,constReal,constbool)3813QuantLib.SmileSectionUtils.SmileSectionUtils (constQuantLib::SmileSection&,conststd::vector<Real>&,constReal ,constbool)
initialize()3582QuantLib.MarkovFunctional.initialize()
FdmHestonVarianceMesher(Size,constint)4452__Globals.FdmHestonVarianceMesher(Size,constint)
blackForwardVol(Time,Time,Real,bool)4221QuantLib.BlackVolTermStructure.blackForwardVol(Time,Time,Real,bool)
solve<F>(constF&,Real,Real,Real)4452QuantLib.Solver1D<Impl>.solve<F>(constF&,Real,Real,Real)
calibrationError()4241QuantLib.CalibrationHelper.calibrationError()
FixedRateBond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)4402QuantLib.FixedRateBond.FixedRateBond(Natural,constQuantLib::Calendar& ,Real,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
parseOnePeriod(conststd::string&)4231QuantLib.PeriodParser.parseOnePeriod(conststd::string&)
chain(constQuantLib::ExchangeRate&,constQuantLib::ExchangeRate&)4211QuantLib.ExchangeRate.chain(constQuantLib::ExchangeRate& ,constQuantLib::ExchangeRate&)
addSamples(Size)4211QuantLib.MonteCarloModel<>.addSamples(Size)
operator()(constQuantLib::Path&)4854QuantLib.BarrierPathPricer.operator()(constQuantLib::Path&)

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:1 3640736
Average:6.4640 710 5923.49
Minimum:0210
Maximum:19038
Standard deviation:5.95416 164 9924.91
Variance:35.42024.13
warningCritical    Rule warning: Methods with too many parameters
// <Name>Methods with too many parameters</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 5 
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods where NbParameters > 5 might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

377 methods matched

methods# ParametersFull Name
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)24QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)
FixedRateBond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)20QuantLib.FixedRateBond.FixedRateBond(Natural,constQuantLib::Calendar& ,Real,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Period& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Date&,DateGeneration::Rule,bool ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
GemanRoncoroniProcess(Real,Real,Real,Real,Real,Real,Real,Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real)17QuantLib.GemanRoncoroniProcess.GemanRoncoroniProcess(Real,Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real,Real )
SabrInterpolatedSmileSection(constQuantLib::Date&,constHandle <QuantLib::Quote>&,conststd::vector<Rate>&,bool,constHandle <QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)16__Globals.SabrInterpolatedSmileSection(constQuantLib::Date& ,constHandle<QuantLib::Quote>&,conststd::vector<Rate>&,bool ,constHandle<QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)16__Globals.SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
solve(Real,Integer,conststd::vector<Volatility>&,conststd::vector <Volatility>&,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real ,Integer,Real&,Real&,Real&,std::vector<Volatility>&)16QuantLib.AlphaFinder.solve(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)
solveWithMaxHomogeneity(Real,Integer,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,conststd::vector<Real>&,Real,Real,Real ,Real,Real,Real,Integer,Real&,Real&,Real&,std::vector<Volatility>&)16QuantLib.AlphaFinder.solveWithMaxHomogeneity(Real,Integer ,conststd::vector<Volatility>&,conststd::vector<Volatility>& ,conststd::vector<Real>&,Real,Real,Real,Real,Real,Real,Integer,Real& ,Real&,Real&,std::vector<Volatility>&)
doCalculation(Real,Real,Real,Real,Real,Real,Real,Real,Real,Real ,constQuantLib::TypePayoff& ,constQuantLib::AnalyticHestonEngine::Integration& ,constQuantLib::AnalyticHestonEngine::ComplexLogFormula ,constQuantLib::AnalyticHestonEngine*const,Real&,Size&)16QuantLib.AnalyticHestonEngine.doCalculation(Real,Real,Real,Real,Real ,Real,Real,Real,Real,Real,constQuantLib::TypePayoff& ,constQuantLib::AnalyticHestonEngine::Integration& ,constQuantLib::AnalyticHestonEngine::ComplexLogFormula ,constQuantLib::AnalyticHestonEngine*const,Real&,Size&)
SabrInterpolatedSmileSection(constQuantLib::Date&,constHandle <QuantLib::Quote>&,conststd::vector<Rate>&,bool,constHandle <QuantLib::Quote>&,conststd::vector<Handle<Quote>>&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)16QuantLib.SabrInterpolatedSmileSection.SabrInterpolatedSmileSection (constQuantLib::Date&,constHandle<QuantLib::Quote>&,conststd::vector <Rate>&,bool,constHandle<QuantLib::Quote>&,conststd::vector<Handle <Quote>>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
SabrInterpolatedSmileSection(constQuantLib::Date&,constRate& ,conststd::vector<Rate>&,bool,constVolatility&,conststd::vector <Volatility>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)16QuantLib.SabrInterpolatedSmileSection.SabrInterpolatedSmileSection (constQuantLib::Date&,constRate&,conststd::vector<Rate>&,bool ,constVolatility&,conststd::vector<Volatility>&,Real,Real,Real,Real ,bool,bool,bool,bool,bool,constint)
SABRInterpolation<I1,I2>(constI1&,constI1&,constI2&,Time,constReal& ,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)15QuantLib.SABRInterpolation.SABRInterpolation<I1,I2>(constI1&,constI1& ,constI2&,Time,constReal&,Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
SABRInterpolationImpl<I1,I2>(constI1&,constI1&,constI2&,Time ,constReal&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)15QuantLib.detail.SABRInterpolationImpl<I1,I2>.SABRInterpolationImpl<I1 ,I2>(constI1&,constI1&,constI2&,Time,constReal&,Real,Real,Real,Real ,bool,bool,bool,bool,bool,constint)
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)14QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D> .InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)
UpfrontCdsHelper(constHandle<QuantLib::Quote>&,Rate ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)14QuantLib.UpfrontCdsHelper.UpfrontCdsHelper(constHandle<QuantLib::Quote >&,Rate,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)
UpfrontCdsHelper(Rate,Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)14QuantLib.UpfrontCdsHelper.UpfrontCdsHelper(Rate,Rate ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,Natural,bool,bool)
CDO(Real,Real,conststd::vector<Real>&,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,constHandle <QuantLib::OneFactorCopula>&,bool,constQuantLib::Schedule&,Rate ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,Size,constQuantLib::Period&)14QuantLib.CDO.CDO(Real,Real,conststd::vector<Real>&,conststd::vector <Handle<DefaultProbabilityTermStructure>>&,constHandle <QuantLib::OneFactorCopula>&,bool,constQuantLib::Schedule&,Rate ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,Size,constQuantLib::Period&)
singleRateClosestPointFinder(Size,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,Real,conststd::vector<Real>&,Real,Real ,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)14QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp} .__Globals.singleRateClosestPointFinder(Size,conststd::vector <Volatility>&,conststd::vector<Volatility>&,Real,conststd::vector<Real >&,Real,Real,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)
NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )13__Globals.NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )
CPICapFloor(Option::Type,Real,constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,Rate,constHandle <QuantLib::ZeroInflationIndex>&,constQuantLib::Period& ,CPI::InterpolationType)13QuantLib.CPICapFloor.CPICapFloor(Option::Type,Real ,constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,Rate ,constHandle<QuantLib::ZeroInflationIndex>&,constQuantLib::Period& ,CPI::InterpolationType)
CPICapFloorTermPriceSurface(Real,Real,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention& ,constQuantLib::DayCounter&,constHandle<QuantLib::ZeroInflationIndex>& ,constHandle<QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)13QuantLib.CPICapFloorTermPriceSurface.CPICapFloorTermPriceSurface(Real ,Real,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)
FixedRateBond(Natural,Real,constQuantLib::Schedule&,conststd::vector <Rate>&,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,Real,constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention,bool)13QuantLib.FixedRateBond.FixedRateBond(Natural,Real ,constQuantLib::Schedule&,conststd::vector<Rate>& ,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
AbcdInterpolation<I1,I2>(constI1&,constI1&,constI2&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)13QuantLib.AbcdInterpolation.AbcdInterpolation<I1,I2>(constI1&,constI1& ,constI2&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )13QuantLib.NthToDefault.NthToDefault(Size,conststd::vector<Handle <DefaultProbabilityTermStructure>>&,Real,constHandle <QuantLib::OneFactorCopula>&,Protection::Side,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter&,bool ,constHandle<QuantLib::YieldTermStructure>&,constQuantLib::Period&,int )
AssetSwapHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,Natural,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,Real,constRelinkableHandle <QuantLib::YieldTermStructure>&,constQuantLib::Period&)13QuantLib.AssetSwapHelper.AssetSwapHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Natural,constQuantLib::Calendar& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Real ,constRelinkableHandle<QuantLib::YieldTermStructure>& ,constQuantLib::Period&)
base_cubic_splint(constreturn_type&,constreturn_type& ,constreturn_type&,constreturn_type&,constdimensions&,constdata& ,constdata&,constdata_table&,data_table&,output_data&,output_data& ,output_data&,result_type&)13QuantLib.detail.base_cubic_splint.base_cubic_splint(constreturn_type& ,constreturn_type&,constreturn_type&,constreturn_type& ,constdimensions&,constdata&,constdata&,constdata_table&,data_table& ,output_data&,output_data&,output_data&,result_type&)
n_cubic_splint<X>(constreturn_type&,constreturn_type& ,constreturn_type&,constreturn_type&,constdimensions&,constdata& ,constdata&,constdata_table&,data_table&,output_data&,output_data& ,output_data&,typenamesuper::result_type&)13QuantLib.detail.n_cubic_splint<X>.n_cubic_splint<X>(constreturn_type& ,constreturn_type&,constreturn_type&,constreturn_type& ,constdimensions&,constdata&,constdata&,constdata_table&,data_table& ,output_data&,output_data&,output_data&,typenamesuper::result_type&)
AbcdInterpolationImpl<I1,I2>(constI1&,constI1&,constI2&,Real,Real,Real ,Real,bool,bool,bool,bool,bool,constint)13QuantLib.detail.AbcdInterpolationImpl<I1,I2>.AbcdInterpolationImpl<I1 ,I2>(constI1&,constI1&,constI2&,Real,Real,Real,Real,bool,bool,bool ,bool,bool,constint)
CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)12__Globals.CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)
AbcdCalibration(conststd::vector<Real>&,conststd::vector<Real>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)12__Globals.AbcdCalibration(conststd::vector<Real>&,conststd::vector <Real>&,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)
BatesProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real,Real,HestonProcess::Discretization)12QuantLib.BatesProcess.BatesProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real,Real,HestonProcess::Discretization)
CreditDefaultSwap(Protection::Side,Real,Rate,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)12QuantLib.CreditDefaultSwap.CreditDefaultSwap(Protection::Side,Real ,Rate,Rate,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date& ,constQuantLib::Date&,constint)
FixedRateBond(Natural,Real,constQuantLib::Schedule&,conststd::vector <InterestRate>&,QuantLib::BusinessDayConvention,Real ,constQuantLib::Date&,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)12QuantLib.FixedRateBond.FixedRateBond(Natural,Real ,constQuantLib::Schedule&,conststd::vector<InterestRate>& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention,bool)
AbcdCalibration(conststd::vector<Real>&,conststd::vector<Real>&,Real ,Real,Real,Real,bool,bool,bool,bool,bool,constint)12QuantLib.AbcdCalibration.AbcdCalibration(conststd::vector<Real>& ,conststd::vector<Real>&,Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
SABR(Time,Real,Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)12QuantLib.SABR.SABR(Time,Real,Real,Real,Real,Real,bool,bool,bool,bool ,bool,constint)
CdsHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.CdsHelper.CdsHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
CdsHelper(Rate,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.CdsHelper.CdsHelper(Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
SpreadCdsHelper(constHandle<QuantLib::Quote>&,constQuantLib::Period& ,Integer,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.SpreadCdsHelper.SpreadCdsHelper(constHandle<QuantLib::Quote>& ,constQuantLib::Period&,Integer,constQuantLib::Calendar& ,QuantLib::Frequency,QuantLib::BusinessDayConvention ,DateGeneration::Rule,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
SpreadCdsHelper(Rate,constQuantLib::Period&,Integer ,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)12QuantLib.SpreadCdsHelper.SpreadCdsHelper(Rate,constQuantLib::Period& ,Integer,constQuantLib::Calendar&,QuantLib::Frequency ,QuantLib::BusinessDayConvention,DateGeneration::Rule ,constQuantLib::DayCounter&,Real,constHandle <QuantLib::YieldTermStructure>&,bool,bool)
Fj_Helper(Real,Real,Real,Real,Real,Real ,constQuantLib::AnalyticHestonEngine*const ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )12QuantLib.AnalyticHestonEngine+Fj_Helper.Fj_Helper(Real,Real,Real,Real ,Real,Real,constQuantLib::AnalyticHestonEngine*const ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )
zerobondOption(constOption::Type&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constRate ,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)12QuantLib.Gaussian1dModel.zerobondOption(constOption::Type& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date& ,constRate,constQuantLib::Date&,constReal,constHandle <QuantLib::YieldTermStructure>&,constReal,constSize,constbool ,constbool)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)12QuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)12QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
yield(constint&,Real,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date,Real,Size,Rate )11__Globals.yield(constint&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date,Real,Size,Rate)
yield(constint&,Real,constQuantLib::DayCounter&,QuantLib::Compounding ,QuantLib::Frequency,bool,QuantLib::Date,QuantLib::Date,Real,Size,Rate )11QuantLib.CashFlows.yield(constint&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,bool,QuantLib::Date ,QuantLib::Date,Real,Size,Rate)
DoubleStickyRatchetPayoff(Real,Real,Real,Real,Real,Real,Real,Real,Real ,Real,Real)11QuantLib.DoubleStickyRatchetPayoff.DoubleStickyRatchetPayoff(Real,Real ,Real,Real,Real,Real,Real,Real,Real,Real,Real)
GJRGARCHProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real ,QuantLib::GJRGARCHProcess::Discretization)11QuantLib.GJRGARCHProcess.GJRGARCHProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,Real,Real ,QuantLib::GJRGARCHProcess::Discretization)
Fj_Helper(Real,Real,Real,Real,Real,Real ,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real,Real,Size )11QuantLib.AnalyticHestonEngine+Fj_Helper.Fj_Helper(Real,Real,Real,Real ,Real,Real,QuantLib::AnalyticHestonEngine::ComplexLogFormula,Time,Real ,Real,Size)
RiskyAssetSwap(bool,Real,constQuantLib::Schedule& ,constQuantLib::Schedule&,constQuantLib::DayCounter& ,constQuantLib::DayCounter&,Rate,Rate,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::DefaultProbabilityTermStructure>&,Rate)11QuantLib.RiskyAssetSwap.RiskyAssetSwap(bool,Real ,constQuantLib::Schedule&,constQuantLib::Schedule& ,constQuantLib::DayCounter&,constQuantLib::DayCounter&,Rate,Rate ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::DefaultProbabilityTermStructure>&,Rate)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)11QuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)
CreditDefaultSwap(Protection::Side,Real,Rate,constQuantLib::Schedule& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,bool,bool ,constQuantLib::Date&,constint)10__Globals.CreditDefaultSwap(Protection::Side,Real,Rate ,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date&,constint)
ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)10__Globals.ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)
VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)10__Globals.VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote >&,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)
Schedule(QuantLib::Date,constQuantLib::Date&,constQuantLib::Period& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,QuantLib::BusinessDayConvention,DateGeneration::Rule,bool ,constQuantLib::Date&,constQuantLib::Date&)10QuantLib.Schedule.Schedule(QuantLib::Date,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,QuantLib::BusinessDayConvention ,DateGeneration::Rule,bool,constQuantLib::Date&,constQuantLib::Date&)
ConstantYoYOptionletVolatility(constVolatility,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate)10QuantLib.ConstantYoYOptionletVolatility.ConstantYoYOptionletVolatility (constVolatility,Natural,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,Rate,Rate)
CreditDefaultSwap(Protection::Side,Real,Rate,constQuantLib::Schedule& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,bool,bool ,constQuantLib::Date&,constint)10QuantLib.CreditDefaultSwap.CreditDefaultSwap(Protection::Side,Real ,Rate,constQuantLib::Schedule&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,bool,bool,constQuantLib::Date&,constint)
finalPart(Real,Integer,conststd::vector<Volatility>&,Real,Real,Real ,Real&,Real&,Real&,std::vector<Volatility>&)10QuantLib.AlphaFinder.finalPart(Real,Integer,conststd::vector <Volatility>&,Real,Real,Real,Real&,Real&,Real&,std::vector<Volatility >&)
SwaptionPricingFunction(Real,Real,Real,Real,Real,Real,Real ,conststd::vector<Time>&,Rate,constQuantLib::G2&)10QuantLib.G2+SwaptionPricingFunction.SwaptionPricingFunction(Real,Real ,Real,Real,Real,Real,Real,conststd::vector<Time>&,Rate ,constQuantLib::G2&)
Abcd(Real,Real,Real,Real,bool,bool,bool,bool,bool,constint)10QuantLib.Abcd.Abcd(Real,Real,Real,Real,bool,bool,bool,bool,bool ,constint)
ProxyIbor(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)10QuantLib.ProxyIbor.ProxyIbor(conststd::string&,constQuantLib::Period& ,Natural,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::Quote>&,constint)
RiskyFixedBond(std::string,QuantLib::Currency,Real,Handle <QuantLib::DefaultProbabilityTermStructure>,QuantLib::Schedule,Real ,QuantLib::DayCounter,QuantLib::BusinessDayConvention,std::vector<Real >,Handle<QuantLib::YieldTermStructure>)10QuantLib.RiskyFixedBond.RiskyFixedBond(std::string,QuantLib::Currency ,Real,Handle<QuantLib::DefaultProbabilityTermStructure> ,QuantLib::Schedule,Real,QuantLib::DayCounter ,QuantLib::BusinessDayConvention,std::vector<Real>,Handle <QuantLib::YieldTermStructure>)
VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)10QuantLib.VegaStressedBlackScholesProcess .VegaStressedBlackScholesProcess(constHandle<QuantLib::Quote>& ,constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::BlackVolTermStructure>&,Time,Time,Real,Real,Real,constint)
AmortizingFixedRateBond(Natural,constQuantLib::Calendar&,Real ,constQuantLib::Date&,constQuantLib::Period&,constQuantLib::Frequency& ,constRate,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,constQuantLib::Date&)10QuantLib.AmortizingFixedRateBond.AmortizingFixedRateBond(Natural ,constQuantLib::Calendar&,Real,constQuantLib::Date& ,constQuantLib::Period&,constQuantLib::Frequency&,constRate ,constQuantLib::DayCounter&,QuantLib::BusinessDayConvention ,constQuantLib::Date&)
InterpolatedZeroInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)10QuantLib.InterpolatedZeroInflationCurve<Interpolator> .InterpolatedZeroInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)
InterpolatedYoYInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)10QuantLib.InterpolatedYoYInflationCurve<Interpolator> .InterpolatedYoYInflationCurve<Interpolator>(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter& ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Date>& ,conststd::vector<Rate>&,constInterpolator&)
SABRCoeffHolder(Time,constReal&,Real,Real,Real,Real,bool,bool,bool ,bool)10QuantLib.detail.SABRCoeffHolder.SABRCoeffHolder(Time,constReal&,Real ,Real,Real,Real,bool,bool,bool,bool)
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)10QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)
fdjac2(int,int,double*,double*,double*,int,int*,double,double* ,constint&)10QuantLib.MINPACK.__Globals.fdjac2(int,int,double*,double*,double*,int ,int*,double,double*,constint&)
TVTMFN(double,double,double,double,double,double,double,double,double ,int)10anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .TVTMFN(double,double,double,double,double,double,double,double,double ,int)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)9__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)9__Globals.duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)
SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)9__Globals.SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)
FixedRateBondForward(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Real,Natural,constQuantLib::DayCounter& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,constint)9__Globals.FixedRateBondForward(constQuantLib::Date& ,constQuantLib::Date&,Position::Type,Real,Natural ,constQuantLib::DayCounter&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constint)
ZeroCouponInflationSwap(QuantLib::ZeroCouponInflationSwap::Type,Real ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)9__Globals.ZeroCouponInflationSwap (QuantLib::ZeroCouponInflationSwap::Type,Real,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,Rate ,constint)
InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)9__Globals.InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)
InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)9__Globals.InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)
ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9__Globals.ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9__Globals.ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9__Globals.YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9__Globals.YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)9__Globals.CallableFixedRateBond(Natural,Real,constQuantLib::Schedule& ,conststd::vector<Rate>&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)9__Globals.CallableZeroCouponBond(Natural,Real,constQuantLib::Calendar& ,constQuantLib::Date&,constQuantLib::DayCounter& ,QuantLib::BusinessDayConvention,Real,constQuantLib::Date&,constint&)
FixedRateCoupon(constQuantLib::Date&,Real,Rate ,constQuantLib::DayCounter&,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date&)9QuantLib.FixedRateCoupon.FixedRateCoupon(constQuantLib::Date&,Real ,Rate,constQuantLib::DayCounter&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::Date&)
SwapIndex(conststd::string&,constQuantLib::Period&,Natural ,QuantLib::Currency,constQuantLib::Calendar&,constQuantLib::Period& ,QuantLib::BusinessDayConvention,constQuantLib::DayCounter&,constint)9QuantLib.SwapIndex.SwapIndex(conststd::string&,constQuantLib::Period& ,Natural,QuantLib::Currency,constQuantLib::Calendar& ,constQuantLib::Period&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constint)
sphereCylinderOptimizerClosest(Real,Real,Real,Real,Real,Real,Natural ,Real,Real)9QuantLib.__Globals.sphereCylinderOptimizerClosest(Real,Real,Real,Real ,Real,Real,Natural,Real,Real)
blackFormulaImpliedStdDev(Option::Type,Real,Real,Real,Real,Real,Real ,Real,Natural)9QuantLib.__Globals.blackFormulaImpliedStdDev(Option::Type,Real,Real ,Real,Real,Real,Real,Real,Natural)
InflationTermStructure(constQuantLib::Date&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,constint)9QuantLib.InflationTermStructure.InflationTermStructure (constQuantLib::Date&,Rate,constQuantLib::Period&,QuantLib::Frequency ,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,constint)
InflationTermStructure(Natural,constQuantLib::Calendar&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constQuantLib::DayCounter&,constint)9QuantLib.InflationTermStructure.InflationTermStructure(Natural ,constQuantLib::Calendar&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constQuantLib::DayCounter&,constint)
ZeroInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constint)9QuantLib.ZeroInflationTermStructure.ZeroInflationTermStructure (constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,constbool,constHandle <QuantLib::YieldTermStructure>&,constint)
ZeroInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9QuantLib.ZeroInflationTermStructure.ZeroInflationTermStructure(Natural ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
YoYInflationTermStructure(constQuantLib::Date& ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)9QuantLib.YoYInflationTermStructure.YoYInflationTermStructure (constQuantLib::Date&,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)
YoYInflationTermStructure(Natural,constQuantLib::Calendar& ,constQuantLib::DayCounter&,Rate,constQuantLib::Period& ,QuantLib::Frequency,bool,constHandle<QuantLib::YieldTermStructure>& ,constint)9QuantLib.YoYInflationTermStructure.YoYInflationTermStructure(Natural ,constQuantLib::Calendar&,constQuantLib::DayCounter&,Rate ,constQuantLib::Period&,QuantLib::Frequency,bool,constHandle <QuantLib::YieldTermStructure>&,constint)
Data(conststd::string&,conststd::string&,Integer,conststd::string& ,conststd::string&,Integer,constQuantLib::Rounding&,conststd::string& ,constQuantLib::Currency&)9QuantLib.Currency+Data.Data(conststd::string&,conststd::string& ,Integer,conststd::string&,conststd::string&,Integer ,constQuantLib::Rounding&,conststd::string&,constQuantLib::Currency&)
YoYInflationIndex(conststd::string&,constQuantLib::Region&,bool,bool ,bool,QuantLib::Frequency,constQuantLib::Period& ,constQuantLib::Currency&,constHandle <QuantLib::YoYInflationTermStructure>&)9QuantLib.YoYInflationIndex.YoYInflationIndex(conststd::string& ,constQuantLib::Region&,bool,bool,bool,QuantLib::Frequency ,constQuantLib::Period&,constQuantLib::Currency&,constHandle <QuantLib::YoYInflationTermStructure>&)
HestonProcess(constHandle<QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,QuantLib::HestonProcess::Discretization)9QuantLib.HestonProcess.HestonProcess(constHandle <QuantLib::YieldTermStructure>&,constHandle <QuantLib::YieldTermStructure>&,constHandle<QuantLib::Quote>&,Real ,Real,Real,Real,Real,QuantLib::HestonProcess::Discretization)
CubicInterpolation<I1,I2>(constI1&,constI1&,constI2& ,CubicInterpolation::DerivativeApprox,bool ,CubicInterpolation::BoundaryCondition,Real ,CubicInterpolation::BoundaryCondition,Real)9QuantLib.CubicInterpolation.CubicInterpolation<I1,I2>(constI1& ,constI1&,constI2&,CubicInterpolation::DerivativeApprox,bool ,CubicInterpolation::BoundaryCondition,Real ,CubicInterpolation::BoundaryCondition,Real)
duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)9QuantLib.CashFlows.duration(constint&,Rate,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,Duration::Type,bool ,QuantLib::Date,QuantLib::Date)
IborIndex(conststd::string&,constQuantLib::Period&,Natural ,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::YieldTermStructure>&)9QuantLib.IborIndex.IborIndex(conststd::string&,constQuantLib::Period& ,Natural,constQuantLib::Currency&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter& ,constHandle<QuantLib::YieldTermStructure>&)
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)9QuantLib.CPISwap.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
yield(constQuantLib::Bond&,Real,constQuantLib::DayCounter& ,QuantLib::Compounding,QuantLib::Frequency,QuantLib::Date,Real,Size ,Rate)9QuantLib.BondFunctions.yield(constQuantLib::Bond&,Real ,constQuantLib::DayCounter&,QuantLib::Compounding,QuantLib::Frequency ,QuantLib::Date,Real,Size,Rate)
FixedRateBondForward(constQuantLib::Date&,constQuantLib::Date& ,Position::Type,Real,Natural,constQuantLib::DayCounter& ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,constint)9QuantLib.FixedRateBondForward.FixedRateBondForward (constQuantLib::Date&,constQuantLib::Date&,Position::Type,Real,Natural ,constQuantLib::DayCounter&,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,constint)

Statistics

Stat   # Parameters
Sum:3 046
Average:8.08
Minimum:6
Maximum:24
Standard deviation:2.55
Variance:6.52
warningCritical    Rule warning: Methods with too many local variables
// <Name>Methods with too many local variables</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbVariables > 15 
  
orderby m.NbVariables descending
select new { m, m.NbVariables }

// Methods where NbVariables > 8 are hard to understand and maintain.
// Methods where NbVariables > 15 are extremely complex 
// and should be split in smaller methods.
// See the definition of the Nbvariables metric here 
// http://www.cppdepend.com/Metrics.aspx#Nbvariables

111 methods matched

methods# VariablesFull Name
calculate()93QuantLib.AnalyticGJRGARCHEngine.calculate()
calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)64__Globals.calibrationFunction(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
singlePathValues(std::vector<Real>&)57QuantLib.PathwiseVegasOuterAccountingEngine.singlePathValues (std::vector<Real>&)
update()51QuantLib.detail.CubicInterpolationImpl<I1,I2>.update()
singlePathValues(std::vector<Real>&)49QuantLib.PathwiseVegasAccountingEngine.singlePathValues(std::vector <Real>&)
singlePathValues(std::vector<Real>&)46QuantLib.PathwiseAccountingEngine.singlePathValues(std::vector<Real>&)
npvs(constQuantLib::Date&,constReal,constbool)46QuantLib.Gaussian1dFloatFloatSwaptionEngine.npvs(constQuantLib::Date& ,constReal,constbool)
singleRateClosestPointFinder(Size,conststd::vector<Volatility>& ,conststd::vector<Volatility>&,Real,conststd::vector<Real>&,Real,Real ,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)46QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp} .__Globals.singleRateClosestPointFinder(Size,conststd::vector <Volatility>&,conststd::vector<Volatility>&,Real,conststd::vector<Real >&,Real,Real,Real,Size,Real,std::vector<Volatility>&,Real,Real&,Real&)
performCalculations()45__Globals.performCalculations()
calculate()43QuantLib.AnalyticCompoundOptionEngine.calculate()
calculate()42QuantLib.AnalyticDoubleBarrierEngine.calculate()
SVD(constQuantLib::Matrix&)41QuantLib.SVD.SVD(constQuantLib::Matrix&)
intersect()40QuantLib.InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D ,Interpolator1D>.intersect()
BarrierUPD(double,double,double,double,double,int,int,int)40anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .BarrierUPD(double,double,double,double,double,int,int,int)
performCalculations()39__Globals.performCalculations()
CapPseudoDerivative(int)37__Globals.CapPseudoDerivative(int)
calculate()37QuantLib.AnalyticDiscreteGeometricAveragePriceAsianEngine.calculate()
collectNodeData(QuantLib::MarketModelEvolver& ,QuantLib::MarketModelMultiProduct& ,QuantLib::MarketModelNodeDataProvider& ,QuantLib::MarketModelExerciseValue& ,QuantLib::MarketModelExerciseValue&,Size,std::vector<std::vector <NodeData>>&)36QuantLib.__Globals.collectNodeData(QuantLib::MarketModelEvolver& ,QuantLib::MarketModelMultiProduct& ,QuantLib::MarketModelNodeDataProvider& ,QuantLib::MarketModelExerciseValue& ,QuantLib::MarketModelExerciseValue&,Size,std::vector<std::vector <NodeData>>&)
calculate()35QuantLib.Gaussian1dNonstandardSwaptionEngine.calculate()
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)34QuantLib.HybridHestonHullWhiteProcess.evolve(Time ,constQuantLib::Array&,Time,constQuantLib::Array&)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)33QuantLib.HestonProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
SparseILUPreconditioner(constint&,Integer)31__Globals.SparseILUPreconditioner(constint&,Integer)
FdmHestonVarianceMesher(Size,constint)31__Globals.FdmHestonVarianceMesher(Size,constint)
capletMaxHomogeneityCalibration(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)31__Globals.capletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
fixing(constQuantLib::Date&,bool)31QuantLib.YoYInflationIndex.fixing(constQuantLib::Date&,bool)
localVolImpl(Time,Real)31QuantLib.LocalVolSurface.localVolImpl(Time,Real)
calculate()31QuantLib.AnalyticDiscreteGeometricAverageStrikeAsianEngine.calculate()
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)30QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)
integrate(constint)29__Globals.integrate(constint)
capletAlphaFormCalibration(constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)29__Globals.capletAlphaFormCalibration (constQuantLib::EvolutionDescription& ,constQuantLib::PiecewiseConstantCorrelation&,constint)
calculateNextGeneration(std::vector<Candidate>& ,constQuantLib::CostFunction&)29QuantLib.DifferentialEvolution.calculateNextGeneration(std::vector <Candidate>&,constQuantLib::CostFunction&)
SymmetricSchurDecomposition(constQuantLib::Matrix&)29QuantLib.SymmetricSchurDecomposition.SymmetricSchurDecomposition (constQuantLib::Matrix&)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)29QuantLib.JointStochasticProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
calculate()29QuantLib.AnalyticEuropeanMargrabeEngine.calculate()
compute()29QuantLib.KahaleSmileSection.compute()
recompute()28QuantLib.VolatilityInterpolationSpecifierabcd.recompute()
spreadVolInterpolation(constQuantLib::Date&,constQuantLib::Period&)28QuantLib.SwaptionVolCube1.spreadVolInterpolation(constQuantLib::Date& ,constQuantLib::Period&)
calibrate()28QuantLib.LongstaffSchwartzMultiPathPricer.calibrate()
calculate()28QuantLib.Gaussian1dCapFloorEngine.calculate()
calculate()28QuantLib.Gaussian1dSwaptionEngine.calculate()
IvopTwoDim(double,double,double,double,double,double,double,constint)28anonymous_namespace{integralhestonvarianceoptionengine.cpp}.__Globals .IvopTwoDim(double,double,double,double,double,double,double,constint)
axpyb(constQuantLib::Array&,constQuantLib::TripleBandLinearOp& ,constQuantLib::TripleBandLinearOp&,constQuantLib::Array&)27QuantLib.TripleBandLinearOp.axpyb(constQuantLib::Array& ,constQuantLib::TripleBandLinearOp&,constQuantLib::TripleBandLinearOp& ,constQuantLib::Array&)
performCalculations()27QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D> .performCalculations()
probIntV(constQuantLib::HestonProcess&,Real,Real,Real,Time ,HestonProcess::Discretization)27QuantLib.anonymous_namespace{hestonprocess.cpp}.__Globals.probIntV (constQuantLib::HestonProcess&,Real,Real,Real,Time ,HestonProcess::Discretization)
update()26QuantLib.detail.SABRInterpolationImpl<I1,I2>.update()
ND2(double,double,double)26anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals.ND2 (double,double,double)
precalculate(constint)25__Globals.precalculate(constint)
calculate()25QuantLib.JumpDiffusionEngine.calculate()
BVTL(int,double,double,double)25anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .BVTL(int,double,double,double)
TqrEigenDecomposition(constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)24QuantLib.TqrEigenDecomposition.TqrEigenDecomposition (constQuantLib::Array&,constQuantLib::Array& ,QuantLib::TqrEigenDecomposition::EigenVectorCalculation ,QuantLib::TqrEigenDecomposition::ShiftStrategy)
sabrCalibration(constQuantLib::SwaptionVolCube1::Cube&)24QuantLib.SwaptionVolCube1.sabrCalibration (constQuantLib::SwaptionVolCube1::Cube&)
calculate()24QuantLib.MonteCarloCDOEngine2.calculate()
IvopOneDim(double,double,double,double,double,double,double,double)23anonymous_namespace{integralhestonvarianceoptionengine.cpp}.__Globals .IvopOneDim(double,double,double,double,double,double,double,double)
calculate()22QuantLib.IntegralCdsEngine.calculate()
A(Real,Real)22QuantLib.AnalyticTwoAssetBarrierEngine.A(Real,Real)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)22QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
genericLongstaffSchwartzRegression(std::vector<std::vector<NodeData>>& ,std::vector<std::vector<Real>>&)21QuantLib.__Globals.genericLongstaffSchwartzRegression(std::vector <std::vector<NodeData>>&,std::vector<std::vector<Real>>&)
calculate()21QuantLib.AnalyticCapFloorEngine.calculate()
calculate()21QuantLib.AnalyticWriterExtensibleOptionEngine.calculate()
calculate()21QuantLib.ContinuousArithmeticAsianLevyEngine.calculate()
AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)20__Globals.AbcdVol(Real,Real,Real,Real,constvector<Real>&,constint)
FwdPeriodAdapter(constint)20__Globals.FwdPeriodAdapter(constint)
SwaptionPseudoDerivative(int)20__Globals.SwaptionPseudoDerivative(int)
h(Real)20QuantLib.__Globals.h(Real)
fillVolatilityCube()20QuantLib.SwaptionVolCube1.fillVolatilityCube()
checkMoments(Real)20QuantLib.OneFactorCopula.checkMoments(Real)
expectationp2(Time,Time)20QuantLib.GsrProcess.expectationp2(Time,Time)
calculate()20QuantLib.VannaVolgaBarrierEngine.calculate()
calculate()20QuantLib.VannaVolgaDoubleBarrierEngine.calculate()
qrsolv(int,double*,int,int*,double*,double*,double*,double*,double*)20QuantLib.MINPACK.__Globals.qrsolv(int,double*,int,int*,double*,double* ,double*,double*,double*)
PHID(double)20anonymous_namespace{perturbativebarrieroptionengine.cpp}.__Globals .PHID(double)
TrinomialTree(constint)19__Globals.TrinomialTree(constint)
FlatVol(constvector<Volatility>&,constint)19__Globals.FlatVol(constvector<Volatility>&,constint)
apply(constQuantLib::Array&)19QuantLib.NinePointLinearOp.apply(constQuantLib::Array&)
solve(constQuantLib::Array&,constQuantLib::Array&)19QuantLib.BiCGstab.solve(constQuantLib::Array&,constQuantLib::Array&)
smileCorrection(Real,Real,Real,Real)19QuantLib.RangeAccrualPricerByBgm.smileCorrection(Real,Real,Real,Real)
calculate()19QuantLib.BlackCapFloorEngine.calculate()
singlePathValue(Size)19QuantLib.UpperBoundEngine.singlePathValue(Size)
operator()(Real)19QuantLib.AnalyticPTDHestonEngine+Fj_Helper.operator()(Real)
updateNumeraireTabulation()19QuantLib.MarkovFunctional.updateNumeraireTabulation()
initialGuess1(constQuantLib::Array&,Real,Real&,Real&,Real&)19QuantLib.anonymous_namespace{garch.cpp}.__Globals.initialGuess1 (constQuantLib::Array&,Real,Real&,Real&,Real&)
PathwiseVegasOuterAccountingEngine(constint)18__Globals.PathwiseVegasOuterAccountingEngine(constint)
factorReduction(QuantLib::Matrix,Size)18QuantLib.__Globals.factorReduction(QuantLib::Matrix,Size)
SobolRsg(Size,unsignedlong,QuantLib::SobolRsg::DirectionIntegers)18QuantLib.SobolRsg.SobolRsg(Size,unsignedlong ,QuantLib::SobolRsg::DirectionIntegers)
operator()(Real,Real)18QuantLib.BivariateCumulativeNormalDistributionDr78.operator()(Real ,Real)
minimize(QuantLib::Problem&,constQuantLib::EndCriteria&)18QuantLib.Simplex.minimize(QuantLib::Problem& ,constQuantLib::EndCriteria&)
GetVegaBumps(std::vector<std::vector<Matrix>>&)18QuantLib.OrthogonalizedBumpFinder.GetVegaBumps(std::vector<std::vector <Matrix>>&)
calculate()18QuantLib.JamshidianSwaptionEngine.calculate()
calculate()18QuantLib.YoYInflationCapFloorEngine.calculate()
calculate()18QuantLib.KirkSpreadOptionEngine.calculate()
performCalculations()17__Globals.performCalculations()
rollback(array_type&,Time,Time,Size,Size)17QuantLib.FdmBackwardSolver.rollback(array_type&,Time,Time,Size,Size)
minimize(QuantLib::Problem&,constQuantLib::EndCriteria&)17QuantLib.LineSearchBasedMethod.minimize(QuantLib::Problem& ,constQuantLib::EndCriteria&)
derivativesVolatility(Size)17QuantLib.VolatilityBumpInstrumentJacobian.derivativesVolatility(Size)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)17QuantLib.GJRGARCHProcess.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
performCalculations()17QuantLib.OptionletStripper1.performCalculations()
calculate()17QuantLib.AnalyticPTDHestonEngine.calculate()
expectedTrancheLoss(constQuantLib::Date&)17QuantLib.GaussianLHPCDOEngine<CDOEngine>.expectedTrancheLoss (constQuantLib::Date&)
operator()(constQuantLib::Path&)17QuantLib.detail.HullWhiteCapFloorPricer.operator() (constQuantLib::Path&)
hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)17QuantLib.anonymous_namespace{pseudosqrt.cpp}.__Globals .hypersphereOptimize(constQuantLib::Matrix&,constQuantLib::Matrix& ,constbool)

Statistics

Stat   # Variables
Sum:2 912
Average:26.23
Minimum:16
Maximum:93
Standard deviation:11.73
Variance:137.57
warningCritical    Rule warning: Methods with too many overloads
// <Name>Methods with too many overloads</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbOverloads > 6 && 
  
!m.IsOperator // Don't report operator overload
  orderby m.NbOverloads descending
select new { m, m.NbOverloads }

// Methods where NbOverloads > 6 might 
// be a problem to maintain and provoke higher coupling 
// than necessary. 
// This might also reveal a potential misused of the 
// C# and VB.NET language that since C#3 and VB9 support 
// object initialization. This feature helps reducing the number 
// of constructors of a class.
// See the definition of the NbOverloads metric here 
// http://www.cppdepend.com/Metrics.aspx#NbOverloads

27 methods matched

methods# OverloadsFull Name
visit(QuantLib::CashFlow&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::CashFlow&)
visit(QuantLib::Coupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::Coupon&)
visit(QuantLib::IborCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::IborCoupon&)
visit(QuantLib::CappedFlooredIborCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::CappedFlooredIborCoupon&)
visit(QuantLib::DigitalIborCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::DigitalIborCoupon&)
visit(QuantLib::CmsCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::CmsCoupon&)
visit(QuantLib::CappedFlooredCmsCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::CappedFlooredCmsCoupon&)
visit(QuantLib::DigitalCmsCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::DigitalCmsCoupon&)
visit(QuantLib::RangeAccrualFloatersCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::RangeAccrualFloatersCoupon&)
visit(QuantLib::SubPeriodsCoupon&)10QuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter.visit (QuantLib::SubPeriodsCoupon&)
FraRateHelper(constHandle<QuantLib::Quote>&,Natural,Natural,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&)9QuantLib.FraRateHelper.FraRateHelper(constHandle<QuantLib::Quote>& ,Natural,Natural,Natural,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter&)
FraRateHelper(Rate,Natural,Natural,Natural,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter&)9QuantLib.FraRateHelper.FraRateHelper(Rate,Natural,Natural,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&)
FraRateHelper(constHandle<QuantLib::Quote>&,Natural,constint)9QuantLib.FraRateHelper.FraRateHelper(constHandle<QuantLib::Quote>& ,Natural,constint)
FraRateHelper(Rate,Natural,constint)9QuantLib.FraRateHelper.FraRateHelper(Rate,Natural,constint)
FraRateHelper(constHandle<QuantLib::Quote>&,QuantLib::Period,Natural ,Natural,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&)9QuantLib.FraRateHelper.FraRateHelper(constHandle<QuantLib::Quote>& ,QuantLib::Period,Natural,Natural,constQuantLib::Calendar& ,QuantLib::BusinessDayConvention,bool,constQuantLib::DayCounter&)
FraRateHelper(Rate,QuantLib::Period,Natural,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&)9QuantLib.FraRateHelper.FraRateHelper(Rate,QuantLib::Period,Natural ,Natural,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&)
FraRateHelper(constHandle<QuantLib::Quote>&,QuantLib::Period,constint)9QuantLib.FraRateHelper.FraRateHelper(constHandle<QuantLib::Quote>& ,QuantLib::Period,constint)
FraRateHelper(Rate,QuantLib::Period,constint)9QuantLib.FraRateHelper.FraRateHelper(Rate,QuantLib::Period,constint)
FraRateHelper(constQuantLib::FraRateHelper&)9QuantLib.FraRateHelper.FraRateHelper(constQuantLib::FraRateHelper&)
FuturesRateHelper(constHandle<QuantLib::Quote>&,constQuantLib::Date& ,Natural,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&,constHandle<QuantLib::Quote>&)8QuantLib.FuturesRateHelper.FuturesRateHelper(constHandle <QuantLib::Quote>&,constQuantLib::Date&,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&,constHandle<QuantLib::Quote>&)
FuturesRateHelper(Real,constQuantLib::Date&,Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&,Rate)8QuantLib.FuturesRateHelper.FuturesRateHelper(Real,constQuantLib::Date& ,Natural,constQuantLib::Calendar&,QuantLib::BusinessDayConvention,bool ,constQuantLib::DayCounter&,Rate)
FuturesRateHelper(constHandle<QuantLib::Quote>&,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::DayCounter&,constHandle <QuantLib::Quote>&)8QuantLib.FuturesRateHelper.FuturesRateHelper(constHandle <QuantLib::Quote>&,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::DayCounter&,constHandle<QuantLib::Quote>&)
FuturesRateHelper(Real,constQuantLib::Date&,constQuantLib::Date& ,constQuantLib::DayCounter&,Rate)8QuantLib.FuturesRateHelper.FuturesRateHelper(Real,constQuantLib::Date& ,constQuantLib::Date&,constQuantLib::DayCounter&,Rate)
FuturesRateHelper(constHandle<QuantLib::Quote>&,constQuantLib::Date& ,constint)8QuantLib.FuturesRateHelper.FuturesRateHelper(constHandle <QuantLib::Quote>&,constQuantLib::Date&,constint)
FuturesRateHelper(Real,constQuantLib::Date&,constint)8QuantLib.FuturesRateHelper.FuturesRateHelper(Real,constQuantLib::Date& ,constint)
FuturesRateHelper(constQuantLib::FuturesRateHelper&)8QuantLib.FuturesRateHelper.FuturesRateHelper (constQuantLib::FuturesRateHelper&)
FuturesRateHelper(QuantLib::FuturesRateHelper&&)8QuantLib.FuturesRateHelper.FuturesRateHelper (QuantLib::FuturesRateHelper&&)

Statistics

Stat   # Overloads
Sum:245
Average:9.07
Minimum:8
Maximum:10
Standard deviation:0.81
Variance:0.66
warningCritical    Rule warning: Types with too many methods
// <Name>Types with too many methods</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Methods.Count() > 20 && !t.IsGlobal
  
orderby t.Methods.Count() descending
select new { t, t.InstanceMethods, t.StaticMethods }

// Types where Methods.Count() > 20 might be hard to 
// understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of methods. 
// For example, the System.Windows.Forms.DataGridView 
// standard class has more than 1000 methods.

30 types matched

typesInstanceMethodsStaticMethodsFull Name
CashFlows0 method41 methodsQuantLib.CashFlows
Matrix40 methods0 methodQuantLib.Matrix
BondFunctions0 method38 methodsQuantLib.BondFunctions
Date21 methods15 methodsQuantLib.Date
Bond33 methods0 methodQuantLib.Bond
GenericSequenceStatistics<StatisticsType>33 methods0 methodQuantLib.GenericSequenceStatistics<StatisticsType>
Array32 methods0 methodQuantLib.Array
Basket31 methods0 methodQuantLib.Basket
MarkovFunctional29 methods0 methodQuantLib.MarkovFunctional
AnalyticCompoundOptionEngine29 methods0 methodQuantLib.AnalyticCompoundOptionEngine
MakeVanillaSwap28 methods0 methodQuantLib.MakeVanillaSwap
AnalyticTwoAssetBarrierEngine28 methods0 methodQuantLib.AnalyticTwoAssetBarrierEngine
TimeSeries<T,Container,>25 methods2 methodsQuantLib.TimeSeries<T,Container,>
MakeCms27 methods0 methodQuantLib.MakeCms
AbcdAtmVolCurve27 methods0 methodQuantLib.AbcdAtmVolCurve
CPISwap26 methods0 methodQuantLib.CPISwap
SampledCurve26 methods0 methodQuantLib.SampledCurve
CPICapFloorTermPriceSurface24 methods0 methodQuantLib.CPICapFloorTermPriceSurface
DigitalCmsLeg24 methods0 methodQuantLib.DigitalCmsLeg
DigitalIborLeg24 methods0 methodQuantLib.DigitalIborLeg
Distribution24 methods0 methodQuantLib.Distribution
YoYCapFloorTermPriceSurface24 methods0 methodQuantLib.YoYCapFloorTermPriceSurface
Schedule23 methods0 methodQuantLib.Schedule
GeneralStatistics23 methods0 methodQuantLib.GeneralStatistics
CreditDefaultSwap23 methods0 methodQuantLib.CreditDefaultSwap
FloatFloatSwap23 methods0 methodQuantLib.FloatFloatSwap
YearOnYearInflationSwap22 methods0 methodQuantLib.YearOnYearInflationSwap
FdmSquareRootFwdOp21 methods0 methodQuantLib.FdmSquareRootFwdOp
SwaptionVolatilityStructure21 methods0 methodQuantLib.SwaptionVolatilityStructure
GsrProcess21 methods0 methodQuantLib.GsrProcess

Statistics

Stat   InstanceMethods   StaticMethods
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with too many fields
// <Name>Types with too many fields</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Fields.Count() > 20 && 
  
!t.IsEnumeration && !t.IsGlobal
  
orderby t.Fields.Count() descending
select new { t, t.InstanceFields, t.StaticFields}

// Types where Fields.Count() > 20 and not IsEnumeration 
// might be hard to understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of fields. 
// For example, the System.Windows.Forms.Control 
// standard class has more than 200 fields.

17 types matched

typesInstanceFieldsStaticFieldsFull Name
ErrorFunction0 field58 fieldsQuantLib.ErrorFunction
AdaptiveRungeKutta<T>39 fields0 fieldQuantLib.AdaptiveRungeKutta<T>
PathwiseVegasOuterAccountingEngine33 fields0 fieldQuantLib.PathwiseVegasOuterAccountingEngine
PathwiseVegasAccountingEngine30 fields0 fieldQuantLib.PathwiseVegasAccountingEngine
MakeCms29 fields0 fieldQuantLib.MakeCms
InverseCumulativeNormal2 fields24 fieldsQuantLib.InverseCumulativeNormal
MakeVanillaSwap26 fields0 fieldQuantLib.MakeVanillaSwap
AmericanPayoffAtHit25 fields0 fieldQuantLib.AmericanPayoffAtHit
SVDDFwdRatePc24 fields0 fieldQuantLib.SVDDFwdRatePc
AmericanPayoffAtExpiry24 fields0 fieldQuantLib.AmericanPayoffAtExpiry
PathwiseAccountingEngine23 fields0 fieldQuantLib.PathwiseAccountingEngine
LogNormalFwdRateEulerConstrained23 fields0 fieldQuantLib.LogNormalFwdRateEulerConstrained
CDO23 fields0 fieldQuantLib.CDO
FloatFloatSwap+arguments23 fields0 fieldQuantLib.FloatFloatSwap+arguments
AnalyticGJRGARCHEngine22 fields0 fieldQuantLib.AnalyticGJRGARCHEngine
FloatFloatSwap21 fields0 fieldQuantLib.FloatFloatSwap
MarkovFunctional21 fields0 fieldQuantLib.MarkovFunctional

Statistics

Stat   InstanceFields   StaticFields
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with poor cohesion
// <Name>Types with poor cohesion</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
(t.LCOM > 0.8 || t.LCOMHS > 0.95) && 
  
t.NbFields > 10 && 
  
t.NbMethods >10 && !t.IsGlobal
  
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS, 
                
t.NbMethods, t.NbFields }

// Types where LCOM > 0.8 and NbFields > 10 
// and NbMethods >10 might be problematic. 
// However, it is very hard to avoid such 
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to 
// detect non-cohesive types.
// See the definition of the LCOM metric here 
// http://www.cppdepend.com/Metrics.aspx#LCOM

45 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
MakeMCAmericanEngine<RNG,S>11.091211QuantLib.MakeMCAmericanEngine<RNG,S>
SabrInterpolatedSmileSection0.981.042118QuantLib.SabrInterpolatedSmileSection
MakeCms0.971.013129QuantLib.MakeCms
FloatFloatSwap0.971.012721QuantLib.FloatFloatSwap
YoYCapFloorTermPriceSurface0.971.012711QuantLib.YoYCapFloorTermPriceSurface
MakeVanillaSwap0.9713226QuantLib.MakeVanillaSwap
ZeroCouponInflationSwap0.971.041814QuantLib.ZeroCouponInflationSwap
MakeYoYInflationCapFloor0.961.071513QuantLib.MakeYoYInflationCapFloor
CmsMarket0.961.021919QuantLib.CmsMarket
SabrVolSurface0.951.012111QuantLib.SabrVolSurface
CPISwap0.950.992918QuantLib.CPISwap
OptionletStripper0.951.021712QuantLib.OptionletStripper
MarkovFunctional0.950.983321QuantLib.MarkovFunctional
DigitalCmsLeg0.940.982816QuantLib.DigitalCmsLeg
DigitalIborLeg0.940.982816QuantLib.DigitalIborLeg
FDVanillaEngine0.941.031211QuantLib.FDVanillaEngine
YearOnYearInflationSwap0.930.982513QuantLib.YearOnYearInflationSwap
CPILeg0.930.992213QuantLib.CPILeg
VanillaSwap0.930.972311QuantLib.VanillaSwap
MakeOIS0.920.991713QuantLib.MakeOIS
NthToDefault0.921.011514QuantLib.NthToDefault
yoyInflationLeg0.920.991811QuantLib.yoyInflationLeg
IborLeg0.920.982011QuantLib.IborLeg
CmsLeg0.920.982011QuantLib.CmsLeg
RangeAccrualLeg0.920.982011QuantLib.RangeAccrualLeg
StrippedOptionlet0.920.991612QuantLib.StrippedOptionlet
LinearTsrPricer0.910.971919QuantLib.LinearTsrPricer
Basket0.910.943412QuantLib.Basket
DigitalCoupon0.90.962017QuantLib.DigitalCoupon
CreditDefaultSwap0.90.942714QuantLib.CreditDefaultSwap
NonstandardSwap0.890.942013QuantLib.NonstandardSwap
AbcdAtmVolCurve0.890.922911QuantLib.AbcdAtmVolCurve
CDO0.890.951723QuantLib.CDO
CTSMMCapletCalibration0.870.922217QuantLib.CTSMMCapletCalibration
RiskyAssetSwap0.850.921516QuantLib.RiskyAssetSwap
SwaptionVolCube10.850.911612QuantLib.SwaptionVolCube1
MarketModelPathwiseInverseFloater0.830.911312QuantLib.MarketModelPathwiseInverseFloater
LogNormalFwdRateEuler0.820.931117QuantLib.LogNormalFwdRateEuler
AbcdCalibration0.820.891813QuantLib.AbcdCalibration
SyntheticCDO0.820.891714QuantLib.SyntheticCDO
LogNormalFwdRateEulerConstrained0.820.911323QuantLib.LogNormalFwdRateEulerConstrained
Schedule0.810.852811QuantLib.Schedule
HaganPricer0.810.891314QuantLib.HaganPricer
GJRGARCHProcess0.810.861911QuantLib.GJRGARCHProcess
OneAssetOption0.80.861711QuantLib.OneAssetOption

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:40.8143.49934667
Average:0.910.9720.7614.82
Minimum:0.80.851111
Maximum:11.093429
Standard deviation:0.0550.0556.14.38
Variance:0.00310.00337.1619.17

240
Object Oriented Design  

warningCritical    Rule warning: Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

486 types matched

typesbaseClassesDepth of inheritanceFull Name
FixedRateCoupon4 types4QuantLib.FixedRateCoupon
InterestRateIndex3 types2QuantLib.InterestRateIndex
SwapIndex4 types3QuantLib.SwapIndex
OvernightIndexedSwapIndex5 types4QuantLib.OvernightIndexedSwapIndex
IndexedCashFlow4 types3QuantLib.IndexedCashFlow
CPICoupon6 types5QuantLib.CPICoupon
CPICashFlow5 types4QuantLib.CPICashFlow
CPIVolatilitySurface5 types3QuantLib.CPIVolatilitySurface
CPICouponPricer3 types2QuantLib.CPICouponPricer
GenericEngine<ArgumentsType,ResultsType>3 types2QuantLib.GenericEngine<ArgumentsType,ResultsType>
Instrument3 types2QuantLib.Instrument
Option4 types3QuantLib.Option
Coupon3 types3QuantLib.Coupon
InflationCoupon5 types4QuantLib.InflationCoupon
TermStructure3 types1QuantLib.TermStructure
YieldTermStructure4 types2QuantLib.YieldTermStructure
InflationTermStructure4 types2QuantLib.InflationTermStructure
ZeroInflationTermStructure5 types3QuantLib.ZeroInflationTermStructure
YoYInflationTermStructure5 types3QuantLib.YoYInflationTermStructure
InflationIndex3 types2QuantLib.InflationIndex
ZeroInflationIndex4 types3QuantLib.ZeroInflationIndex
YoYInflationIndex4 types3QuantLib.YoYInflationIndex
YoYInflationCoupon6 types5QuantLib.YoYInflationCoupon
VolatilityTermStructure4 types2QuantLib.VolatilityTermStructure
YoYOptionletVolatilitySurface5 types3QuantLib.YoYOptionletVolatilitySurface
ConstantYoYOptionletVolatility6 types4QuantLib.ConstantYoYOptionletVolatility
YoYInflationCouponPricer3 types2QuantLib.YoYInflationCouponPricer
BlackYoYInflationCouponPricer4 types3QuantLib.BlackYoYInflationCouponPricer
UnitDisplacedBlackYoYInflationCouponPricer4 types3QuantLib.UnitDisplacedBlackYoYInflationCouponPricer
BachelierYoYInflationCouponPricer4 types3QuantLib.BachelierYoYInflationCouponPricer
PlainVanillaPayoff3 types4QuantLib.PlainVanillaPayoff
PercentageStrikePayoff3 types4QuantLib.PercentageStrikePayoff
AssetOrNothingPayoff3 types4QuantLib.AssetOrNothingPayoff
CashOrNothingPayoff3 types4QuantLib.CashOrNothingPayoff
GapPayoff3 types4QuantLib.GapPayoff
SuperFundPayoff3 types4QuantLib.SuperFundPayoff
SuperSharePayoff3 types4QuantLib.SuperSharePayoff
MultiAssetOption5 types4QuantLib.MultiAssetOption
MultiAssetOption+results3 types2QuantLib.MultiAssetOption+results
VanillaVPPOption6 types5QuantLib.VanillaVPPOption
StochasticProcess1D3 types2QuantLib.StochasticProcess1D
ExtOUWithJumpsProcess3 types2QuantLib.ExtOUWithJumpsProcess
ExtendedOrnsteinUhlenbeckProcess4 types3QuantLib.ExtendedOrnsteinUhlenbeckProcess
Dividend3 types3QuantLib.Dividend
FixedDividend4 types4QuantLib.FixedDividend
FractionalDividend4 types4QuantLib.FractionalDividend
FdmExtOUJumpSolver3 types2QuantLib.FdmExtOUJumpSolver
OneAssetOption5 types4QuantLib.OneAssetOption
OneAssetOption+results4 types2QuantLib.OneAssetOption+results
VanillaOption6 types5QuantLib.VanillaOption
KlugeExtOUProcess3 types2QuantLib.KlugeExtOUProcess
FdmNdimSolver<N>3 types2QuantLib.FdmNdimSolver<N>
FdmKlugeExtOUSolver<N>3 types2QuantLib.FdmKlugeExtOUSolver<N>
BasketOption6 types5QuantLib.BasketOption
BlackVolTermStructure5 types3QuantLib.BlackVolTermStructure
BlackVolatilityTermStructure6 types4QuantLib.BlackVolatilityTermStructure
BlackVarianceTermStructure6 types4QuantLib.BlackVarianceTermStructure
LocalVolTermStructure5 types3QuantLib.LocalVolTermStructure
GeneralizedBlackScholesProcess4 types3QuantLib.GeneralizedBlackScholesProcess
BlackScholesProcess5 types4QuantLib.BlackScholesProcess
BlackScholesMertonProcess5 types4QuantLib.BlackScholesMertonProcess
BlackProcess5 types4QuantLib.BlackProcess
GarmanKohlagenProcess5 types4QuantLib.GarmanKohlagenProcess
Fdm2DimSolver3 types2QuantLib.Fdm2DimSolver
HestonProcess3 types2QuantLib.HestonProcess
FlatForward6 types3QuantLib.FlatForward
Fdm3DimSolver3 types2QuantLib.Fdm3DimSolver
FdmSimple3dExtOUJumpSolver3 types2QuantLib.FdmSimple3dExtOUJumpSolver
SwingExercise3 types3QuantLib.SwingExercise
VanillaSwingOption6 types5QuantLib.VanillaSwingOption
VanillaStorageOption6 types5QuantLib.VanillaStorageOption
FdmSimple2dExtOUSolver3 types2QuantLib.FdmSimple2dExtOUSolver
GenericModelEngine<ModelType,ArgumentsType,ResultsType>4 types3QuantLib.GenericModelEngine<ModelType,ArgumentsType,ResultsType>
CPICapFloor4 types3QuantLib.CPICapFloor
CubicNaturalSpline3 types3QuantLib.CubicNaturalSpline
MonotonicCubicNaturalSpline3 types3QuantLib.MonotonicCubicNaturalSpline
CubicSplineOvershootingMinimization13 types3QuantLib.CubicSplineOvershootingMinimization1
CubicSplineOvershootingMinimization23 types3QuantLib.CubicSplineOvershootingMinimization2
AkimaCubicInterpolation3 types3QuantLib.AkimaCubicInterpolation
KrugerCubic3 types3QuantLib.KrugerCubic
FritschButlandCubic3 types3QuantLib.FritschButlandCubic
Parabolic3 types3QuantLib.Parabolic
MonotonicParabolic3 types3QuantLib.MonotonicParabolic
CPICapFloorTermPriceSurface5 types3QuantLib.CPICapFloorTermPriceSurface
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>6 types4QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>
GemanRoncoroniProcess4 types3QuantLib.GemanRoncoroniProcess
SimpleCashFlow3 types3QuantLib.SimpleCashFlow
Redemption4 types4QuantLib.Redemption
AmortizingPayment4 types4QuantLib.AmortizingPayment
FloatingRateCoupon5 types4QuantLib.FloatingRateCoupon
IborIndex4 types3QuantLib.IborIndex
OvernightIndex5 types4QuantLib.OvernightIndex
IborCoupon6 types5QuantLib.IborCoupon
OptionletVolatilityStructure5 types3QuantLib.OptionletVolatilityStructure
SwaptionVolatilityStructure5 types3QuantLib.SwaptionVolatilityStructure
IborCouponPricer3 types2QuantLib.IborCouponPricer
BlackIborCouponPricer4 types3QuantLib.BlackIborCouponPricer
CmsCouponPricer3 types2QuantLib.CmsCouponPricer
Bond4 types3QuantLib.Bond
CPIBond5 types4QuantLib.CPIBond

Statistics

Stat   baseClasses   Depth of inheritance
Sum:01 754
Average:03.61
Minimum:00
Maximum:06
Standard deviation:01.19
Variance:01.41
warningCritical    Rule warning: Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

34 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)7 methods0 type__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
CappedFlooredYoYInflationCoupon(constint)1 method0 type__Globals.CappedFlooredYoYInflationCoupon(constint)
IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)1 method0 type__Globals.IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)
YearOnYearInflationSwap(QuantLib::YearOnYearInflationSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constQuantLib::Schedule&,constint)4 methods0 type__Globals.YearOnYearInflationSwap (QuantLib::YearOnYearInflationSwap::Type,Real,constQuantLib::Schedule& ,Rate,constQuantLib::DayCounter&,constQuantLib::Schedule&,constint)
AccountingEngine(constint)3 methods0 type__Globals.AccountingEngine(constint)
PathwiseAccountingEngine(constint)3 methods0 type__Globals.PathwiseAccountingEngine(constint)
PathwiseVegasAccountingEngine(constint)3 methods0 type__Globals.PathwiseVegasAccountingEngine(constint)
PathwiseVegasOuterAccountingEngine(constint)3 methods0 type__Globals.PathwiseVegasOuterAccountingEngine(constint)
ProxyGreekEngine(constint)3 methods0 type__Globals.ProxyGreekEngine(constint)
FittedBondDiscountCurve(Natural,constQuantLib::Calendar&,constint)1 method0 type__Globals.FittedBondDiscountCurve(Natural,constQuantLib::Calendar& ,constint)
FittedBondDiscountCurve(constQuantLib::Date&,constint)1 method0 type__Globals.FittedBondDiscountCurve(constQuantLib::Date&,constint)
VarianceGammaModel(constint)1 method0 type__Globals.VarianceGammaModel(constint)
IndexedCashFlow(Real,constint)2 methods1 typeQuantLib.IndexedCashFlow.IndexedCashFlow(Real,constint)
CPICashFlow(Real,constint)3 methods0 typeQuantLib.CPICashFlow.CPICashFlow(Real,constint)
MultiplicativePriceSeasonality(constQuantLib::Date& ,constQuantLib::Frequency,conststd::vector<Rate>)1 method0 typeQuantLib.MultiplicativePriceSeasonality.MultiplicativePriceSeasonality (constQuantLib::Date&,constQuantLib::Frequency,conststd::vector<Rate>)
GaussianQuadrature(Size,constQuantLib::GaussianOrthogonalPolynomial&)2 methods8 typesQuantLib.GaussianQuadrature.GaussianQuadrature(Size ,constQuantLib::GaussianOrthogonalPolynomial&)
CPICapFloorTermPriceSurface(Real,Real,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention& ,constQuantLib::DayCounter&,constHandle<QuantLib::ZeroInflationIndex>& ,constHandle<QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)1 method1 typeQuantLib.CPICapFloorTermPriceSurface.CPICapFloorTermPriceSurface(Real ,Real,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)
CappedFlooredYoYInflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)1 method0 typeQuantLib.CappedFlooredYoYInflationCoupon .CappedFlooredYoYInflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
SmileSection(constQuantLib::Date&,constQuantLib::DayCounter& ,constQuantLib::Date&)1 method8 typesQuantLib.SmileSection.SmileSection(constQuantLib::Date& ,constQuantLib::DayCounter&,constQuantLib::Date&)
CallSpecifiedMultiProduct(constClone<QuantLib::MarketModelMultiProduct >&,constClone<ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)6 methods1 typeQuantLib.CallSpecifiedMultiProduct.CallSpecifiedMultiProduct (constClone<QuantLib::MarketModelMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)
ExerciseAdapter(constClone<QuantLib::MarketModelExerciseValue>&,Size)2 methods0 typeQuantLib.ExerciseAdapter.ExerciseAdapter(constClone <QuantLib::MarketModelExerciseValue>&,Size)
MultiProductPathwiseWrapper (constQuantLib::MarketModelPathwiseMultiProduct&)3 methods0 typeQuantLib.MultiProductPathwiseWrapper.MultiProductPathwiseWrapper (constQuantLib::MarketModelPathwiseMultiProduct&)
CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)7 methods0 typeQuantLib.CallSpecifiedPathwiseMultiProduct .CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)
MarketModelPathwiseMultiDeflatedCap(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate,conststd::vector <std::pair<Size,Size>>&)1 method0 typeQuantLib.MarketModelPathwiseMultiDeflatedCap .MarketModelPathwiseMultiDeflatedCap(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate,conststd::vector <std::pair<Size,Size>>&)
LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)6 methods0 typeQuantLib.LongstaffSchwartzExerciseStrategy .LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)
ParametricExerciseAdapter (constQuantLib::MarketModelParametricExercise&,conststd::vector <std::vector<Real>>&)3 methods0 typeQuantLib.ParametricExerciseAdapter.ParametricExerciseAdapter (constQuantLib::MarketModelParametricExercise&,conststd::vector <std::vector<Real>>&)
OneFactorStudentCopula(constHandle<QuantLib::Quote>&,int,int,Real,Size )1 method0 typeQuantLib.OneFactorStudentCopula.OneFactorStudentCopula(constHandle <QuantLib::Quote>&,int,int,Real,Size)
OneFactorGaussianStudentCopula(constHandle<QuantLib::Quote>&,int,Real ,Size)1 method0 typeQuantLib.OneFactorGaussianStudentCopula.OneFactorGaussianStudentCopula (constHandle<QuantLib::Quote>&,int,Real,Size)
OneFactorStudentGaussianCopula(constHandle<QuantLib::Quote>&,int,Real ,Size)1 method0 typeQuantLib.OneFactorStudentGaussianCopula.OneFactorStudentGaussianCopula (constHandle<QuantLib::Quote>&,int,Real,Size)
SmileSectionUtils(constQuantLib::SmileSection&,conststd::vector<Real>& ,constReal,constbool)4 methods0 typeQuantLib.SmileSectionUtils.SmileSectionUtils (constQuantLib::SmileSection&,conststd::vector<Real>&,constReal ,constbool)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)2 methods0 typeQuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)1 method0 typeQuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)
ValueEstimate(conststd::vector<NodeData>& ,constQuantLib::ParametricExercise&,Size)1 method0 typeQuantLib.anonymous_namespace{parametricexercise.cpp}.ValueEstimate .ValueEstimate(conststd::vector<NodeData>& ,constQuantLib::ParametricExercise&,Size)
PriceError(constQuantLib::PricingEngine&,QuantLib::SimpleQuote&,Real)1 method0 typeQuantLib.anonymous_namespace{impliedvolatility.cpp}.PriceError .PriceError(constQuantLib::PricingEngine&,QuantLib::SimpleQuote&,Real)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

13 fields matched

fieldsassignedByFull Name
one1 methodQuantLib.ErrorFunction.one
pp01 methodQuantLib.ErrorFunction.pp0
pa01 methodQuantLib.ErrorFunction.pa0
ra01 methodQuantLib.ErrorFunction.ra0
rb01 methodQuantLib.ErrorFunction.rb0
a3_1 methodQuantLib.MoroInverseCumulativeNormal.a3_
c0_1 methodQuantLib.MoroInverseCumulativeNormal.c0_
N2 methodsQuantLib.MersenneTwisterUniformRng.N
bits_1 methodQuantLib.SobolRsg.bits_
KK2 methodsQuantLib.KnuthUniformRng.KK
LL2 methodsQuantLib.KnuthUniformRng.LL
TT1 methodQuantLib.KnuthUniformRng.TT
maxRandom1 methodQuantLib.LecuyerUniformRng.maxRandom

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

34 types matched

typesmethodsAndGettersFull Name
InterestRateIndex15 methodsQuantLib.InterestRateIndex
CPIVolatilitySurface15 methodsQuantLib.CPIVolatilitySurface
Instrument13 methodsQuantLib.Instrument
Coupon17 methodsQuantLib.Coupon
Index11 methodsQuantLib.Index
TermStructure11 methodsQuantLib.TermStructure
YieldTermStructure12 methodsQuantLib.YieldTermStructure
InflationTermStructure11 methodsQuantLib.InflationTermStructure
InflationIndex13 methodsQuantLib.InflationIndex
Interpolation+Impl12 methodsQuantLib.Interpolation+Impl
YoYOptionletVolatilitySurface17 methodsQuantLib.YoYOptionletVolatilitySurface
StochasticProcess13 methodsQuantLib.StochasticProcess
StochasticProcess1D17 methodsQuantLib.StochasticProcess1D
BlackVolTermStructure12 methodsQuantLib.BlackVolTermStructure
Interpolation2D+Impl14 methodsQuantLib.Interpolation2D+Impl
CPICapFloorTermPriceSurface24 methodsQuantLib.CPICapFloorTermPriceSurface
SwaptionVolatilityStructure21 methodsQuantLib.SwaptionVolatilityStructure
DiscretizedAsset16 methodsQuantLib.DiscretizedAsset
SmileSection18 methodsQuantLib.SmileSection
HaganPricer11 methodsQuantLib.HaganPricer
DefaultProbabilityTermStructure16 methodsQuantLib.DefaultProbabilityTermStructure
Forward12 methodsQuantLib.Forward
CurveState16 methodsQuantLib.CurveState
MarketModel12 methodsQuantLib.MarketModel
MarketModelPathwiseMultiProduct11 methodsQuantLib.MarketModelPathwiseMultiProduct
CTSMMCapletCalibration19 methodsQuantLib.CTSMMCapletCalibration
JointStochasticProcess18 methodsQuantLib.JointStochasticProcess
LmCorrelationModel11 methodsQuantLib.LmCorrelationModel
CallableBondVolatilityStructure17 methodsQuantLib.CallableBondVolatilityStructure
OneFactorCopula15 methodsQuantLib.OneFactorCopula
RiskyBond15 methodsQuantLib.RiskyBond
Gaussian1dModel16 methodsQuantLib.Gaussian1dModel
FFTEngine11 methodsQuantLib.FFTEngine
YoYCapFloorTermPriceSurface24 methodsQuantLib.YoYCapFloorTermPriceSurface

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

030
Design  

warningCritical    Rule warning: Type should not have too many responsibilities
// <Name>Type should not have too many responsibilities</Name>
// Types using more than 8 different application namespaces 
// are considered as having too many responsabilities.
warnif count > 0 

from t in JustMyCode.Types 
let applicationTypesUsed = t.TypesUsed.ExceptThirdParty().ToList()
let applicationNamespacesUsed = applicationTypesUsed.ParentNamespaces().ToList()
where applicationNamespacesUsed.Count > 8

// Use an empiric formula to sort by degree of responsabilities
let responsabilitiesMetric = (10 * applicationNamespacesUsed.Count + applicationTypesUsed.Count)/10
orderby responsabilitiesMetric descending

select new { t, applicationNamespacesUsed, applicationTypesUsed, responsabilitiesMetric } 


2 types matched

typesapplicationNamespacesUsedapplicationTypesUsedresponsabilitiesMetricFull Name
__Globals10 namespaces398 types49__Globals
__Globals11 namespaces102 types21QuantLib.__Globals

Statistics

Stat   applicationNamespacesUsed   applicationTypesUsed   responsabilitiesMetric
Sum:0070
Average:0035
Minimum:0021
Maximum:0049
Standard deviation:0014
Variance:00196
warningCritical    Rule warning: Avoid namespaces with few types
// <Name>Avoid namespaces with few types</Name>
warnif count > 0 from n in JustMyCode.Namespaces 
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where 
  
types.Count() < 5 
  
orderby types.Count() ascending
select new { n, types } 

// Make sure that there is a logical organization 
// to each of your namespaces, and that there is a 
// valid reason for putting types in a sparsely 
// populated namespace. Namespaces should contain 
// types that are used together in most scenarios. 
// When their applications are mutually exclusive, 
// types should be located in separate namespaces

88 namespaces matched

namespacestypesFull Name
1 type
QuantLib.io1 typeQuantLib.io
QuantLib.MINPACK1 typeQuantLib.MINPACK
QuantLib.ForwardForwardMappings1 typeQuantLib.ForwardForwardMappings
QuantLib.anonymous_namespace{fdsimpleextoustorageengine.cpp}1 typeQuantLib.anonymous_namespace{fdsimpleextoustorageengine.cpp}
QuantLib.anonymous_namespace{fdsimpleklugeextouvppengine.cpp}1 typeQuantLib.anonymous_namespace{fdsimpleklugeextouvppengine.cpp}
QuantLib.anonymous_namespace{vanillavppoption.cpp}1 typeQuantLib.anonymous_namespace{vanillavppoption.cpp}
QuantLib.anonymous_namespace{vanillaswingoption.cpp}1 typeQuantLib.anonymous_namespace{vanillaswingoption.cpp}
QuantLib.anonymous_namespace{differentialevolution.cpp}1 typeQuantLib.anonymous_namespace{differentialevolution.cpp}
QuantLib.anonymous_namespace{richardsonextrapolation.cpp}1 typeQuantLib.anonymous_namespace{richardsonextrapolation.cpp}
QuantLib.anonymous_namespace{fdmmeshercomposite.cpp}1 typeQuantLib.anonymous_namespace{fdmmeshercomposite.cpp}
QuantLib.anonymous_namespace{parametricexercise.cpp}1 typeQuantLib.anonymous_namespace{parametricexercise.cpp}
QuantLib.anonymous_namespace{couponpricer.cpp}1 typeQuantLib.anonymous_namespace{couponpricer.cpp}
QuantLib.anonymous_namespace{overnightindexedcoupon.cpp}1 typeQuantLib.anonymous_namespace{overnightindexedcoupon.cpp}
QuantLib.anonymous_namespace{bmaindex.cpp}1 typeQuantLib.anonymous_namespace{bmaindex.cpp}
QuantLib.anonymous_namespace{euribor.cpp}1 typeQuantLib.anonymous_namespace{euribor.cpp}
QuantLib.anonymous_namespace{eurlibor.cpp}1 typeQuantLib.anonymous_namespace{eurlibor.cpp}
QuantLib.anonymous_namespace{libor.cpp}1 typeQuantLib.anonymous_namespace{libor.cpp}
QuantLib.anonymous_namespace{capfloor.cpp}1 typeQuantLib.anonymous_namespace{capfloor.cpp}
QuantLib.anonymous_namespace{creditdefaultswap.cpp}1 typeQuantLib.anonymous_namespace{creditdefaultswap.cpp}
QuantLib.anonymous_namespace{impliedvolatility.cpp}1 typeQuantLib.anonymous_namespace{impliedvolatility.cpp}
QuantLib.anonymous_namespace{swaption.cpp}1 typeQuantLib.anonymous_namespace{swaption.cpp}
QuantLib.anonymous_namespace{factorial.cpp}1 typeQuantLib.anonymous_namespace{factorial.cpp}
QuantLib.anonymous_namespace{primenumbers.cpp}1 typeQuantLib.anonymous_namespace{primenumbers.cpp}
QuantLib.anonymous_namespace{histogram.cpp}1 typeQuantLib.anonymous_namespace{histogram.cpp}
QuantLib.anonymous_namespace{basisincompleteordered.cpp}1 typeQuantLib.anonymous_namespace{basisincompleteordered.cpp}
QuantLib.anonymous_namespace{svd.cpp}1 typeQuantLib.anonymous_namespace{svd.cpp}
QuantLib.anonymous_namespace{latticerules.cpp}1 typeQuantLib.anonymous_namespace{latticerules.cpp}
QuantLib.anonymous_namespace{sobolrsg.cpp}1 typeQuantLib.anonymous_namespace{sobolrsg.cpp}
QuantLib.anonymous_namespace{simplex.cpp}1 typeQuantLib.anonymous_namespace{simplex.cpp}
QuantLib.anonymous_namespace{spherecylinder.cpp}1 typeQuantLib.anonymous_namespace{spherecylinder.cpp}
QuantLib.anonymous_namespace{model.cpp}1 typeQuantLib.anonymous_namespace{model.cpp}
QuantLib.anonymous_namespace{sobolbrowniangenerator.cpp}1 typeQuantLib.anonymous_namespace{sobolbrowniangenerator.cpp}
QuantLib.anonymous_namespace{alphafinder.cpp}1 typeQuantLib.anonymous_namespace{alphafinder.cpp}
QuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp}1 typeQuantLib.anonymous_namespace{capletcoterminalmaxhomogeneity.cpp}
QuantLib.anonymous_namespace{upperboundengine.cpp}1 typeQuantLib.anonymous_namespace{upperboundengine.cpp}
QuantLib.anonymous_namespace{swaptionpseudojacobian.cpp}1 typeQuantLib.anonymous_namespace{swaptionpseudojacobian.cpp}
QuantLib.anonymous_namespace{yieldtermstructure.cpp}1 typeQuantLib.anonymous_namespace{yieldtermstructure.cpp}
QuantLib.anonymous_namespace{bondhelpers.cpp}1 typeQuantLib.anonymous_namespace{bondhelpers.cpp}
QuantLib.anonymous_namespace{oisratehelper.cpp}1 typeQuantLib.anonymous_namespace{oisratehelper.cpp}
QuantLib.anonymous_namespace{ratehelpers.cpp}1 typeQuantLib.anonymous_namespace{ratehelpers.cpp}
QuantLib.anonymous_namespace{inflationhelpers.cpp}1 typeQuantLib.anonymous_namespace{inflationhelpers.cpp}
QuantLib.anonymous_namespace{defaultprobabilityhelpers.cpp}1 typeQuantLib.anonymous_namespace{defaultprobabilityhelpers.cpp}
QuantLib.anonymous_namespace{exchangeratemanager.cpp}1 typeQuantLib.anonymous_namespace{exchangeratemanager.cpp}
QuantLib.anonymous_namespace{hestonprocess.cpp}1 typeQuantLib.anonymous_namespace{hestonprocess.cpp}
QuantLib.anonymous_namespace{stulzengine.cpp}1 typeQuantLib.anonymous_namespace{stulzengine.cpp}
QuantLib.anonymous_namespace{analyticbsmhullwhiteengine.cpp}1 typeQuantLib.anonymous_namespace{analyticbsmhullwhiteengine.cpp}
QuantLib.anonymous_namespace{analyticgjrgarchengine.cpp}1 typeQuantLib.anonymous_namespace{analyticgjrgarchengine.cpp}
QuantLib.anonymous_namespace{bjerksundstenslandengine.cpp}1 typeQuantLib.anonymous_namespace{bjerksundstenslandengine.cpp}
QuantLib.anonymous_namespace{integralengine.cpp}1 typeQuantLib.anonymous_namespace{integralengine.cpp}
QuantLib.anonymous_namespace{discretizedswaption.cpp}1 typeQuantLib.anonymous_namespace{discretizedswaption.cpp}
QuantLib.anonymous_namespace{period.cpp}1 typeQuantLib.anonymous_namespace{period.cpp}
QuantLib.anonymous_namespace{schedule.cpp}1 typeQuantLib.anonymous_namespace{schedule.cpp}
QuantLib.anonymous_namespace{business252.cpp}1 typeQuantLib.anonymous_namespace{business252.cpp}
QuantLib.anonymous_namespace{simpledaycounter.cpp}1 typeQuantLib.anonymous_namespace{simpledaycounter.cpp}
QuantLib.anonymous_namespace{discretizedcallablefixedratebond.cpp}1 typeQuantLib.anonymous_namespace{discretizedcallablefixedratebond.cpp}
QuantLib.anonymous_namespace{catrisk.cpp}1 typeQuantLib.anonymous_namespace{catrisk.cpp}
QuantLib.anonymous_namespace{cdsoption.cpp}1 typeQuantLib.anonymous_namespace{cdsoption.cpp}
QuantLib.anonymous_namespace{issuer.cpp}1 typeQuantLib.anonymous_namespace{issuer.cpp}
QuantLib.anonymous_namespace{randomdefaultmodel.cpp}1 typeQuantLib.anonymous_namespace{randomdefaultmodel.cpp}
QuantLib.anonymous_namespace{riskyassetswap.cpp}1 typeQuantLib.anonymous_namespace{riskyassetswap.cpp}
QuantLib.anonymous_namespace{irregularswaption.cpp}1 typeQuantLib.anonymous_namespace{irregularswaption.cpp}
QuantLib.anonymous_namespace{analyticvariancegammaengine.cpp}1 typeQuantLib.anonymous_namespace{analyticvariancegammaengine.cpp}
QuantLib.anonymous_namespace{quantity.cpp}1 typeQuantLib.anonymous_namespace{quantity.cpp}
QuantLib.anonymous_namespace{unitofmeasureconversionmanager.cpp}1 typeQuantLib.anonymous_namespace{unitofmeasureconversionmanager.cpp}
QuantLib.anonymous_namespace{amortizingfixedratebond.cpp}1 typeQuantLib.anonymous_namespace{amortizingfixedratebond.cpp}
QuantLib.anonymous_namespace{convertiblebond.cpp}1 typeQuantLib.anonymous_namespace{convertiblebond.cpp}
QuantLib.anonymous_namespace{yoyoptionlethelpers.cpp}1 typeQuantLib.anonymous_namespace{yoyoptionlethelpers.cpp}
QuantLib.anonymous_namespace{expm.cpp}1 typeQuantLib.anonymous_namespace{expm.cpp}
QuantLib.anonymous_namespace{zigguratrng.cpp}1 typeQuantLib.anonymous_namespace{zigguratrng.cpp}
QuantLib.anonymous_namespace{money.cpp}1 typeQuantLib.anonymous_namespace{money.cpp}
anonymous_namespace{blackformula.cpp}1 typeanonymous_namespace{blackformula.cpp}
anonymous_namespace{perturbativebarrieroptionengine.cpp}1 typeanonymous_namespace{perturbativebarrieroptionengine.cpp}
anonymous_namespace{errors.cpp}1 typeanonymous_namespace{errors.cpp}
boost1 typeboost
QuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp}2 typesQuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp}
QuantLib.anonymous_namespace{averagebmacoupon.cpp}2 typesQuantLib.anonymous_namespace{averagebmacoupon.cpp}
QuantLib.anonymous_namespace{conundrumpricer.cpp}2 typesQuantLib.anonymous_namespace{conundrumpricer.cpp}
QuantLib.anonymous_namespace{bivariatenormaldistribution.cpp}2 typesQuantLib.anonymous_namespace{bivariatenormaldistribution.cpp}
QuantLib.anonymous_namespace{pseudosqrt.cpp}2 typesQuantLib.anonymous_namespace{pseudosqrt.cpp}
QuantLib.anonymous_namespace{defaultdensitystructure.cpp}2 typesQuantLib.anonymous_namespace{defaultdensitystructure.cpp}
QuantLib.anonymous_namespace{hazardratestructure.cpp}2 typesQuantLib.anonymous_namespace{hazardratestructure.cpp}
QuantLib.anonymous_namespace{analyticpdfhestonengine.cpp}2 typesQuantLib.anonymous_namespace{analyticpdfhestonengine.cpp}
anonymous_namespace{integralhestonvarianceoptionengine.cpp}2 typesanonymous_namespace{integralhestonvarianceoptionengine.cpp}
QuantLib.anonymous_namespace{lsmbasissystem.cpp}3 typesQuantLib.anonymous_namespace{lsmbasissystem.cpp}
QuantLib.anonymous_namespace{cashflows.cpp}4 typesQuantLib.anonymous_namespace{cashflows.cpp}
QuantLib.anonymous_namespace{modifiedbessel.cpp}4 typesQuantLib.anonymous_namespace{modifiedbessel.cpp}
QuantLib.anonymous_namespace{generalizedhullwhite.cpp}4 typesQuantLib.anonymous_namespace{generalizedhullwhite.cpp}

Statistics

Stat   types
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Nested types should not be visible
// <Name>Nested types should not be visible</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsNested && 
 
!t.IsGeneratedByCompiler &&
 
!t.IsPrivate 
select new { t, t.NbLinesOfCode, t.Visibility } 


// A nested type is a type declared within the 
// scope of another type. Nested types are useful 
// for encapsulating private implementation details 
// of the containing type. Used for this purpose, 
// nested types should not be externally visible. 
// Do not use externally visible nested types for 
// logical grouping or to avoid name collisions; 
// instead, use namespaces.

315 types matched

types# lines of code (LOC)VisibilityFull Name
DateGeneration+RuleN/APublicQuantLib.DateGeneration+Rule
Replication+TypeN/APublicQuantLib.Replication+Type
Position+TypeN/APublicQuantLib.Position+Type
Thirty360+ConventionN/APublicQuantLib.Thirty360+Convention
CPI+InterpolationTypeN/APublicQuantLib.CPI+InterpolationType
PricingEngine+arguments0PublicQuantLib.PricingEngine+arguments
PricingEngine+results0PublicQuantLib.PricingEngine+results
Instrument+results2PublicQuantLib.Instrument+results
Option+TypeN/APublicQuantLib.Option+Type
Option+arguments0PublicQuantLib.Option+arguments
DayCounter+Impl1ProtectedQuantLib.DayCounter+Impl
Handle<T>+Link1PublicQuantLib.Handle<T>+Link
Calendar+Impl0ProtectedQuantLib.Calendar+Impl
Calendar+WesternImpl3ProtectedQuantLib.Calendar+WesternImpl
Calendar+OrthodoxImpl3ProtectedQuantLib.Calendar+OrthodoxImpl
TimeSeries<T,Container,>+reverse3PublicQuantLib.TimeSeries<T,Container,>+reverse
TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>3PublicQuantLib.TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>
Region+Data2ProtectedQuantLib.Region+Data
Rounding+TypeN/APublicQuantLib.Rounding+Type
Currency+Data9ProtectedQuantLib.Currency+Data
Interpolation+Impl0ProtectedQuantLib.Interpolation+Impl
Interpolation+templateImpl21PublicQuantLib.Interpolation+templateImpl
Exercise+TypeN/APublicQuantLib.Exercise+Type
CurveDependentStepCondition<array_type>+CurveWrapper0ProtectedQuantLib.CurveDependentStepCondition<array_type>+CurveWrapper
CurveDependentStepCondition<array_type>+ArrayWrapper2ProtectedQuantLib.CurveDependentStepCondition<array_type>+ArrayWrapper
CurveDependentStepCondition<array_type>+PayoffWrapper1ProtectedQuantLib.CurveDependentStepCondition<array_type>+PayoffWrapper
MultiAssetOption+results2PublicQuantLib.MultiAssetOption+results
MultiAssetOption+engine0PublicQuantLib.MultiAssetOption+engine
VanillaVPPOption+arguments2PublicQuantLib.VanillaVPPOption+arguments
StochasticProcess+discretization0PublicQuantLib.StochasticProcess+discretization
StochasticProcess1D+discretization0PublicQuantLib.StochasticProcess1D+discretization
ExtendedOrnsteinUhlenbeckProcess+DiscretizationN/APublicQuantLib.ExtendedOrnsteinUhlenbeckProcess+Discretization
TridiagonalOperator+TimeSetter0PublicQuantLib.TridiagonalOperator+TimeSetter
BoundaryCondition<Operator>+SideN/APublicQuantLib.BoundaryCondition<Operator>+Side
FdmSchemeDesc+FdmSchemeTypeN/APublicQuantLib.FdmSchemeDesc+FdmSchemeType
OneAssetOption+results3PublicQuantLib.OneAssetOption+results
OneAssetOption+engine0PublicQuantLib.OneAssetOption+engine
BasketOption+engine0PublicQuantLib.BasketOption+engine
HestonProcess+DiscretizationN/APublicQuantLib.HestonProcess+Discretization
VanillaSwingOption+arguments2PublicQuantLib.VanillaSwingOption+arguments
VanillaStorageOption+arguments6PublicQuantLib.VanillaStorageOption+arguments
ActualActual+ConventionN/APublicQuantLib.ActualActual+Convention
CPICapFloor+arguments0PublicQuantLib.CPICapFloor+arguments
CPICapFloor+results1PublicQuantLib.CPICapFloor+results
CPICapFloor+engine0PublicQuantLib.CPICapFloor+engine
Interpolation2D+Impl0ProtectedQuantLib.Interpolation2D+Impl
Interpolation2D+templateImpl42PublicQuantLib.Interpolation2D+templateImpl
CubicInterpolation+DerivativeApproxN/APublicQuantLib.CubicInterpolation+DerivativeApprox
CubicInterpolation+BoundaryConditionN/APublicQuantLib.CubicInterpolation+BoundaryCondition
SobolRsg+DirectionIntegersN/APublicQuantLib.SobolRsg+DirectionIntegers
GenericPseudoRandom<URNG,IC>+AnonymousEnumN/APublicQuantLib.GenericPseudoRandom<URNG,IC>+AnonymousEnum
GenericLowDiscrepancy<URSG,IC>+AnonymousEnumN/APublicQuantLib.GenericLowDiscrepancy<URSG,IC>+AnonymousEnum
Duration+TypeN/APublicQuantLib.Duration+Type
Bond+arguments1PublicQuantLib.Bond+arguments
Bond+results2PublicQuantLib.Bond+results
Bond+engine0PublicQuantLib.Bond+engine
Swap+arguments0PublicQuantLib.Swap+arguments
Swap+results6PublicQuantLib.Swap+results
Swap+engine0PublicQuantLib.Swap+engine
CPISwap+TypeN/APublicQuantLib.CPISwap+Type
CPISwap+arguments3PublicQuantLib.CPISwap+arguments
CPISwap+results3PublicQuantLib.CPISwap+results
CPISwap+engine0PublicQuantLib.CPISwap+engine
Barrier+TypeN/APublicQuantLib.Barrier+Type
BarrierOption+arguments16PublicQuantLib.BarrierOption+arguments
BarrierOption+engine0PublicQuantLib.BarrierOption+engine
DividendBarrierOption+arguments2PublicQuantLib.DividendBarrierOption+arguments
DividendBarrierOption+engine0PublicQuantLib.DividendBarrierOption+engine
Constraint+Impl2ProtectedQuantLib.Constraint+Impl
CompositeConstraint+Impl12PublicQuantLib.CompositeConstraint+Impl
NonhomogeneousBoundaryConstraint+Impl1PublicQuantLib.NonhomogeneousBoundaryConstraint+Impl
EndCriteria+TypeN/APublicQuantLib.EndCriteria+Type
DifferentialEvolution+StrategyN/APublicQuantLib.DifferentialEvolution+Strategy
DifferentialEvolution+CrossoverTypeN/APublicQuantLib.DifferentialEvolution+CrossoverType
DifferentialEvolution+Candidate1PublicQuantLib.DifferentialEvolution+Candidate
DifferentialEvolution+Configuration29PublicQuantLib.DifferentialEvolution+Configuration
SobolBrownianGenerator+OrderingN/APublicQuantLib.SobolBrownianGenerator+Ordering
FdmBatesOp+IntegroIntegrand2PublicQuantLib.FdmBatesOp+IntegroIntegrand
Parameter+Impl0ProtectedQuantLib.Parameter+Impl
TermStructureFittingParameter+NumericalImpl11PublicQuantLib.TermStructureFittingParameter+NumericalImpl
CalibrationHelper+CalibrationErrorTypeN/APublicQuantLib.CalibrationHelper+CalibrationErrorType
CalibratedModel+PrivateConstraint0PublicQuantLib.CalibratedModel+PrivateConstraint
TrinomialTree+BranchesN/APublicQuantLib.TrinomialTree+Branches
TwoFactorModel+ShortRateDynamics0PublicQuantLib.TwoFactorModel+ShortRateDynamics
TwoFactorModel+ShortRateTree6PublicQuantLib.TwoFactorModel+ShortRateTree
VanillaSwap+TypeN/APublicQuantLib.VanillaSwap+Type
VanillaSwap+arguments19PublicQuantLib.VanillaSwap+arguments
VanillaSwap+results3PublicQuantLib.VanillaSwap+results
VanillaSwap+engine0PublicQuantLib.VanillaSwap+engine
Settlement+TypeN/APublicQuantLib.Settlement+Type
Swaption+arguments2PublicQuantLib.Swaption+arguments
Swaption+engine0PublicQuantLib.Swaption+engine
G2+Dynamics0PublicQuantLib.G2+Dynamics
G2+FittingParameter0PublicQuantLib.G2+FittingParameter
OneFactorModel+ShortRateDynamics0PublicQuantLib.OneFactorModel+ShortRateDynamics
OneFactorModel+ShortRateTree2PublicQuantLib.OneFactorModel+ShortRateTree
Vasicek+Dynamics3PublicQuantLib.Vasicek+Dynamics
HullWhite+Dynamics0PublicQuantLib.HullWhite+Dynamics
HullWhite+FittingParameter0PublicQuantLib.HullWhite+FittingParameter
LsmBasisSystem+PolynomTypeN/APublicQuantLib.LsmBasisSystem+PolynomType

Statistics

Stat   # lines of code (LOC)   Visibility
Sum:1 2710
Average:5.910
Minimum:00
Maximum:990
Standard deviation:11.880
Variance:141.150

420
Architecture and Layering  

warningCritical    Rule warning: Avoid namespaces mutually dependent
// <Name>Avoid namespaces mutually dependent</Name>
warnif count > 0
// Foreach pair of namespace mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first namespace shouldn't use the second namespace.
// The first/second order is inferred from the number of types used by each other.
// The first namespace is using less types of the second.
// It means that the first namespace is certainly at a lower level in the architecture, than the second.
// To explore the coupling between the two namespaces, you can export:
//  - typesOfFirstUsedBySecond to the vertical header of the dependency matrix
//  - typesOfSecondUsedByFirst to the horizontal header of the dependency matrix
//
// Following these advices is useful to avoid namespaces dependency cycles.
// More on this in our white books relative to partitionning code.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects.Where(a => a.ContainsNamespaceDependencyCycle != null && a.ContainsNamespaceDependencyCycle.Value)

// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<INamespace>()

// Optimization: restreint namespaces set
// If a namespace doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

from nA in namespacesSuspect

// Select namespaces mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let namespacesMutuallyDependentWith_nA = nA.NamespacesUsed.Using(nA)
          
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A 
where namespacesMutuallyDependentWith_nA.Count() > 0

from nB in namespacesMutuallyDependentWith_nA

// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first namespace is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }

26 namespaces matched

namespacesshouldntUsetypesOfFirstUsedBySecondtypesOfSecondUsedByFirstFull Name
QuantLib0 type0 type
QuantLibQuantLib.anonymous_namespace{schedule.cpp}0 type0 typeQuantLib
QuantLibQuantLib.detail42 types2 typesQuantLib
QuantLibQuantLib.io0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{parametricexercise.cpp}5 types0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{couponpricer.cpp}12 types0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{modifiedbessel.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{pseudosqrt.cpp}4 types0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{period.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{quantity.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{money.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{vanillaswingoption.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{bmaindex.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{euribor.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{eurlibor.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{libor.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{capfloor.cpp}5 types1 typeQuantLib
QuantLibQuantLib.anonymous_namespace{creditdefaultswap.cpp}4 types1 typeQuantLib
QuantLibQuantLib.anonymous_namespace{simplex.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{upperboundengine.cpp}6 types1 typeQuantLib
QuantLibQuantLib.anonymous_namespace{simpledaycounter.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{business252.cpp}0 type0 typeQuantLib
QuantLibQuantLib.anonymous_namespace{cdsoption.cpp}6 types1 typeQuantLib
QuantLibQuantLib.anonymous_namespace{analyticvariancegammaengine.cpp}3 types1 typeQuantLib
QuantLibQuantLib.anonymous_namespace{unitofmeasureconversionmanager.cpp}0 type0 typeQuantLib
QuantLib.detailQuantLib.io0 type0 typeQuantLib.detail

Statistics

Stat   shouldntUse   typesOfFirstUsedBySecond   typesOfSecondUsedByFirst
Sum:000
Average:000
Minimum:000
Maximum:000
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces dependency cycles
// <Name>Avoid namespaces dependency cycles</Name>
warnif count > 0
// This query lists all application namespaces dependency cyles.
// Each row shows a different cycle, prefixed with a namespace entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export namespaces matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
//   --> Display Direct and Indirect Dependencies
//
// Read our white books relative to partitionning code, 
// to know more about namespaces dependency cycles, and why avoiding them 
// is a simple but efficient solution to architecture well your code base.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects
                 
.Where(a => a.ContainsNamespaceDependencyCycle != null && 
                             
a.ContainsNamespaceDependencyCycle.Value)

// Optimization: restreint namespaces set
// A namespace involved in a cycle necessarily have a null Level.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

// hashset is used to avoid iterating again on namespaces already caught in a cycle.
let hashset = new HashSet<INamespace>()


from suspect in namespacesSuspect
   
// By commenting this line, the query matches all namespaces involved in a cycle.
   where !hashset.Contains(suspect)

   
// Define 2 code metrics
   // - Namespaces depth of is using indirectly the suspect namespace.
   // - Namespaces depth of is used by the suspect namespace indirectly.
   // Note: for direct usage the depth is equal to 1.
   let namespacesUserDepth = namespacesSuspect.DepthOfIsUsing(suspect)
   
let namespacesUsedDepth = namespacesSuspect.DepthOfIsUsedBy(suspect)

   
// Select namespaces that are both using and used by namespaceSuspect
   let usersAndUsed = from n in namespacesSuspect where 
                         
namespacesUserDepth[n] > 0 && 
                         
namespacesUsedDepth[n] > 0 
                      
select n

   
where usersAndUsed.Count() > 0

   
// Here we've found namespace(s) both using and used by the suspect namespace.
   // A cycle involving the suspect namespace is found!
   let cycle = usersAndUsed.Concat(new[] { suspect  })

   
// Fill hashset with namespaces in the cycle.
   // .ToArray() is needed to force the iterating process.
   let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()

select new { suspect, cycle }

1 namespaces matched

namespacecycleFull Name
34 namespaces

Statistics

Stat   cycle
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Best Practices  

warningCritical    Rule warning: Avoid overusing of dynamic_cast

        
// <Name>Avoid overusing of dynamic_cast</Name>
        warnif count > 5  (from m in Methods where m.IsUsing ("Keywords.dynamic_cast")
        
select new { m, m.NbLinesOfCode }).Take(10)
        
//Overusing of dynamic_cast can be an indicator of bad design
        

10 methods matched

methods# lines of code (LOC)Full Name
accept(QuantLib::AcyclicVisitor&)5__Globals.accept(QuantLib::AcyclicVisitor&)
setupArguments(PricingEngine::arguments*)6__Globals.setupArguments(PricingEngine::arguments*)
accept(QuantLib::AcyclicVisitor&)5__Globals.accept(QuantLib::AcyclicVisitor&)
controlVariateValue()9__Globals.controlVariateValue()
controlVariateValue()12__Globals.controlVariateValue()
accept(QuantLib::AcyclicVisitor&)5QuantLib.FixedRateCoupon.accept(QuantLib::AcyclicVisitor&)
accept(QuantLib::AcyclicVisitor&)5QuantLib.IndexedCashFlow.accept(QuantLib::AcyclicVisitor&)
accept(QuantLib::AcyclicVisitor&)5QuantLib.CPICoupon.accept(QuantLib::AcyclicVisitor&)
initialize(constQuantLib::InflationCoupon&)6QuantLib.CPICouponPricer.initialize(constQuantLib::InflationCoupon&)
accept(QuantLib::AcyclicVisitor&)5QuantLib.Event.accept(QuantLib::AcyclicVisitor&)

Statistics

Stat   # lines of code (LOC)
Sum:63
Average:6.3
Minimum:5
Maximum:12
Standard deviation:2.24
Variance:5.01
warningCritical    Rule warning: Avoid using goto keyword

        
// <Name>Avoid using goto keyword</Name>
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.goto")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

5 methods matched

methods# lines of code (LOC)Full Name
operator()(Real)42QuantLib.NonCentralChiSquareDistribution.operator()(Real)
qrsolv(int,double*,int,int*,double*,double*,double*,double*,double*)76QuantLib.MINPACK.__Globals.qrsolv(int,double*,int,int*,double*,double* ,double*,double*,double*)
qrfac(int,int,double*,int,int,int*,int,double*,double*,double*)77QuantLib.MINPACK.__Globals.qrfac(int,int,double*,int,int,int*,int ,double*,double*,double*)
lmpar(int,double*,int,int*,double*,double*,double,double*,double* ,double*,double*,double*)115QuantLib.MINPACK.__Globals.lmpar(int,double*,int,int*,double*,double* ,double,double*,double*,double*,double*,double*)
lmdif(int,int,double*,double*,double,double,double,int,double,double* ,int,double,int,int*,int*,double*,int,int*,double*,double*,double* ,double*,double*,constint&)174QuantLib.MINPACK.__Globals.lmdif(int,int,double*,double*,double,double ,double,int,double,double*,int,double,int,int*,int*,double*,int,int* ,double*,double*,double*,double*,double*,constint&)

Statistics

Stat   # lines of code (LOC)
Sum:484
Average:96.8
Minimum:42
Maximum:174
Standard deviation:44.99
Variance:2 023

110
Constness  

  • 1 validated Rule(s)
  • 1 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)
warningCritical    Rule warning: Use const_cast carrefully

          
// <Name>Use const_cast carrefully</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.const_cast")
          
select new { m, m.NbLinesOfCode }).Take(10)
          

4 methods matched

methods# lines of code (LOC)Full Name
Disposable<T>(constDisposable<T>&)1QuantLib.Disposable<T>.Disposable<T>(constDisposable<T>&)
operator=(constDisposable<T>&)2QuantLib.Disposable<T>.operator=(constDisposable<T>&)
FdmLinearOpIterator(constDisposable<QuantLib::FdmLinearOpIterator>&)1QuantLib.FdmLinearOpIterator.FdmLinearOpIterator(constDisposable <QuantLib::FdmLinearOpIterator>&)
calculate()59QuantLib.IterativeBootstrap<Curve>.calculate()

Statistics

Stat   # lines of code (LOC)
Sum:63
Average:15.75
Minimum:1
Maximum:59
Standard deviation:24.97
Variance:623.69

110
Exception  

warningCritical    Rule warning: Avoid using Generic Catch(...)

          
// <Name>Avoid using Generic Catch(...)</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.generic_catch")
          
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
bucketAnalysis(std::vector<Real>&,std::vector<Real>&,std::vector<Real >&,Handle<QuantLib::SimpleQuote>,conststd::vector<Handle<Quote>>&,Real ,QuantLib::SensitivityAnalysis)40QuantLib.__Globals.bucketAnalysis(std::vector<Real>&,std::vector<Real >&,std::vector<Real>&,Handle<QuantLib::SimpleQuote>,conststd::vector <Handle<Quote>>&,Real,QuantLib::SensitivityAnalysis)
parallelAnalysis(constvector<Handle<QuantLib::SimpleQuote>>&,constint)8QuantLib.__Globals.parallelAnalysis(constvector<Handle <QuantLib::SimpleQuote>>&,constint)
bucketAnalysis(Handle<QuantLib::SimpleQuote>,constint)7QuantLib.__Globals.bucketAnalysis(Handle<QuantLib::SimpleQuote> ,constint)
notifyObservers()12QuantLib.Observable.notifyObservers()
recalculate()10QuantLib.LazyObject.recalculate()
calculate()7QuantLib.LazyObject.calculate()
isValid()5QuantLib.RendistatoEquivalentSwapLengthQuote.isValid()
isValid()5QuantLib.RendistatoEquivalentSwapSpreadQuote.isValid()
isValid()6QuantLib.ForwardSwapQuote.isValid()
strikeFromVegaRatio(Real,Option::Type,Real)13QuantLib.LinearTsrPricer.strikeFromVegaRatio(Real,Option::Type,Real)

Statistics

Stat   # lines of code (LOC)
Sum:113
Average:11.3
Minimum:5
Maximum:40
Standard deviation:9.92
Variance:98.41

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

576 types matched

typesFull Name
NullCalendar+ImplQuantLib.NullCalendar+Impl
DateGenerationQuantLib.DateGeneration
FixedRateCouponQuantLib.FixedRateCoupon
ReplicationQuantLib.Replication
PositionQuantLib.Position
OvernightIndexedSwapIndexQuantLib.OvernightIndexedSwapIndex
CPIQuantLib.CPI
earlier_than<QuantLib::CashFlow>QuantLib.earlier_than<QuantLib::CashFlow>
Handle<T>+LinkQuantLib.Handle<T>+Link
TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>QuantLib.TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>
CustomRegionQuantLib.CustomRegion
AustraliaRegionQuantLib.AustraliaRegion
EURegionQuantLib.EURegion
FranceRegionQuantLib.FranceRegion
UKRegionQuantLib.UKRegion
USRegionQuantLib.USRegion
Actual365Fixed+ImplQuantLib.Actual365Fixed+Impl
DownRoundingQuantLib.DownRounding
CeilingTruncationQuantLib.CeilingTruncation
FloorTruncationQuantLib.FloorTruncation
TARGET+ImplQuantLib.TARGET+Impl
BlackYoYInflationCouponPricerQuantLib.BlackYoYInflationCouponPricer
UnitDisplacedBlackYoYInflationCouponPricerQuantLib.UnitDisplacedBlackYoYInflationCouponPricer
BachelierYoYInflationCouponPricerQuantLib.BachelierYoYInflationCouponPricer
AmericanExerciseQuantLib.AmericanExercise
EuropeanExerciseQuantLib.EuropeanExercise
Uniform1dMesherQuantLib.Uniform1dMesher
Null<QuantLib::Array>QuantLib.Null<QuantLib::Array>
FdmMesherCompositeQuantLib.FdmMesherComposite
FdmZeroInnerValueQuantLib.FdmZeroInnerValue
FloatingTypePayoffQuantLib.FloatingTypePayoff
PercentageStrikePayoffQuantLib.PercentageStrikePayoff
CurveDependentStepCondition<array_type>+PayoffWrapperQuantLib.CurveDependentStepCondition<array_type>+PayoffWrapper
NullCondition<array_type>QuantLib.NullCondition<array_type>
MultiAssetOption+engineQuantLib.MultiAssetOption+engine
FdmAmericanStepConditionQuantLib.FdmAmericanStepCondition
OperatorTraits<Operator>QuantLib.OperatorTraits<Operator>
FdmExtOUJumpSolverQuantLib.FdmExtOUJumpSolver
FdmSimpleProcess1dMesherQuantLib.FdmSimpleProcess1dMesher
FdExtOUJumpVanillaEngineQuantLib.FdExtOUJumpVanillaEngine
FdmKlugeExtOUOpQuantLib.FdmKlugeExtOUOp
FdKlugeExtOUSpreadEngineQuantLib.FdKlugeExtOUSpreadEngine
MinBasketPayoffQuantLib.MinBasketPayoff
MaxBasketPayoffQuantLib.MaxBasketPayoff
AverageBasketPayoffQuantLib.AverageBasketPayoff
SpreadBasketPayoffQuantLib.SpreadBasketPayoff
BasketOptionQuantLib.BasketOption
identity<T>QuantLib.identity<T>
cube<T>QuantLib.cube<T>
fourth_power<T>QuantLib.fourth_power<T>
nowhereQuantLib.nowhere
SecondDerivativeOpQuantLib.SecondDerivativeOp
EulerDiscretizationQuantLib.EulerDiscretization
BlackScholesProcessQuantLib.BlackScholesProcess
BlackScholesMertonProcessQuantLib.BlackScholesMertonProcess
BlackProcessQuantLib.BlackProcess
GarmanKohlagenProcessQuantLib.GarmanKohlagenProcess
GaussLegendrePolynomialQuantLib.GaussLegendrePolynomial
GaussChebyshevPolynomialQuantLib.GaussChebyshevPolynomial
GaussChebyshev2ndPolynomialQuantLib.GaussChebyshev2ndPolynomial
GaussGegenbauerPolynomialQuantLib.GaussGegenbauerPolynomial
GaussJacobiIntegrationQuantLib.GaussJacobiIntegration
GaussHyperbolicIntegrationQuantLib.GaussHyperbolicIntegration
GaussLegendreIntegrationQuantLib.GaussLegendreIntegration
GaussChebyshev2ndIntegrationQuantLib.GaussChebyshev2ndIntegration
GaussGegenbauerIntegrationQuantLib.GaussGegenbauerIntegration
FdmExtOUJumpOpQuantLib.FdmExtOUJumpOp
SecondOrderMixedDerivativeOpQuantLib.SecondOrderMixedDerivativeOp
FdmHestonFwdOpQuantLib.FdmHestonFwdOp
FdmBlackScholesMesherQuantLib.FdmBlackScholesMesher
FdmSimple3dExtOUJumpSolverQuantLib.FdmSimple3dExtOUJumpSolver
FdSimpleExtOUJumpSwingEngineQuantLib.FdSimpleExtOUJumpSwingEngine
FdSimpleBSSwingEngineQuantLib.FdSimpleBSSwingEngine
FdSimpleExtOUStorageEngineQuantLib.FdSimpleExtOUStorageEngine
FdmSimple2dExtOUSolverQuantLib.FdmSimple2dExtOUSolver
FdSimpleKlugeExtOUVPPEngineQuantLib.FdSimpleKlugeExtOUVPPEngine
ActualActual+ISMA_ImplQuantLib.ActualActual+ISMA_Impl
ActualActual+ISDA_ImplQuantLib.ActualActual+ISDA_Impl
ActualActual+AFB_ImplQuantLib.ActualActual+AFB_Impl
CPICapFloor+resultsQuantLib.CPICapFloor+results
InterpolatingCPICapFloorEngineQuantLib.InterpolatingCPICapFloorEngine
CubicNaturalSplineQuantLib.CubicNaturalSpline
CubicSplineOvershootingMinimization1QuantLib.CubicSplineOvershootingMinimization1
CubicSplineOvershootingMinimization2QuantLib.CubicSplineOvershootingMinimization2
AkimaCubicInterpolationQuantLib.AkimaCubicInterpolation
KrugerCubicQuantLib.KrugerCubic
FritschButlandCubicQuantLib.FritschButlandCubic
MonotonicParabolicQuantLib.MonotonicParabolic
PolynomialQuantLib.Polynomial
GenericPseudoRandom<URNG,IC>+AnonymousEnumQuantLib.GenericPseudoRandom<URNG,IC>+AnonymousEnum
GenericLowDiscrepancy<URSG,IC>QuantLib.GenericLowDiscrepancy<URSG,IC>
GenericLowDiscrepancy<URSG,IC>+AnonymousEnumQuantLib.GenericLowDiscrepancy<URSG,IC>+AnonymousEnum
DurationQuantLib.Duration
CashFlowsQuantLib.CashFlows
RedemptionQuantLib.Redemption
AmortizingPaymentQuantLib.AmortizingPayment
CPISwap+engineQuantLib.CPISwap+engine
BarrierQuantLib.Barrier
DividendBarrierOptionQuantLib.DividendBarrierOption
NoConstraint+ImplQuantLib.NoConstraint+Impl

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

418 methods matched

methodsMethodsCallingMedepthFull Name
forecastFixing(constQuantLib::Date&)0 method0QuantLib.SwapIndex.forecastFixing(constQuantLib::Date&)
checkPricerImpl(constint)0 method0QuantLib.CPICoupon.checkPricerImpl(constint)
registerObserver(QuantLib::Observer*)0 method0QuantLib.Observable.registerObserver(QuantLib::Observer*)
unregisterObserver(QuantLib::Observer*)0 method0QuantLib.Observable.unregisterObserver(QuantLib::Observer*)
IndexManager()0 method0QuantLib.IndexManager.IndexManager()
Settings()0 method0QuantLib.Settings.Settings()
checkPricerImpl(constint)0 method0QuantLib.YoYInflationCoupon.checkPricerImpl(constint)
locate(Real)0 method0QuantLib.Interpolation+templateImpl.locate(Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.BlackYoYInflationCouponPricer.optionletPriceImp(Option::Type ,Real,Real,Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.UnitDisplacedBlackYoYInflationCouponPricer.optionletPriceImp (Option::Type,Real,Real,Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.BachelierYoYInflationCouponPricer.optionletPriceImp (Option::Type,Real,Real,Real)
setupExpired()0 method0QuantLib.MultiAssetOption.setupExpired()
evolveAtPMin(Real)0 method0QuantLib.FdmVPPStepCondition.evolveAtPMin(Real)
evolveAtPMax(Real)0 method0QuantLib.FdmVPPStepCondition.evolveAtPMax(Real)
size()0 method0QuantLib.StochasticProcess1D.size()
initialValues()0 method0QuantLib.StochasticProcess1D.initialValues()
drift(Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.drift(Time,constQuantLib::Array&)
diffusion(Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.diffusion(Time,constQuantLib::Array&)
expectation(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.expectation(Time,constQuantLib::Array& ,Time)
stdDeviation(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.stdDeviation(Time,constQuantLib::Array& ,Time)
covariance(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.covariance(Time,constQuantLib::Array& ,Time)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
apply(constQuantLib::Array&,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.apply(constQuantLib::Array& ,constQuantLib::Array&)
performCalculations()0 method0QuantLib.FdmExtOUJumpSolver.performCalculations()
setupExpired()3 methods1QuantLib.OneAssetOption.setupExpired()
performCalculations()0 method0QuantLib.FdmKlugeExtOUSolver<N>.performCalculations()
BOOST_STATIC_ASSERT(int)0 method0QuantLib.FdmKlugeExtOUSolver<N>.BOOST_STATIC_ASSERT(int)
blackVarianceImpl(Time,Real)0 method0QuantLib.BlackVolatilityTermStructure.blackVarianceImpl(Time,Real)
blackVolImpl(Time,Real)0 method0QuantLib.BlackVarianceTermStructure.blackVolImpl(Time,Real)
integro(constQuantLib::Array&)0 method0QuantLib.FdmExtOUJumpOp.integro(constQuantLib::Array&)
performCalculations()0 method0QuantLib.Fdm2DimSolver.performCalculations()
setLowerBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setLowerBC(constint)
setUpperBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setUpperBC(constint)
setTransformLowerBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setTransformLowerBC(constint)
setTransformUpperBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setTransformUpperBC(constint)
performCalculations()0 method0QuantLib.FlatForward.performCalculations()
discountImpl(Time)0 method0QuantLib.FlatForward.discountImpl(Time)
changeState(Real,constQuantLib::Array&,Time)0 method0QuantLib.FdmVPPStartLimitStepCondition.changeState(Real ,constQuantLib::Array&,Time)
performCalculations()0 method0QuantLib.FdmSimple3dExtOUJumpSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmSimple2dExtOUSolver.performCalculations()
locateX(Real)0 method0QuantLib.Interpolation2D+templateImpl.locateX(Real)
locateY(Real)0 method0QuantLib.Interpolation2D+templateImpl.locateY(Real)
next(bool)0 method0QuantLib.PathGenerator<GSG>.next(bool)
Factorial()0 method0QuantLib.Factorial.Factorial()
CashFlows()0 method0QuantLib.CashFlows.CashFlows()
CashFlows(constQuantLib::CashFlows&)0 method0QuantLib.CashFlows.CashFlows(constQuantLib::CashFlows&)
setupExpired()0 method0QuantLib.Bond.setupExpired()
setSingleRedemption(Real,constint)0 method0QuantLib.Bond.setSingleRedemption(Real,constint)
setupExpired()6 methods1QuantLib.Swap.setupExpired()
setupExpired()0 method0QuantLib.CPISwap.setupExpired()
setupArguments(PricingEngine::arguments*)0 method0QuantLib.DividendBarrierOption.setupArguments (PricingEngine::arguments*)
forwardSolve(constQuantLib::Array&)0 method0QuantLib.SparseILUPreconditioner.forwardSolve(constQuantLib::Array&)
backwardSolve(constQuantLib::Array&)0 method0QuantLib.SparseILUPreconditioner.backwardSolve(constQuantLib::Array&)
rotateArray(QuantLib::Array)0 method0QuantLib.DifferentialEvolution.rotateArray(QuantLib::Array)
~CuriouslyRecurringTemplate<Impl>()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.~CuriouslyRecurringTemplate <Impl>()
impl()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.impl()
impl()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.impl()
integrate(constint)0 method0QuantLib.GaussLobattoIntegral.integrate(constint)
adaptivGaussLobattoStep(constint)0 method0QuantLib.GaussLobattoIntegral.adaptivGaussLobattoStep(constint)
calculateAbsTolerance(constint)0 method0QuantLib.GaussLobattoIntegral.calculateAbsTolerance(constint)
integro(constQuantLib::Array&)0 method0QuantLib.FdmBatesOp.integro(constQuantLib::Array&)
discountImpl(Time)0 method0QuantLib.ZeroYieldStructure.discountImpl(Time)
zeroYieldImpl(Time)0 method0QuantLib.ZeroSpreadedTermStructure.zeroYieldImpl(Time)
forwardImpl(Time)0 method0QuantLib.ZeroSpreadedTermStructure.forwardImpl(Time)
isOnTime(Time)7 methods1QuantLib.DiscretizedAsset.isOnTime(Time)
postAdjustValuesImpl()0 method0QuantLib.DiscretizedOption.postAdjustValuesImpl()
applyExerciseCondition()1 method1QuantLib.DiscretizedOption.applyExerciseCondition()
setupExpired()0 method0QuantLib.VanillaSwap.setupExpired()
V(Time)0 method0QuantLib.G2.V(Time)
A(Time,Time)0 method0QuantLib.HullWhite.A(Time,Time)
BoundaryConditionSchemeHelper()0 method0QuantLib.BoundaryConditionSchemeHelper.BoundaryConditionSchemeHelper()
apply(constQuantLib::Array&)0 method0QuantLib.ImplicitEulerScheme.apply(constQuantLib::Array&)
performCalculations()0 method0QuantLib.Fdm1DimSolver.performCalculations()
performCalculations()0 method0QuantLib.Fdm2dBlackScholesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmHestonSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmBatesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmBlackScholesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmG2Solver.performCalculations()
performCalculations()0 method0QuantLib.FdmHestonHullWhiteSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmHullWhiteSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmSimple2dBSSolver.performCalculations()
discountImpl(Time)0 method0QuantLib.FdmAffineModelTermStructure.discountImpl(Time)
getState(constint)0 method0QuantLib.FdmAffineModelSwapInnerValue<ModelType>.getState(constint)
integrate(constint)0 method0QuantLib.TrapezoidIntegral<IntegrationPolicy>.integrate(constint)
integrate(constint)0 method0QuantLib.SimpsonIntegral.integrate(constint)
forecastFixing(constQuantLib::Date&)0 method0QuantLib.BMAIndex.forecastFixing(constQuantLib::Date&)
drift(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.drift(Real,Real,Real,Real)
derDriftDerLambdaS(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.derDriftDerLambdaS(Real,Real,Real ,Real)
derDriftDerLambdaT(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.derDriftDerLambdaT(Real,Real,Real ,Real)
GFunctionFactory()0 method0QuantLib.GFunctionFactory.GFunctionFactory()
initialize(constQuantLib::FloatingRateCoupon&)0 method0QuantLib.HaganPricer.initialize(constQuantLib::FloatingRateCoupon&)
functionF(constReal)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.functionF(constReal)
firstDerivativeOfF(constReal)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.firstDerivativeOfF (constReal)
setStrike(Real)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.setStrike(Real)
optionletPrice(Option::Type,Real)0 method0QuantLib.AnalyticHaganPricer.optionletPrice(Option::Type,Real)
swapletPrice()0 method0QuantLib.AnalyticHaganPricer.swapletPrice()
integrate(constint)0 method0QuantLib.GaussKronrodNonAdaptive.integrate(constint)
integrate(constint)0 method0QuantLib.GaussKronrodAdaptive.integrate(constint)
integrateRecursively(constint)0 method0QuantLib.GaussKronrodAdaptive.integrateRecursively(constint)
setupExpired()0 method0QuantLib.AssetSwap.setupExpired()

Statistics

Stat   MethodsCallingMe   depth
Sum:067
Average:00.16
Minimum:00
Maximum:02
Standard deviation:00.39
Variance:00.15
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

903 fields matched

fieldsFull Name
rate_QuantLib.FixedRateCoupon.rate_
firstPeriodDC_QuantLib.FixedRateLeg.firstPeriodDC_
dayCounter_QuantLib.InterestRateIndex.dayCounter_
discount_QuantLib.SwapIndex.discount_
lastFixingDate_QuantLib.SwapIndex.lastFixingDate_
lastFixingDate_QuantLib.OvernightIndexedSwapIndex.lastFixingDate_
baseCPI_QuantLib.CPILeg.baseCPI_
observationLag_QuantLib.CPILeg.observationLag_
paymentDayCounter_QuantLib.CPILeg.paymentDayCounter_
capletVol_QuantLib.CPICouponPricer.capletVol_
additionalResults_QuantLib.Instrument.additionalResults_
dayCounter_QuantLib.InflationCoupon.dayCounter_
dayCounter_QuantLib.TermStructure.dayCounter_
dc_QuantLib.InterestRate.dc_
nominalTermStructure_QuantLib.InflationTermStructure.nominalTermStructure_
referenceDate_QuantLib.InflationIndex.referenceDate_
zeroInflation_QuantLib.ZeroInflationIndex.zeroInflation_
yoyInflation_QuantLib.YoYInflationIndex.yoyInflation_
observationLag_QuantLib.yoyInflationLeg.observationLag_
paymentDayCounter_QuantLib.yoyInflationLeg.paymentDayCounter_
rateCurve_QuantLib.InflationCouponPricer.rateCurve_
capletVol_QuantLib.YoYInflationCouponPricer.capletVol_
f_QuantLib.InverseCumulativeNormal.f_
intEps_QuantLib.ExtendedOrnsteinUhlenbeckProcess.intEps_
conditions_QuantLib.FdmStepConditionComposite.conditions_
diagonal_QuantLib.TridiagonalOperator.diagonal_
lowerDiagonal_QuantLib.TridiagonalOperator.lowerDiagonal_
upperDiagonal_QuantLib.TridiagonalOperator.upperDiagonal_
temp_QuantLib.TridiagonalOperator.temp_
bcSet_QuantLib.FdmBackwardSolver.bcSet_
process_QuantLib.FdmExtOUJumpSolver.process_
solverDesc_QuantLib.FdmExtOUJumpSolver.solverDesc_
schemeDesc_QuantLib.FdmExtOUJumpSolver.schemeDesc_
tGrid_QuantLib.FdExtOUJumpVanillaEngine.tGrid_
xGrid_QuantLib.FdExtOUJumpVanillaEngine.xGrid_
yGrid_QuantLib.FdExtOUJumpVanillaEngine.yGrid_
schemeDesc_QuantLib.FdExtOUJumpVanillaEngine.schemeDesc_
bcSet_QuantLib.FdmKlugeExtOUOp.bcSet_
corrMap_QuantLib.FdmKlugeExtOUOp.corrMap_
values_QuantLib.FdmSnapshotCondition.values_
klugeOUProcess_QuantLib.FdmKlugeExtOUSolver<N>.klugeOUProcess_
direction_QuantLib.FdmExpExtOUInnerValueCalculator.direction_
tGrid_QuantLib.FdKlugeExtOUSpreadEngine.tGrid_
xGrid_QuantLib.FdKlugeExtOUSpreadEngine.xGrid_
yGrid_QuantLib.FdKlugeExtOUSpreadEngine.yGrid_
uGrid_QuantLib.FdKlugeExtOUSpreadEngine.uGrid_
schemeDesc_QuantLib.FdKlugeExtOUSpreadEngine.schemeDesc_
weights_QuantLib.AverageBasketPayoff.weights_
x0_QuantLib.GeneralizedBlackScholesProcess.x0_
riskFreeRate_QuantLib.GeneralizedBlackScholesProcess.riskFreeRate_
blackVolatility_QuantLib.GeneralizedBlackScholesProcess.blackVolatility_
localVolatility_QuantLib.GeneralizedBlackScholesProcess.localVolatility_
x_QuantLib.FdmBlackScholesFwdOp.x_
dxMap_QuantLib.FdmBlackScholesFwdOp.dxMap_
dxxMap_QuantLib.FdmBlackScholesFwdOp.dxxMap_
mapT_QuantLib.FdmBlackScholesFwdOp.mapT_
strike_QuantLib.FdmBlackScholesFwdOp.strike_
bcSet_QuantLib.FdmExtendedOrnsteinUhlenbackOp.bcSet_
x_QuantLib.FdmExtendedOrnsteinUhlenbackOp.x_
dxMap_QuantLib.FdmExtendedOrnsteinUhlenbackOp.dxMap_
dxxMap_QuantLib.FdmExtendedOrnsteinUhlenbackOp.dxxMap_
mapX_QuantLib.FdmExtendedOrnsteinUhlenbackOp.mapX_
x_QuantLib.GaussianQuadrature.x_
w_QuantLib.GaussianQuadrature.w_
bcSet_QuantLib.FdmExtOUJumpOp.bcSet_
gaussLaguerreIntegration_QuantLib.FdmExtOUJumpOp.gaussLaguerreIntegration_
x_QuantLib.FdmExtOUJumpOp.x_
dyMap_QuantLib.FdmExtOUJumpOp.dyMap_
integroPart_QuantLib.FdmExtOUJumpOp.integroPart_
x_QuantLib.Fdm2DimSolver.x_
y_QuantLib.Fdm2DimSolver.y_
resultValues_QuantLib.Fdm2DimSolver.resultValues_
riskFreeRate_QuantLib.HestonProcess.riskFreeRate_
s0_QuantLib.HestonProcess.s0_
v_QuantLib.FdmSquareRootFwdOp.v_
vq_QuantLib.FdmSquareRootFwdOp.vq_
vmq_QuantLib.FdmSquareRootFwdOp.vmq_
kappa_QuantLib.FdmHestonFwdOp.kappa_
theta_QuantLib.FdmHestonFwdOp.theta_
sigma_QuantLib.FdmHestonFwdOp.sigma_
rho_QuantLib.FdmHestonFwdOp.rho_
v0_QuantLib.FdmHestonFwdOp.v0_
varianceValues_QuantLib.FdmHestonFwdOp.varianceValues_
forward_QuantLib.FlatForward.forward_
rate_QuantLib.FlatForward.rate_
process_QuantLib.FdmSimple3dExtOUJumpSolver.process_
solverDesc_QuantLib.FdmSimple3dExtOUJumpSolver.solverDesc_
schemeDesc_QuantLib.FdmSimple3dExtOUJumpSolver.schemeDesc_
tGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.tGrid_
xGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.xGrid_
yGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.yGrid_
schemeDesc_QuantLib.FdSimpleExtOUJumpSwingEngine.schemeDesc_
tGrid_QuantLib.FdSimpleBSSwingEngine.tGrid_
xGrid_QuantLib.FdSimpleBSSwingEngine.xGrid_
schemeDesc_QuantLib.FdSimpleBSSwingEngine.schemeDesc_
tGrid_QuantLib.FdSimpleExtOUStorageEngine.tGrid_
xGrid_QuantLib.FdSimpleExtOUStorageEngine.xGrid_
schemeDesc_QuantLib.FdSimpleExtOUStorageEngine.schemeDesc_
process_QuantLib.FdmSimple2dExtOUSolver.process_
solverDesc_QuantLib.FdmSimple2dExtOUSolver.solverDesc_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

020
Visibility  

warningCritical    Rule warning: Fields should be declared as private
// <Name>Fields should be declared as private</Name>
warnif count > 0 from f in Application.Fields where 
 
!f.IsPrivate && 

 
// These conditions filter cases where fields 
 // doesn't represent state that should be encapsulated. 
 !f.IsGeneratedByCompiler && 
 
!f.IsEnumValue
select new { f }

40,633 fields matched

fieldsFull Name
PrimitivePolynomialDegree01__Globals.PrimitivePolynomialDegree01
PrimitivePolynomialDegree02__Globals.PrimitivePolynomialDegree02
PrimitivePolynomialDegree03__Globals.PrimitivePolynomialDegree03
PrimitivePolynomialDegree04__Globals.PrimitivePolynomialDegree04
PrimitivePolynomialDegree05__Globals.PrimitivePolynomialDegree05
PrimitivePolynomialDegree06__Globals.PrimitivePolynomialDegree06
PrimitivePolynomialDegree07__Globals.PrimitivePolynomialDegree07
PrimitivePolynomialDegree08__Globals.PrimitivePolynomialDegree08
PrimitivePolynomialDegree09__Globals.PrimitivePolynomialDegree09
PrimitivePolynomialDegree10__Globals.PrimitivePolynomialDegree10
PrimitivePolynomialDegree11__Globals.PrimitivePolynomialDegree11
PrimitivePolynomialDegree12__Globals.PrimitivePolynomialDegree12
PrimitivePolynomialDegree13__Globals.PrimitivePolynomialDegree13
PrimitivePolynomialDegree14__Globals.PrimitivePolynomialDegree14
PrimitivePolynomialDegree15__Globals.PrimitivePolynomialDegree15
PrimitivePolynomialDegree16__Globals.PrimitivePolynomialDegree16
PrimitivePolynomialDegree17__Globals.PrimitivePolynomialDegree17
PrimitivePolynomialDegree18__Globals.PrimitivePolynomialDegree18
PrimitivePolynomials__Globals.PrimitivePolynomials
init__Globals.init
calculateUncached__Globals.calculateUncached
familyName_QuantLib.InterestRateIndex.familyName_
tenor_QuantLib.InterestRateIndex.tenor_
fixingDays_QuantLib.InterestRateIndex.fixingDays_
currency_QuantLib.InterestRateIndex.currency_
dayCounter_QuantLib.InterestRateIndex.dayCounter_
tenor_QuantLib.SwapIndex.tenor_
fixedLegTenor_QuantLib.SwapIndex.fixedLegTenor_
fixedLegConvention_QuantLib.SwapIndex.fixedLegConvention_
exogenousDiscount_QuantLib.SwapIndex.exogenousDiscount_
discount_QuantLib.SwapIndex.discount_
lastFixingDate_QuantLib.SwapIndex.lastFixingDate_
lastFixingDate_QuantLib.OvernightIndexedSwapIndex.lastFixingDate_
iteratorQuantLib.__Globals.iterator
x1QuantLib.__Globals.x1
w10QuantLib.__Globals.w10
x2QuantLib.__Globals.x2
w21aQuantLib.__Globals.w21a
w21bQuantLib.__Globals.w21b
x3QuantLib.__Globals.x3
w43aQuantLib.__Globals.w43a
w43bQuantLib.__Globals.w43b
x4QuantLib.__Globals.x4
w87aQuantLib.__Globals.w87a
w87bQuantLib.__Globals.w87b
g7wQuantLib.__Globals.g7w
k15wQuantLib.__Globals.k15w
k15tQuantLib.__Globals.k15t
knownDateSetQuantLib.__Globals.knownDateSet
baseCPI_QuantLib.CPICoupon.baseCPI_
fixedRate_QuantLib.CPICoupon.fixedRate_
spread_QuantLib.CPICoupon.spread_
observationInterpolation_QuantLib.CPICoupon.observationInterpolation_
baseFixing_QuantLib.CPICashFlow.baseFixing_
interpolation_QuantLib.CPICashFlow.interpolation_
frequency_QuantLib.CPICashFlow.frequency_
baseLevel_QuantLib.CPIVolatilitySurface.baseLevel_
observationLag_QuantLib.CPIVolatilitySurface.observationLag_
frequency_QuantLib.CPIVolatilitySurface.frequency_
indexIsInterpolated_QuantLib.CPIVolatilitySurface.indexIsInterpolated_
capletVol_QuantLib.CPICouponPricer.capletVol_
coupon_QuantLib.CPICouponPricer.coupon_
gearing_QuantLib.CPICouponPricer.gearing_
spread_QuantLib.CPICouponPricer.spread_
discount_QuantLib.CPICouponPricer.discount_
spreadLegValue_QuantLib.CPICouponPricer.spreadLegValue_
iteratorQuantLib.Observer.iterator
calculated_QuantLib.LazyObject.calculated_
frozen_QuantLib.LazyObject.frozen_
arguments_QuantLib.GenericEngine<ArgumentsType,ResultsType>.arguments_
results_QuantLib.GenericEngine<ArgumentsType,ResultsType>.results_
NPV_QuantLib.Instrument.NPV_
errorEstimate_QuantLib.Instrument.errorEstimate_
valuationDate_QuantLib.Instrument.valuationDate_
additionalResults_QuantLib.Instrument.additionalResults_
valueQuantLib.Instrument+results.value
errorEstimateQuantLib.Instrument+results.errorEstimate
valuationDateQuantLib.Instrument+results.valuationDate
additionalResultsQuantLib.Instrument+results.additionalResults
deltaQuantLib.Greeks.delta
gammaQuantLib.Greeks.gamma
thetaQuantLib.Greeks.theta
vegaQuantLib.Greeks.vega
rhoQuantLib.Greeks.rho
dividendRhoQuantLib.Greeks.dividendRho
itmCashProbabilityQuantLib.MoreGreeks.itmCashProbability
deltaForwardQuantLib.MoreGreeks.deltaForward
elasticityQuantLib.MoreGreeks.elasticity
thetaPerDayQuantLib.MoreGreeks.thetaPerDay
strikeSensitivityQuantLib.MoreGreeks.strikeSensitivity
paymentDate_QuantLib.Coupon.paymentDate_
nominal_QuantLib.Coupon.nominal_
accrualStartDate_QuantLib.Coupon.accrualStartDate_
accrualEndDate_QuantLib.Coupon.accrualEndDate_
refPeriodStart_QuantLib.Coupon.refPeriodStart_
refPeriodEnd_QuantLib.Coupon.refPeriodEnd_
exCouponDate_QuantLib.Coupon.exCouponDate_
isObserver_QuantLib.Handle<T>+Link.isObserver_
observationLag_QuantLib.InflationCoupon.observationLag_
dayCounter_QuantLib.InflationCoupon.dayCounter_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Constructors of abstract classes should be declared as protected or private
// <Name>Constructors of abstract classes should be declared as protected or private</Name>
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.

warnif count > 0
from t in Application.Types where 
  
t.IsClass && 
  
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }

// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.

106 types matched

typesctorsFull Name
InterestRateIndex2 methodsQuantLib.InterestRateIndex
CPIVolatilitySurface2 methodsQuantLib.CPIVolatilitySurface
Observer2 methodsQuantLib.Observer
Event2 methodsQuantLib.Event
CashFlow2 methodsQuantLib.CashFlow
LazyObject2 methodsQuantLib.LazyObject
PricingEngine+arguments2 methodsQuantLib.PricingEngine+arguments
Instrument2 methodsQuantLib.Instrument
Coupon2 methodsQuantLib.Coupon
DayCounter+Impl2 methodsQuantLib.DayCounter+Impl
Calendar+Impl2 methodsQuantLib.Calendar+Impl
Index1 methodQuantLib.Index
TermStructure4 methodsQuantLib.TermStructure
Quote1 methodQuantLib.Quote
YieldTermStructure4 methodsQuantLib.YieldTermStructure
Seasonality2 methodsQuantLib.Seasonality
InflationTermStructure5 methodsQuantLib.InflationTermStructure
ZeroInflationTermStructure5 methodsQuantLib.ZeroInflationTermStructure
YoYInflationTermStructure5 methodsQuantLib.YoYInflationTermStructure
InflationIndex2 methodsQuantLib.InflationIndex
VolatilityTermStructure5 methodsQuantLib.VolatilityTermStructure
YoYOptionletVolatilitySurface2 methodsQuantLib.YoYOptionletVolatilitySurface
FdmMesher1 methodQuantLib.FdmMesher
FdmInnerValueCalculator2 methodsQuantLib.FdmInnerValueCalculator
Payoff2 methodsQuantLib.Payoff
FdmVPPStepCondition3 methodsQuantLib.FdmVPPStepCondition
StochasticProcess1 methodQuantLib.StochasticProcess
StochasticProcess1D1 methodQuantLib.StochasticProcess1D
Dividend2 methodsQuantLib.Dividend
FdmLinearOp1 methodQuantLib.FdmLinearOp
BasketPayoff1 methodQuantLib.BasketPayoff
BlackVolTermStructure5 methodsQuantLib.BlackVolTermStructure
LocalVolTermStructure5 methodsQuantLib.LocalVolTermStructure
GaussianOrthogonalPolynomial2 methodsQuantLib.GaussianOrthogonalPolynomial
CPICapFloorTermPriceSurface2 methodsQuantLib.CPICapFloorTermPriceSurface
OptionletVolatilityStructure5 methodsQuantLib.OptionletVolatilityStructure
SwaptionVolatilityStructure5 methodsQuantLib.SwaptionVolatilityStructure
FloatingRateCouponPricer1 methodQuantLib.FloatingRateCouponPricer
Constraint+Impl2 methodsQuantLib.Constraint+Impl
OptimizationMethod2 methodsQuantLib.OptimizationMethod
CostFunction1 methodQuantLib.CostFunction
BrownianGenerator2 methodsQuantLib.BrownianGenerator
ZeroYieldStructure4 methodsQuantLib.ZeroYieldStructure
Lattice2 methodsQuantLib.Lattice
DiscretizedAsset2 methodsQuantLib.DiscretizedAsset
Parameter+Impl2 methodsQuantLib.Parameter+Impl
CalibrationHelper2 methodsQuantLib.CalibrationHelper
AffineModel1 methodQuantLib.AffineModel
TwoFactorModel+ShortRateDynamics1 methodQuantLib.TwoFactorModel+ShortRateDynamics
OneFactorModel+ShortRateDynamics1 methodQuantLib.OneFactorModel+ShortRateDynamics
OneFactorAffineModel1 methodQuantLib.OneFactorAffineModel
ParametricExercise2 methodsQuantLib.ParametricExercise
SmileSection4 methodsQuantLib.SmileSection
GFunction2 methodsQuantLib.GFunction
HaganPricer1 methodQuantLib.HaganPricer
DefaultProbabilityTermStructure4 methodsQuantLib.DefaultProbabilityTermStructure
HazardRateStructure4 methodsQuantLib.HazardRateStructure
FDDividendEngineBase<>1 methodQuantLib.FDDividendEngineBase<>
Forward2 methodsQuantLib.Forward
FDStepConditionEngine<>1 methodQuantLib.FDStepConditionEngine<>
Domain2 methodsQuantLib.Domain
BoundedDomain2 methodsQuantLib.BoundedDomain
LineSearchBasedMethod3 methodsQuantLib.LineSearchBasedMethod
LineSearch2 methodsQuantLib.LineSearch
MarketModelMultiProduct2 methodsQuantLib.MarketModelMultiProduct
CurveState2 methodsQuantLib.CurveState
MarketModel1 methodQuantLib.MarketModel
PiecewiseConstantCorrelation1 methodQuantLib.PiecewiseConstantCorrelation
PiecewiseConstantVariance2 methodsQuantLib.PiecewiseConstantVariance
MarketModelPathwiseMultiProduct2 methodsQuantLib.MarketModelPathwiseMultiProduct
MarketModelVolProcess2 methodsQuantLib.MarketModelVolProcess
AlphaForm1 methodQuantLib.AlphaForm
CTSMMCapletCalibration3 methodsQuantLib.CTSMMCapletCalibration
VolatilityInterpolationSpecifier2 methodsQuantLib.VolatilityInterpolationSpecifier
MarketModelExerciseValue2 methodsQuantLib.MarketModelExerciseValue
MarketModelBasisSystem2 methodsQuantLib.MarketModelBasisSystem
MarketModelParametricExercise2 methodsQuantLib.MarketModelParametricExercise
VolatilityCompositor2 methodsQuantLib.VolatilityCompositor
CapFloorTermVolatilityStructure5 methodsQuantLib.CapFloorTermVolatilityStructure
BootstrapHelper<TS>2 methodsQuantLib.BootstrapHelper<TS>
RelativeDateBootstrapHelper<TS>2 methodsQuantLib.RelativeDateBootstrapHelper<TS>
FittedBondDiscountCurve+FittingMethod1 methodQuantLib.FittedBondDiscountCurve+FittingMethod
ForwardRateStructure4 methodsQuantLib.ForwardRateStructure
CdsHelper4 methodsQuantLib.CdsHelper
JointStochasticProcess3 methodsQuantLib.JointStochasticProcess
YoYInflationCapFloorEngine4 methodsQuantLib.YoYInflationCapFloorEngine
LfmCovarianceParameterization2 methodsQuantLib.LfmCovarianceParameterization
LmVolatilityModel2 methodsQuantLib.LmVolatilityModel
LmCorrelationModel2 methodsQuantLib.LmCorrelationModel
BlackAtmVolCurve4 methodsQuantLib.BlackAtmVolCurve
CallableBondVolatilityStructure4 methodsQuantLib.CallableBondVolatilityStructure
CatSimulation2 methodsQuantLib.CatSimulation
NotionalRisk1 methodQuantLib.NotionalRisk
OneFactorCopula1 methodQuantLib.OneFactorCopula
LossDist2 methodsQuantLib.LossDist
RandomDefaultModel1 methodQuantLib.RandomDefaultModel
RiskyBond2 methodsQuantLib.RiskyBond
SyntheticCDO+engine3 methodsQuantLib.SyntheticCDO+engine
MidPointCDOEngine1 methodQuantLib.MidPointCDOEngine
IntegralCDOEngine1 methodQuantLib.IntegralCDOEngine

Statistics

Stat   ctors
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Purity - Immutability - Side-Effects  

warningCritical    Rule warning: Structures should be immutable
// <Name>Structures should be immutable</Name>
warnif count > 0 from t in Application.Types where 
   
t.IsStructure && 
  
!t.IsImmutable

let mutableFields = t.Fields.Where(f => !f.IsImmutable)

select new { t, t.NbLinesOfCode, mutableFields }

// It is deemed as a good practice to make 
// your structure immutable.
// An object is immutable if its state doesn’t 
// change once the object has been created. 
// Consequently, a structure is immutable if 
// its instances are immutable.
// Immutable types naturally simplify code by 
// limiting side-effects.
// See some explanations on immutability and 
// how NDepend supports it here:
// http://codebetter.com/blogs/patricksmacchia/archive/2008/01/13/immutable-types-understand-them-and-use-them.aspx

64 types matched

types# lines of code (LOC)mutableFieldsFull Name
TimeSeries<T,Container,>+reverse31 fieldQuantLib.TimeSeries<T,Container,>+reverse
TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>31 fieldQuantLib.TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>
Region+Data22 fieldsQuantLib.Region+Data
Currency+Data99 fieldsQuantLib.Currency+Data
FdmVPPStepConditionParams08 fieldsQuantLib.FdmVPPStepConditionParams
FdmVPPStepConditionMesher01 fieldQuantLib.FdmVPPStepConditionMesher
FdmSolverDesc04 fieldsQuantLib.FdmSolverDesc
FdmSchemeDesc103 fieldsQuantLib.FdmSchemeDesc
Sample<T>22 fieldsQuantLib.Sample<T>
BiCGStabResult03 fieldsQuantLib.BiCGStabResult
DifferentialEvolution+Candidate12 fieldsQuantLib.DifferentialEvolution+Candidate
NodeData05 fieldsQuantLib.NodeData
MarketModelMultiProduct+CashFlow02 fieldsQuantLib.MarketModelMultiProduct+CashFlow
MarketModelPathwiseMultiProduct+CashFlow02 fieldsQuantLib.MarketModelPathwiseMultiProduct+CashFlow
MarketModelComposite+SubProduct06 fieldsQuantLib.MarketModelComposite+SubProduct
VolatilityBumpInstrumentJacobian+Swaption02 fieldsQuantLib.VolatilityBumpInstrumentJacobian+Swaption
VolatilityBumpInstrumentJacobian+Cap03 fieldsQuantLib.VolatilityBumpInstrumentJacobian+Cap
ExchangeRateManager+Entry33 fieldsQuantLib.ExchangeRateManager+Entry
JointStochasticProcess+CachingKey32 fieldsQuantLib.JointStochasticProcess+CachingKey
LinearTsrPricer+Settings195 fieldsQuantLib.LinearTsrPricer+Settings
LongstaffSchwartzMultiPathPricer+PathInfo23 fieldsQuantLib.LongstaffSchwartzMultiPathPricer+PathInfo
KahaleSmileSection+cFunction155 fieldsQuantLib.KahaleSmileSection+cFunction
KahaleSmileSection+aHelper219 fieldsQuantLib.KahaleSmileSection+aHelper
KahaleSmileSection+sHelper134 fieldsQuantLib.KahaleSmileSection+sHelper
KahaleSmileSection+sHelper1156 fieldsQuantLib.KahaleSmileSection+sHelper1
MarkovFunctional+ModelSettings519 fieldsQuantLib.MarkovFunctional+ModelSettings
MarkovFunctional+CalibrationPoint08 fieldsQuantLib.MarkovFunctional+CalibrationPoint
MarkovFunctional+ModelOutputs019 fieldsQuantLib.MarkovFunctional+ModelOutputs
PricingError34 fieldsQuantLib.PricingError
CommodityType+Data22 fieldsQuantLib.CommodityType+Data
UnitOfMeasure+Data55 fieldsQuantLib.UnitOfMeasure+Data
EnergyDailyPosition86 fieldsQuantLib.EnergyDailyPosition
PaymentTerm+Data44 fieldsQuantLib.PaymentTerm+Data
UnitOfMeasureConversion+Data66 fieldsQuantLib.UnitOfMeasureConversion+Data
long_period_holder11 fieldQuantLib.detail.long_period_holder
short_period_holder11 fieldQuantLib.detail.short_period_holder
long_weekday_holder11 fieldQuantLib.detail.long_weekday_holder
short_weekday_holder11 fieldQuantLib.detail.short_weekday_holder
shortest_weekday_holder11 fieldQuantLib.detail.shortest_weekday_holder
short_date_holder11 fieldQuantLib.detail.short_date_holder
long_date_holder11 fieldQuantLib.detail.long_date_holder
iso_date_holder11 fieldQuantLib.detail.iso_date_holder
formatted_date_holder22 fieldsQuantLib.detail.formatted_date_holder
DataTable<X>71 fieldQuantLib.detail.DataTable<X>
DataTable<double>81 fieldQuantLib.detail.DataTable<double>
Data<X,Y>82 fieldsQuantLib.detail.Data<X,Y>
Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>72 fieldsQuantLib.detail.Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>
Point<X,Y>132 fieldsQuantLib.detail.Point<X,Y>
Point<double,QuantLib::detail::EmptyArg>82 fieldsQuantLib.detail.Point<double,QuantLib::detail::EmptyArg>
Point<double,QuantLib::detail::EmptyRes>72 fieldsQuantLib.detail.Point<double,QuantLib::detail::EmptyRes>
Point<unsignedint,QuantLib::detail::EmptyDim>72 fieldsQuantLib.detail.Point<unsignedint,QuantLib::detail::EmptyDim>
Point<QuantLib::detail::DataTable<Real>,QuantLib::detail::EmptyRes>52 fieldsQuantLib.detail.Point<QuantLib::detail::DataTable<Real> ,QuantLib::detail::EmptyRes>
null_checker<T>11 fieldQuantLib.detail.null_checker<T>
ordinal_holder11 fieldQuantLib.detail.ordinal_holder
power_of_two_holder<T>11 fieldQuantLib.detail.power_of_two_holder<T>
percent_holder11 fieldQuantLib.detail.percent_holder
sequence_holder<InputIterator>22 fieldsQuantLib.detail.sequence_holder<InputIterator>
OdeFctWrapper<T>31 fieldQuantLib.detail.OdeFctWrapper<T>
remapper<F>42 fieldsQuantLib.anonymous_namespace{defaultdensitystructure.cpp}.remapper<F>
remapper<F>42 fieldsQuantLib.anonymous_namespace{hazardratestructure.cpp}.remapper<F>
valid_at21 fieldQuantLib.anonymous_namespace{exchangeratemanager.cpp}.valid_at
Hestonp05 fieldsQuantLib.anonymous_namespace{analyticpdfhestonengine.cpp}.Hestonp
sigmaq_adapter21 fieldQuantLib.anonymous_namespace{perturbativebarrieroptionengine.cpp} .sigmaq_adapter
integs_adapter01 fieldQuantLib.anonymous_namespace{perturbativebarrieroptionengine.cpp} .integs_adapter

Statistics

Stat   # lines of code (LOC)   mutableFields
Sum:3010
Average:4.70
Minimum:00
Maximum:510
Standard deviation:7.540
Variance:56.90
warningCritical    Rule warning: Avoid static fields with a mutable field type
// <Name>Avoid static fields with a mutable field type</Name>
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler
let fieldType = f.FieldType
where fieldType != null && 
     
!fieldType.IsThirdParty && 
     
!fieldType.IsInterface && 
     
!fieldType.IsImmutable
select new { f, 
             
mutableFieldType = fieldType , 
             
isFieldImmutable = f.IsImmutable }

// As explained in this blog post
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members
// static fields should be used to hold only constant and immutable states.

3 fields matched

fieldsmutableFieldTypeisFieldImmutableFull Name
f_CumulativeNormalDistributionTrueQuantLib.InverseCumulativeNormal.f_
conversionTypeMoney+ConversionTypeFalseQuantLib.Money.conversionType
conversionTypeQuantity+ConversionTypeFalseQuantLib.Quantity.conversionType

Statistics

Stat   mutableFieldType   isFieldImmutable
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

180
Naming Conventions  

warningCritical    Rule warning: Instance fields should be prefixed with a 'm_'
// <Name>Instance fields should be prefixed with a 'm_'</Name>
warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^m_") && 
  
!f.IsStatic  
  
// Don't hesitate to customize the regex of NameLike to your preference. 
 && !f.IsGlobal && !f.IsEnumValue && !f.IsThirdParty 
select new { f }).Take(10)

10 fields matched

fieldsFull Name
fullInterface_QuantLib.Schedule.fullInterface_
tenor_QuantLib.Schedule.tenor_
calendar_QuantLib.Schedule.calendar_
convention_QuantLib.Schedule.convention_
terminationDateConvention_QuantLib.Schedule.terminationDateConvention_
rule_QuantLib.Schedule.rule_
endOfMonth_QuantLib.Schedule.endOfMonth_
firstDate_QuantLib.Schedule.firstDate_
nextToLastDate_QuantLib.Schedule.nextToLastDate_
dates_QuantLib.Schedule.dates_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Static fields should be prefixed with a 's_'
// <Name>Static fields should be prefixed with a 's_'</Name>
   warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^s_") && 
  
f.IsStatic && !f.IsThirdParty 
  
select new { f }).Take(10)  
  
// Don't hesitate to customize the regex of NameLike to your preference.


10 fields matched

fieldsFull Name
PrimitivePolynomialDegree01__Globals.PrimitivePolynomialDegree01
PrimitivePolynomialDegree02__Globals.PrimitivePolynomialDegree02
PrimitivePolynomialDegree03__Globals.PrimitivePolynomialDegree03
PrimitivePolynomialDegree04__Globals.PrimitivePolynomialDegree04
PrimitivePolynomialDegree05__Globals.PrimitivePolynomialDegree05
PrimitivePolynomialDegree06__Globals.PrimitivePolynomialDegree06
PrimitivePolynomialDegree07__Globals.PrimitivePolynomialDegree07
PrimitivePolynomialDegree08__Globals.PrimitivePolynomialDegree08
PrimitivePolynomialDegree09__Globals.PrimitivePolynomialDegree09
PrimitivePolynomialDegree10__Globals.PrimitivePolynomialDegree10

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Exception class name should be suffixed with 'Exception'
// <Name>Exception class name should be suffixed with 'Exception'</Name>
warnif count > 0 (from t in Types where t.IsExceptionClass && !t.NameLike (@"Exception$") && !t.IsThirdParty
select new { t, t.NbLinesOfCode }).Take(10)

1 types matched

type# lines of code (LOC)Full Name
Error0QuantLib.Error

Statistics

Stat   # lines of code (LOC)
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types name should begin with an Upper character
// <Name>Types name should begin with an Upper character</Name>
warnif count > 0 (from t in Types where 
 
!t.NameLike (@"^[A-Z]")      // The name of a type should begin with an Upper letter.
  && // Except if it is generated by compiler or ...
 !t.IsThirdParty && !t.IsGlobal
select new { t, t.NbLinesOfCode }).Take(10)

10 types matched

types# lines of code (LOC)Full Name
earlier_than<QuantLib::CashFlow>1QuantLib.earlier_than<QuantLib::CashFlow>
yoyInflationLeg27QuantLib.yoyInflationLeg
step_iterator<Iterator>0QuantLib.step_iterator<Iterator>
constant<T,U>2QuantLib.constant<T,U>
identity<T>1QuantLib.identity<T>
square<T>1QuantLib.square<T>
cube<T>1QuantLib.cube<T>
fourth_power<T>2QuantLib.fourth_power<T>
everywhere0QuantLib.everywhere
nowhere0QuantLib.nowhere

Statistics

Stat   # lines of code (LOC)
Sum:35
Average:3.5
Minimum:0
Maximum:27
Standard deviation:7.86
Variance:61.85
warningCritical    Rule warning: Avoid types with name too long
// <Name>Avoid types with name too long</Name>
warnif count > 0 from t in Application.Types 
where !t.IsGeneratedByCompiler && !t.IsThirdParty

where t.SimpleName.Length > 35 
select new { t, t.SimpleName }

      

27 types matched

typesSimpleNameFull Name
UnitDisplacedBlackYoYInflationCouponPricerUnitDisplacedBlackYoYInflationCouponPricerQuantLib.UnitDisplacedBlackYoYInflationCouponPricer
CubicSplineOvershootingMinimization1CubicSplineOvershootingMinimization1QuantLib.CubicSplineOvershootingMinimization1
CubicSplineOvershootingMinimization2CubicSplineOvershootingMinimization2QuantLib.CubicSplineOvershootingMinimization2
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>InterpolatedCPICapFloorTermPriceSurfaceQuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>
InverseNonCentralChiSquareDistributionInverseNonCentralChiSquareDistributionQuantLib.InverseNonCentralChiSquareDistribution
FDDividendAmericanEngineShiftScale<>FDDividendAmericanEngineShiftScale<>QuantLib.FDDividendAmericanEngineShiftScale<>
BivariateCumulativeNormalDistributionDr78BivariateCumulativeNormalDistributionDr78QuantLib.BivariateCumulativeNormalDistributionDr78
BivariateCumulativeNormalDistributionWe04DPBivariateCumulativeNormalDistributionWe04DPQuantLib.BivariateCumulativeNormalDistributionWe04DP
CTSMMCapletMaxHomogeneityCalibrationCTSMMCapletMaxHomogeneityCalibrationQuantLib.CTSMMCapletMaxHomogeneityCalibration
VolatilityInterpolationSpecifierabcdVolatilityInterpolationSpecifierabcdQuantLib.VolatilityInterpolationSpecifierabcd
MarketModelPathwiseMultiDeflatedCapletMarketModelPathwiseMultiDeflatedCapletQuantLib.MarketModelPathwiseMultiDeflatedCaplet
MarketModelPathwiseCoterminalSwaptionsDeflatedMarketModelPathwiseCoterminalSwaptionsDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsDeflated
MarketModelPathwiseCoterminalSwaptionsNumericalDeflatedMarketModelPathwiseCoterminalSwaptionsNumericalDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsNumericalDeflated
AnalyticContinuousGeometricAveragePriceAsianEngineAnalyticContinuousGeometricAveragePriceAsianEngineQuantLib.AnalyticContinuousGeometricAveragePriceAsianEngine
AnalyticDiscreteGeometricAveragePriceAsianEngineAnalyticDiscreteGeometricAveragePriceAsianEngineQuantLib.AnalyticDiscreteGeometricAveragePriceAsianEngine
AnalyticDiscreteGeometricAverageStrikeAsianEngineAnalyticDiscreteGeometricAverageStrikeAsianEngineQuantLib.AnalyticDiscreteGeometricAverageStrikeAsianEngine
BaroneAdesiWhaleyApproximationEngineBaroneAdesiWhaleyApproximationEngineQuantLib.BaroneAdesiWhaleyApproximationEngine
BjerksundStenslandApproximationEngineBjerksundStenslandApproximationEngineQuantLib.BjerksundStenslandApproximationEngine
AnalyticContinuousFixedLookbackEngineAnalyticContinuousFixedLookbackEngineQuantLib.AnalyticContinuousFixedLookbackEngine
AnalyticContinuousFloatingLookbackEngineAnalyticContinuousFloatingLookbackEngineQuantLib.AnalyticContinuousFloatingLookbackEngine
YoYInflationUnitDisplacedBlackCapFloorEngineYoYInflationUnitDisplacedBlackCapFloorEngineQuantLib.YoYInflationUnitDisplacedBlackCapFloorEngine
BlackDeltaPremiumAdjustedSolverClassBlackDeltaPremiumAdjustedSolverClassQuantLib.BlackDeltaPremiumAdjustedSolverClass
BlackDeltaPremiumAdjustedMaxStrikeClassBlackDeltaPremiumAdjustedMaxStrikeClassQuantLib.BlackDeltaPremiumAdjustedMaxStrikeClass
AnalyticWriterExtensibleOptionEngineAnalyticWriterExtensibleOptionEngineQuantLib.AnalyticWriterExtensibleOptionEngine
ExtendedEqualProbabilitiesBinomialTree<T>ExtendedEqualProbabilitiesBinomialTreeQuantLib.ExtendedEqualProbabilitiesBinomialTree<T>
InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D,Interpolator1D>InterpolatedYoYCapFloorTermPriceSurfaceQuantLib.InterpolatedYoYCapFloorTermPriceSurface<Interpolator2D ,Interpolator1D>
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>InterpolatedYoYOptionletVolatilityCurveQuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid methods with name too long
// <Name>Avoid methods with name too long</Name>
warnif count > 0 from m in Application.Methods where 
 
!m.IsGeneratedByCompiler 
  
&& m.SimpleName.Length > 35 && !m.IsThirdParty

select new { m, m.SimpleName }

// The regex matches methods with name longer 
// than 35 characters.
// Method Name doesn't contain the type and namespace 
// prefix, FullName does.
// The regex computes the method name length from 
// the beginning until the first open parenthesis 
// or first lower than (for generic methods).
      

127 methods matched

methodsSimpleNameFull Name
CTSMMCapletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription&,constint)CTSMMCapletMaxHomogeneityCalibration__Globals.CTSMMCapletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription&,constint)
AnalyticContinuousGeometricAveragePriceAsianEngine(constint)AnalyticContinuousGeometricAveragePriceAsianEngine__Globals.AnalyticContinuousGeometricAveragePriceAsianEngine(constint)
AnalyticDiscreteGeometricAveragePriceAsianEngine(constint)AnalyticDiscreteGeometricAveragePriceAsianEngine__Globals.AnalyticDiscreteGeometricAveragePriceAsianEngine(constint)
AnalyticDiscreteGeometricAverageStrikeAsianEngine(constint)AnalyticDiscreteGeometricAverageStrikeAsianEngine__Globals.AnalyticDiscreteGeometricAverageStrikeAsianEngine(constint)
BaroneAdesiWhaleyApproximationEngine(constint)BaroneAdesiWhaleyApproximationEngine__Globals.BaroneAdesiWhaleyApproximationEngine(constint)
BjerksundStenslandApproximationEngine(constint)BjerksundStenslandApproximationEngine__Globals.BjerksundStenslandApproximationEngine(constint)
AnalyticContinuousFixedLookbackEngine(constint)AnalyticContinuousFixedLookbackEngine__Globals.AnalyticContinuousFixedLookbackEngine(constint)
AnalyticContinuousFloatingLookbackEngine(constint)AnalyticContinuousFloatingLookbackEngine__Globals.AnalyticContinuousFloatingLookbackEngine(constint)
YoYInflationUnitDisplacedBlackCapFloorEngine(constint)YoYInflationUnitDisplacedBlackCapFloorEngine__Globals.YoYInflationUnitDisplacedBlackCapFloorEngine(constint)
AnalyticWriterExtensibleOptionEngine(constint)AnalyticWriterExtensibleOptionEngine__Globals.AnalyticWriterExtensibleOptionEngine(constint)
terminationDateBusinessDayConvention()terminationDateBusinessDayConventionQuantLib.Schedule.terminationDateBusinessDayConvention()
incompleteGammaFunctionContinuedFractionRepr(Real,Real,Real,Integer)incompleteGammaFunctionContinuedFractionReprQuantLib.__Globals.incompleteGammaFunctionContinuedFractionRepr(Real ,Real,Real,Integer)
triangularAnglesParametrizationUnconstrained(constQuantLib::Array& ,Size,Size)triangularAnglesParametrizationUnconstrainedQuantLib.__Globals.triangularAnglesParametrizationUnconstrained (constQuantLib::Array&,Size,Size)
lmmTriangularAnglesParametrizationUnconstrained(constQuantLib::Array& ,Size,Size)lmmTriangularAnglesParametrizationUnconstrainedQuantLib.__Globals.lmmTriangularAnglesParametrizationUnconstrained (constQuantLib::Array&,Size,Size)
triangularAnglesParametrizationRankThree(Real,Real,Real,Size)triangularAnglesParametrizationRankThreeQuantLib.__Globals.triangularAnglesParametrizationRankThree(Real,Real ,Real,Size)
triangularAnglesParametrizationRankThreeVectorial (constQuantLib::Array&,Size)triangularAnglesParametrizationRankThreeVectorialQuantLib.__Globals.triangularAnglesParametrizationRankThreeVectorial (constQuantLib::Array&,Size)
checkIncreasingTimesAndCalculateTaus(conststd::vector<Time>& ,std::vector<Time>&)checkIncreasingTimesAndCalculateTausQuantLib.__Globals.checkIncreasingTimesAndCalculateTaus (conststd::vector<Time>&,std::vector<Time>&)
blackFormulaImpliedStdDevApproximation(Option::Type,Real,Real,Real ,Real,Real)blackFormulaImpliedStdDevApproximationQuantLib.__Globals.blackFormulaImpliedStdDevApproximation(Option::Type ,Real,Real,Real,Real,Real)
blackFormulaImpliedStdDevApproximation(constint)blackFormulaImpliedStdDevApproximationQuantLib.__Globals.blackFormulaImpliedStdDevApproximation(constint)
reverse<container,iterator_category>(constcontainer&)reverse<container,iterator_category>QuantLib.TimeSeries<T,Container,>+reverse.reverse<container ,iterator_category>(constcontainer&)
reverse<type-parameter-1-0,structstd::bidirectional_iterator_tag> (constcontainer&)reverse<type-parameter-1-0,structstd::bidirectional_iterator_tag>QuantLib.TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>.reverse<type-parameter-1-0 ,structstd::bidirectional_iterator_tag>(constcontainer&)
UnitDisplacedBlackYoYInflationCouponPricer(constHandle <QuantLib::YoYOptionletVolatilitySurface>&)UnitDisplacedBlackYoYInflationCouponPricerQuantLib.UnitDisplacedBlackYoYInflationCouponPricer .UnitDisplacedBlackYoYInflationCouponPricer(constHandle <QuantLib::YoYOptionletVolatilitySurface>&)
~UnitDisplacedBlackYoYInflationCouponPricer()~UnitDisplacedBlackYoYInflationCouponPricerQuantLib.UnitDisplacedBlackYoYInflationCouponPricer .~UnitDisplacedBlackYoYInflationCouponPricer()
CurveDependentStepCondition<array_type>(Option::Type,Real)CurveDependentStepCondition<array_type>QuantLib.CurveDependentStepCondition<array_type> .CurveDependentStepCondition<array_type>(Option::Type,Real)
CurveDependentStepCondition<array_type>(constQuantLib::Payoff*)CurveDependentStepCondition<array_type>QuantLib.CurveDependentStepCondition<array_type> .CurveDependentStepCondition<array_type>(constQuantLib::Payoff*)
CurveDependentStepCondition<array_type>(constarray_type&)CurveDependentStepCondition<array_type>QuantLib.CurveDependentStepCondition<array_type> .CurveDependentStepCondition<array_type>(constarray_type&)
GenericModelEngine<ModelType,ArgumentsType,ResultsType>(constHandle <ModelType>&)GenericModelEngine<ModelType,ArgumentsType,ResultsType>QuantLib.GenericModelEngine<ModelType,ArgumentsType,ResultsType> .GenericModelEngine<ModelType,ArgumentsType,ResultsType>(constHandle <ModelType>&)
GenericModelEngine<ModelType,ArgumentsType,ResultsType>(constint)GenericModelEngine<ModelType,ArgumentsType,ResultsType>QuantLib.GenericModelEngine<ModelType,ArgumentsType,ResultsType> .GenericModelEngine<ModelType,ArgumentsType,ResultsType>(constint)
CubicSplineOvershootingMinimization1<I1,I2>(constI1&,constI1&,constI2& )CubicSplineOvershootingMinimization1QuantLib.CubicSplineOvershootingMinimization1 .CubicSplineOvershootingMinimization1<I1,I2>(constI1&,constI1& ,constI2&)
CubicSplineOvershootingMinimization2<I1,I2>(constI1&,constI1&,constI2& )CubicSplineOvershootingMinimization2QuantLib.CubicSplineOvershootingMinimization2 .CubicSplineOvershootingMinimization2<I1,I2>(constI1&,constI1& ,constI2&)
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D> .InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>(Real,Rate ,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&,constInterpolator2D&)
InverseNonCentralChiSquareDistribution(Real,Real,Size,Real)InverseNonCentralChiSquareDistributionQuantLib.InverseNonCentralChiSquareDistribution .InverseNonCentralChiSquareDistribution(Real,Real,Size,Real)
FdmAffineModelSwapInnerValue<ModelType>(constint)FdmAffineModelSwapInnerValue<ModelType>QuantLib.FdmAffineModelSwapInnerValue<ModelType> .FdmAffineModelSwapInnerValue<ModelType>(constint)
TrapezoidIntegral<IntegrationPolicy>(Real,Size)TrapezoidIntegral<IntegrationPolicy>QuantLib.TrapezoidIntegral<IntegrationPolicy>.TrapezoidIntegral <IntegrationPolicy>(Real,Size)
GenericSequenceStatistics<StatisticsType>(Size)GenericSequenceStatistics<StatisticsType>QuantLib.GenericSequenceStatistics<StatisticsType> .GenericSequenceStatistics<StatisticsType>(Size)
withFixedLegTerminationDateConvention(QuantLib::BusinessDayConvention)withFixedLegTerminationDateConventionQuantLib.MakeVanillaSwap.withFixedLegTerminationDateConvention (QuantLib::BusinessDayConvention)
withFloatingLegTerminationDateConvention (QuantLib::BusinessDayConvention)withFloatingLegTerminationDateConventionQuantLib.MakeVanillaSwap.withFloatingLegTerminationDateConvention (QuantLib::BusinessDayConvention)
operatorQuantLib::OvernightIndexedSwap()operatorQuantLib::OvernightIndexedSwapQuantLib.MakeOIS.operatorQuantLib::OvernightIndexedSwap()
FDDividendAmericanEngineMerton73<Scheme>(constint)FDDividendAmericanEngineMerton73<Scheme>QuantLib.FDDividendAmericanEngineMerton73<> .FDDividendAmericanEngineMerton73<Scheme>(constint)
FDDividendAmericanEngineShiftScale<Scheme>(constint)FDDividendAmericanEngineShiftScale<Scheme>QuantLib.FDDividendAmericanEngineShiftScale<> .FDDividendAmericanEngineShiftScale<Scheme>(constint)
ForwardOptionArguments<ArgumentsType>()ForwardOptionArguments<ArgumentsType>QuantLib.ForwardOptionArguments<ArgumentsType>.ForwardOptionArguments <ArgumentsType>()
withFloatingLegTerminationDateConvention (QuantLib::BusinessDayConvention)withFloatingLegTerminationDateConventionQuantLib.MakeCms.withFloatingLegTerminationDateConvention (QuantLib::BusinessDayConvention)
operatorQuantLib::YoYInflationCapFloor()operatorQuantLib::YoYInflationCapFloorQuantLib.MakeYoYInflationCapFloor .operatorQuantLib::YoYInflationCapFloor()
BivariateCumulativeNormalDistributionDr78(Real)BivariateCumulativeNormalDistributionDr78QuantLib.BivariateCumulativeNormalDistributionDr78 .BivariateCumulativeNormalDistributionDr78(Real)
BivariateCumulativeNormalDistributionWe04DP(Real)BivariateCumulativeNormalDistributionWe04DPQuantLib.BivariateCumulativeNormalDistributionWe04DP .BivariateCumulativeNormalDistributionWe04DP(Real)
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelMultiProduct.maxNumberOfCashFlowsPerProductPerStep ()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseMultiProduct .maxNumberOfCashFlowsPerProductPerStep()
timeDependentUnCalibratedSwaptionVols(Size)timeDependentUnCalibratedSwaptionVolsQuantLib.CTSMMCapletCalibration.timeDependentUnCalibratedSwaptionVols (Size)
CTSMMCapletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription&,constint)CTSMMCapletMaxHomogeneityCalibrationQuantLib.CTSMMCapletMaxHomogeneityCalibration .CTSMMCapletMaxHomogeneityCalibration (constQuantLib::EvolutionDescription&,constint)
VolatilityInterpolationSpecifierabcd(Size,Size,conststd::vector <PiecewiseConstantAbcdVariance>&,conststd::vector<Time>&,Real)VolatilityInterpolationSpecifierabcdQuantLib.VolatilityInterpolationSpecifierabcd .VolatilityInterpolationSpecifierabcd(Size,Size,conststd::vector <PiecewiseConstantAbcdVariance>&,conststd::vector<Time>&,Real)
~VolatilityInterpolationSpecifierabcd()~VolatilityInterpolationSpecifierabcdQuantLib.VolatilityInterpolationSpecifierabcd .~VolatilityInterpolationSpecifierabcd()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiProductComposite.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.SingleProductComposite.maxNumberOfCashFlowsPerProductPerStep( )
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.CallSpecifiedMultiProduct .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelCashRebate.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.ExerciseAdapter.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepCoinitialSwaps.maxNumberOfCashFlowsPerProductPerStep ()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepCoterminalSwaps .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepCoterminalSwaptions .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepForwards.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepInverseFloater.maxNumberOfCashFlowsPerProductPerStep ()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepNothing.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepOptionlets.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiProductPathwiseWrapper .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepPeriodCapletSwaptions .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepRatchet.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepSwap.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepSwaption.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MultiStepTarn.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.OneStepCoinitialSwaps.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.OneStepCoterminalSwaps.maxNumberOfCashFlowsPerProductPerStep( )
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.OneStepForwards.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.OneStepOptionlets.maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.CallSpecifiedPathwiseMultiProduct .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseCashRebate .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseMultiCaplet .maxNumberOfCashFlowsPerProductPerStep()
MarketModelPathwiseMultiDeflatedCaplet(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,conststd::vector<Rate >&)MarketModelPathwiseMultiDeflatedCapletQuantLib.MarketModelPathwiseMultiDeflatedCaplet .MarketModelPathwiseMultiDeflatedCaplet(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,conststd::vector<Rate >&)
MarketModelPathwiseMultiDeflatedCaplet(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate)MarketModelPathwiseMultiDeflatedCapletQuantLib.MarketModelPathwiseMultiDeflatedCaplet .MarketModelPathwiseMultiDeflatedCaplet(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate)
~MarketModelPathwiseMultiDeflatedCaplet()~MarketModelPathwiseMultiDeflatedCapletQuantLib.MarketModelPathwiseMultiDeflatedCaplet .~MarketModelPathwiseMultiDeflatedCaplet()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseMultiDeflatedCaplet .maxNumberOfCashFlowsPerProductPerStep()
~MarketModelPathwiseMultiDeflatedCap()~MarketModelPathwiseMultiDeflatedCapQuantLib.MarketModelPathwiseMultiDeflatedCap .~MarketModelPathwiseMultiDeflatedCap()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseMultiDeflatedCap .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseInverseFloater .maxNumberOfCashFlowsPerProductPerStep()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseSwap.maxNumberOfCashFlowsPerProductPerStep ()
MarketModelPathwiseCoterminalSwaptionsDeflated(conststd::vector<Time>& ,conststd::vector<Rate>&)MarketModelPathwiseCoterminalSwaptionsDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsDeflated .MarketModelPathwiseCoterminalSwaptionsDeflated(conststd::vector<Time >&,conststd::vector<Rate>&)
~MarketModelPathwiseCoterminalSwaptionsDeflated()~MarketModelPathwiseCoterminalSwaptionsDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsDeflated .~MarketModelPathwiseCoterminalSwaptionsDeflated()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseCoterminalSwaptionsDeflated .maxNumberOfCashFlowsPerProductPerStep()
MarketModelPathwiseCoterminalSwaptionsNumericalDeflated (conststd::vector<Time>&,conststd::vector<Rate>&,Real)MarketModelPathwiseCoterminalSwaptionsNumericalDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsNumericalDeflated .MarketModelPathwiseCoterminalSwaptionsNumericalDeflated (conststd::vector<Time>&,conststd::vector<Rate>&,Real)
~MarketModelPathwiseCoterminalSwaptionsNumericalDeflated()~MarketModelPathwiseCoterminalSwaptionsNumericalDeflatedQuantLib.MarketModelPathwiseCoterminalSwaptionsNumericalDeflated .~MarketModelPathwiseCoterminalSwaptionsNumericalDeflated()
maxNumberOfCashFlowsPerProductPerStep()maxNumberOfCashFlowsPerProductPerStepQuantLib.MarketModelPathwiseCoterminalSwaptionsNumericalDeflated .maxNumberOfCashFlowsPerProductPerStep()
InterpolatedSmileSection<Interpolator>(Time,conststd::vector<Rate>& ,conststd::vector<Handle<Quote>>&,constHandle<QuantLib::Quote>& ,constInterpolator&,constQuantLib::DayCounter&)InterpolatedSmileSection<Interpolator>QuantLib.InterpolatedSmileSection<Interpolator> .InterpolatedSmileSection<Interpolator>(Time,conststd::vector<Rate>& ,conststd::vector<Handle<Quote>>&,constHandle<QuantLib::Quote>& ,constInterpolator&,constQuantLib::DayCounter&)
InterpolatedSmileSection<Interpolator>(Time,conststd::vector<Rate>& ,conststd::vector<Real>&,Real,constInterpolator& ,constQuantLib::DayCounter&)InterpolatedSmileSection<Interpolator>QuantLib.InterpolatedSmileSection<Interpolator> .InterpolatedSmileSection<Interpolator>(Time,conststd::vector<Rate>& ,conststd::vector<Real>&,Real,constInterpolator& ,constQuantLib::DayCounter&)
InterpolatedSmileSection<Interpolator>(constQuantLib::Date& ,conststd::vector<Rate>&,conststd::vector<Handle<Quote>>&,constHandle <QuantLib::Quote>&,constQuantLib::DayCounter&,constInterpolator& ,constQuantLib::Date&)InterpolatedSmileSection<Interpolator>QuantLib.InterpolatedSmileSection<Interpolator> .InterpolatedSmileSection<Interpolator>(constQuantLib::Date& ,conststd::vector<Rate>&,conststd::vector<Handle<Quote>>&,constHandle <QuantLib::Quote>&,constQuantLib::DayCounter&,constInterpolator& ,constQuantLib::Date&)
InterpolatedSmileSection<Interpolator>(constQuantLib::Date& ,conststd::vector<Rate>&,conststd::vector<Real>&,Real ,constQuantLib::DayCounter&,constInterpolator&,constQuantLib::Date&)InterpolatedSmileSection<Interpolator>QuantLib.InterpolatedSmileSection<Interpolator> .InterpolatedSmileSection<Interpolator>(constQuantLib::Date& ,conststd::vector<Rate>&,conststd::vector<Real>&,Real ,constQuantLib::DayCounter&,constInterpolator&,constQuantLib::Date&)
AnalyticContinuousGeometricAveragePriceAsianEngine(constint)AnalyticContinuousGeometricAveragePriceAsianEngineQuantLib.AnalyticContinuousGeometricAveragePriceAsianEngine .AnalyticContinuousGeometricAveragePriceAsianEngine(constint)
AnalyticDiscreteGeometricAveragePriceAsianEngine(constint)AnalyticDiscreteGeometricAveragePriceAsianEngineQuantLib.AnalyticDiscreteGeometricAveragePriceAsianEngine .AnalyticDiscreteGeometricAveragePriceAsianEngine(constint)
AnalyticDiscreteGeometricAverageStrikeAsianEngine(constint)AnalyticDiscreteGeometricAverageStrikeAsianEngineQuantLib.AnalyticDiscreteGeometricAverageStrikeAsianEngine .AnalyticDiscreteGeometricAverageStrikeAsianEngine(constint)
MCDiscreteAveragingAsianEngine<RNG,S>(constint)MCDiscreteAveragingAsianEngine<RNG,S>QuantLib.MCDiscreteAveragingAsianEngine<RNG,S> .MCDiscreteAveragingAsianEngine<RNG,S>(constint)
~EarlyExercisePathPricer<PathType,TimeType,ValueType>()~EarlyExercisePathPricer<PathType,TimeType,ValueType>QuantLib.EarlyExercisePathPricer<PathType,TimeType,ValueType> .~EarlyExercisePathPricer<PathType,TimeType,ValueType>()
LongstaffSchwartzPathPricer<PathType>(constQuantLib::TimeGrid& ,constint)LongstaffSchwartzPathPricer<PathType>QuantLib.LongstaffSchwartzPathPricer<PathType> .LongstaffSchwartzPathPricer<PathType>(constQuantLib::TimeGrid& ,constint)

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid fields with name too long
// <Name>Avoid fields with name too long</Name>
warnif count > 0 from f in Application.Fields where
 
!f.IsGeneratedByCompiler &&
  
f.Name.Length > 35 && !f.IsThirdParty
select f

// The regex matches fields with name longer 
// than 35 characters.
// Field Name doesn't contain the type and 
// namespace prefix, FullName does.
      

1 fields matched

fieldFull Name
timeDependentCalibratedSwaptionVols_QuantLib.CTSMMCapletCalibration.timeDependentCalibratedSwaptionVols_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) 
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding) && !t.IsThirdParty

select new { t, dirCorresponding , sourceFilePath  } 

196 types matched

typesdirCorrespondingsourceFilePathFull Name
__GlobalsQuantLibc:\GlobalMembersQuantLib.__Globals
__GlobalsQuantLib detailc:\GlobalMembersQuantLib.detail.__Globals
long_period_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\period.hppQuantLib.detail.long_period_holder
short_period_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\period.hppQuantLib.detail.short_period_holder
long_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.long_weekday_holder
short_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.short_weekday_holder
shortest_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.shortest_weekday_holder
FloatingPointNull<true>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\null.hppQuantLib.detail.FloatingPointNull<true>
FloatingPointNull<false>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\null.hppQuantLib.detail.FloatingPointNull<false>
short_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.short_date_holder
long_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.long_date_holder
iso_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.iso_date_holder
formatted_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.formatted_date_holder
simple_eventQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\event.hppQuantLib.detail.simple_event
EmptyArgQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyArg
EmptyResQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyRes
EmptyDimQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyDim
DataTable<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.DataTable<X>
DataTable<double>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.DataTable<double>
Data<X,Y>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Data<X,Y>
Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>
Point<X,Y>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<X,Y>
Point<double,QuantLib::detail::EmptyArg>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<double,QuantLib::detail::EmptyArg>
Point<double,QuantLib::detail::EmptyRes>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<double,QuantLib::detail::EmptyRes>
Point<unsignedint,QuantLib::detail::EmptyDim>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<unsignedint,QuantLib::detail::EmptyDim>
Point<QuantLib::detail::DataTable<Real>,QuantLib::detail::EmptyRes>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<QuantLib::detail::DataTable<Real> ,QuantLib::detail::EmptyRes>
base_cubic_splineQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.base_cubic_spline
n_cubic_spline<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.n_cubic_spline<X>
base_cubic_splintQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.base_cubic_splint
n_cubic_splint<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.n_cubic_splint<X>
Int2Type<i>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<i>
Int2Type<2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<2>
Int2Type<3>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<3>
Int2Type<4>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<4>
Int2Type<5>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<5>
Int2Type<6>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<6>
Int2Type<7>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<7>
Int2Type<8>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<8>
Int2Type<9>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<9>
Int2Type<10>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<10>
Int2Type<11>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<11>
Int2Type<12>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<12>
Int2Type<13>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<13>
Int2Type<14>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<14>
Int2Type<15>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<15>
LinearInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\linearinterpolation.hppQuantLib.detail.LinearInterpolationImpl<I1,I2>
CoefficientHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\cubicinterpolation.hppQuantLib.detail.CoefficientHolder
CubicInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\cubicinterpolation.hppQuantLib.detail.CubicInterpolationImpl<I1,I2>
Polynomial2DSplineImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\inflation\polynomial2Dspline.hppQuantLib.detail.Polynomial2DSplineImpl<I1,I2,M>
null_checker<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.null_checker<T>
ordinal_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.ordinal_holder
power_of_two_holder<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.power_of_two_holder<T>
percent_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.percent_holder
sequence_holder<InputIterator>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.sequence_holder<InputIterator>
BicubicSplineDerivativesQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bicubicsplineinterpolation.hppQuantLib.detail.BicubicSplineDerivatives
BicubicSplineImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bicubicsplineinterpolation.hppQuantLib.detail.BicubicSplineImpl<I1,I2,M>
BilinearInterpolationImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bilinearinterpolation.hppQuantLib.detail.BilinearInterpolationImpl<I1,I2,M>
ImpliedVolatilityHelperQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\impliedvolatility.hppQuantLib.detail.ImpliedVolatilityHelper
DividendAdderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\pricingengines\vanilla\fddividendengine.hppQuantLib.detail.DividendAdder
AbcdCoeffHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\abcdinterpolation.hppQuantLib.detail.AbcdCoeffHolder
AbcdInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\abcdinterpolation.hppQuantLib.detail.AbcdInterpolationImpl<I1,I2>
SABRCoeffHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRCoeffHolder
SABRInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2>
SABRInterpolationImpl<I1,I2>+SabrParametersTransformationQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2 >+SabrParametersTransformation
SABRInterpolationImpl<I1,I2>+SABRErrorQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2>+SABRError
BootstrapHelperSorterQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\bootstraphelper.hppQuantLib.detail.BootstrapHelperSorter
TracingQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\tracing.hppQuantLib.detail.Tracing
HullWhiteCapFloorPricerQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\pricingengines\capfloor\mchullwhiteengine.hppQuantLib.detail.HullWhiteCapFloorPricer
ForwardFlatInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\forwardflatinterpolation.hppQuantLib.detail.ForwardFlatInterpolationImpl<I1,I2>
VannaVolgaInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\barrieroption\vannavolgainterpolation.hppQuantLib.detail.VannaVolgaInterpolationImpl<I1,I2>
OdeFctWrapper<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\math\adaptiverungekutta.hppQuantLib.detail.OdeFctWrapper<T>
__GlobalsQuantLib ioc:\GlobalMembersQuantLib.io.__Globals
__GlobalsQuantLib MINPACKc:\GlobalMembersQuantLib.MINPACK.__Globals
__GlobalsQuantLib ForwardForwardMappingsc:\GlobalMembersQuantLib.ForwardForwardMappings.__Globals
SparkSpreadPriceQuantLib anonymous_namespace{dynprogvppintrinsicvalueengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\dynprogvppintrinsicvalueengine.cppQuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp} .SparkSpreadPrice
FuelPriceQuantLib anonymous_namespace{dynprogvppintrinsicvalueengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\dynprogvppintrinsicvalueengine.cppQuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp} .FuelPrice
FdmStorageValueQuantLib anonymous_namespace{fdsimpleextoustorageengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\fdsimpleextoustorageengine.cppQuantLib.anonymous_namespace{fdsimpleextoustorageengine.cpp} .FdmStorageValue
FdmSparkSpreadInnerValueQuantLib anonymous_namespace{fdsimpleklugeextouvppengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\fdsimpleklugeextouvppengine.cppQuantLib.anonymous_namespace{fdsimpleklugeextouvppengine.cpp} .FdmSparkSpreadInnerValue
IdenticalPayoffQuantLib anonymous_namespace{vanillavppoption cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\vanillavppoption.cppQuantLib.anonymous_namespace{vanillavppoption.cpp}.IdenticalPayoff
__GlobalsQuantLib anonymous_namespace{vanillaswingoption cpp}c:\GlobalMembersQuantLib.anonymous_namespace{vanillaswingoption.cpp}.__Globals
sort_by_costQuantLib anonymous_namespace{differentialevolution cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\optimization\differentialevolution.cppQuantLib.anonymous_namespace{differentialevolution.cpp}.sort_by_cost
RichardsonEqnQuantLib anonymous_namespace{richardsonextrapolation cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\richardsonextrapolation.cppQuantLib.anonymous_namespace{richardsonextrapolation.cpp} .RichardsonEqn
__GlobalsQuantLib anonymous_namespace{fdmmeshercomposite cpp}c:\GlobalMembersQuantLib.anonymous_namespace{fdmmeshercomposite.cpp}.__Globals
__GlobalsQuantLib anonymous_namespace{lsmbasissystem cpp}c:\GlobalMembersQuantLib.anonymous_namespace{lsmbasissystem.cpp}.__Globals
MonomialFctQuantLib anonymous_namespace{lsmbasissystem cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\lsmbasissystem.cppQuantLib.anonymous_namespace{lsmbasissystem.cpp}.MonomialFct
MultiDimFctQuantLib anonymous_namespace{lsmbasissystem cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\lsmbasissystem.cppQuantLib.anonymous_namespace{lsmbasissystem.cpp}.MultiDimFct
ValueEstimateQuantLib anonymous_namespace{parametricexercise cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\parametricexercise.cppQuantLib.anonymous_namespace{parametricexercise.cpp}.ValueEstimate
__GlobalsQuantLib anonymous_namespace{averagebmacoupon cpp}c:\GlobalMembersQuantLib.anonymous_namespace{averagebmacoupon.cpp}.__Globals
AverageBMACouponPricerQuantLib anonymous_namespace{averagebmacoupon cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\averagebmacoupon.cppQuantLib.anonymous_namespace{averagebmacoupon.cpp} .AverageBMACouponPricer
__GlobalsQuantLib anonymous_namespace{cashflows cpp}c:\GlobalMembersQuantLib.anonymous_namespace{cashflows.cpp}.__Globals
BPSCalculatorQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.BPSCalculator
IrrFinderQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.IrrFinder
ZSpreadFinderQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.ZSpreadFinder
VariableChangeQuantLib anonymous_namespace{conundrumpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\conundrumpricer.cppQuantLib.anonymous_namespace{conundrumpricer.cpp}.VariableChange
SpyQuantLib anonymous_namespace{conundrumpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\conundrumpricer.cppQuantLib.anonymous_namespace{conundrumpricer.cpp}.Spy
PricerSetterQuantLib anonymous_namespace{couponpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\couponpricer.cppQuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter
OvernightIndexedCouponPricerQuantLib anonymous_namespace{overnightindexedcoupon cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\overnightindexedcoupon.cppQuantLib.anonymous_namespace{overnightindexedcoupon.cpp} .OvernightIndexedCouponPricer
__GlobalsQuantLib anonymous_namespace{bmaindex cpp}c:\GlobalMembersQuantLib.anonymous_namespace{bmaindex.cpp}.__Globals
__GlobalsQuantLib anonymous_namespace{euribor cpp}c:\GlobalMembersQuantLib.anonymous_namespace{euribor.cpp}.__Globals
__GlobalsQuantLib anonymous_namespace{eurlibor cpp}c:\GlobalMembersQuantLib.anonymous_namespace{eurlibor.cpp}.__Globals

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

040
Source Files Organization  

warningCritical    Rule warning: Avoid defining multiple types in a source file
// <Name>Avoid defining multiple types in a source file</Name>
warnif count > 0 

// Build a lookup indexed by source files, values being a sequence of types defined in the source file.
let lookup = Application.Types.Where(t => 
                                
!t.IsGlobal && 
                               
// except nested types and types generated by compilers!
                               !t.IsGeneratedByCompiler &&                               
                               
!t.IsNested)                                
                         
// It could make sense to not apply this rule for enumerations.
                         // && !t.IsEnumeration)

            
// We use multi-key, since a type can be declared in multiple source files.
           .ToMultiKeyLookup(t => t.SourceDecls.Select(d => d.SourceFile))
 
from @group in lookup where @group.Count() > 1
   
let sourceFile = @group.Key

   
// CQLinq doesn't let indexing result with sourceFile 
   // so we choose a typeIndex in types, 
   // preferably the type that has the file name.
   let typeWithSourceFileName = @group.FirstOrDefault(t => t.SimpleName == sourceFile.FileNameWithoutExtension)
   
let typeIndex = typeWithSourceFileName ?? @group.First()

select new { typeIndex, 
             
types = @group as IEnumerable<IType>, 
             
sourceFile.FilePathString }

217 types matched

typestypesFilePathStringFull Name
Schedule2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\schedule.hppQuantLib.Schedule
FixedRateCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\fixedratecoupon.hppQuantLib.FixedRateCoupon
Replication2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\replication.hppQuantLib.Replication
SwapIndex2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\swapindex.hppQuantLib.SwapIndex
CPI4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cpicoupon.hppQuantLib.CPI
Period3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\period.hppQuantLib.Period
Weekday4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.Weekday
Null<T>3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\null.hppQuantLib.Null<T>
Month7 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.Month
Observable2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\patterns\observable.hppQuantLib.Observable
Event2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\event.hppQuantLib.Event
CashFlow2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflow.hppQuantLib.CashFlow
PricingEngine2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\pricingengine.hppQuantLib.PricingEngine
Option3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\option.hppQuantLib.Option
AcyclicVisitor2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\patterns\visitor.hppQuantLib.AcyclicVisitor
Handle<T>2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\handle.hppQuantLib.Handle<T>
Region7 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\region.hppQuantLib.Region
Settings2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\settings.hppQuantLib.Settings
Seasonality2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\inflation\seasonality.hppQuantLib.Seasonality
InflationTermStructure3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\inflationtermstructure.hppQuantLib.InflationTermStructure
Rounding6 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\rounding.hppQuantLib.Rounding
InflationIndex3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\inflationindex.hppQuantLib.InflationIndex
YoYInflationCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\yoyinflationcoupon.hppQuantLib.YoYInflationCoupon
YoYOptionletVolatilitySurface2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\volatility\inflation\yoyinflationoptionletvolatilitystructure.hppQuantLib.YoYOptionletVolatilitySurface
InflationCouponPricer5 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\inflationcouponpricer.hppQuantLib.InflationCouponPricer
Exercise5 typesC:\QuantLib-1.4\QuantLib-1.4\ql\exercise.hppQuantLib.Exercise
Array2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\array.hppQuantLib.Array
FdmInnerValueCalculator4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\utilities\fdminnervaluecalculator.hppQuantLib.FdmInnerValueCalculator
NullPayoff11 typesC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\payoffs.hppQuantLib.NullPayoff
StepCondition<array_type>3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\stepcondition.hppQuantLib.StepCondition<array_type>
FdmVPPStepConditionParams3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\fdmvppstepcondition.hppQuantLib.FdmVPPStepConditionParams
StochasticProcess2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\stochasticprocess.hppQuantLib.StochasticProcess
NormalDistribution5 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\normaldistribution.hppQuantLib.NormalDistribution
Dividend3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\dividend.hppQuantLib.Dividend
BoundaryCondition<Operator>3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\boundarycondition.hppQuantLib.BoundaryCondition<Operator>
FdmSchemeDesc2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\solvers\fdmbackwardsolver.hppQuantLib.FdmSchemeDesc
MultiCubicSpline<i>32 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.MultiCubicSpline<i>
BasketPayoff6 typesC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\basketoption.hppQuantLib.BasketPayoff
constant<T,U>11 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\functional.hppQuantLib.constant<T,U>
BlackVolTermStructure3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\volatility\equityfx\blackvoltermstructure.hppQuantLib.BlackVolTermStructure
GeneralizedBlackScholesProcess5 typesC:\QuantLib-1.4\QuantLib-1.4\ql\processes\blackscholesprocess.hppQuantLib.GeneralizedBlackScholesProcess
LinearInterpolation3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\linearinterpolation.hppQuantLib.LinearInterpolation
GaussianOrthogonalPolynomial9 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\integrals\gaussianorthogonalpolynomial.hppQuantLib.GaussianOrthogonalPolynomial
GaussianQuadrature10 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\integrals\gaussianquadratures.hppQuantLib.GaussianQuadrature
SwingExercise2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\vanillaswingoption.hppQuantLib.SwingExercise
CubicInterpolation13 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\cubicinterpolation.hppQuantLib.CubicInterpolation
Polynomial2DSpline3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\inflation\polynomial2Dspline.hppQuantLib.Polynomial2DSpline
CPICapFloorTermPriceSurface2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\inflation\cpicapfloortermpricesurface.hppQuantLib.CPICapFloorTermPriceSurface
PoissonDistribution3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\poissondistribution.hppQuantLib.PoissonDistribution
GenericPseudoRandom<URNG,IC>2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\randomnumbers\rngtraits.hppQuantLib.GenericPseudoRandom<URNG,IC>
SimpleCashFlow3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\simplecashflow.hppQuantLib.SimpleCashFlow
IborIndex2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\iborindex.hppQuantLib.IborIndex
IborCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\iborcoupon.hppQuantLib.IborCoupon
FloatingRateCouponPricer4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\couponpricer.hppQuantLib.FloatingRateCouponPricer
BiCGStabResult2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\matrixutilities\bicgstab.hppQuantLib.BiCGStabResult
Constraint6 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\optimization\constraint.hppQuantLib.Constraint
CostFunction2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\optimization\costfunction.hppQuantLib.CostFunction
BrownianGenerator2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\models\marketmodels\browniangenerator.hppQuantLib.BrownianGenerator
SobolBrownianGenerator2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\models\marketmodels\browniangenerators\sobolbrowniangenerator.hppQuantLib.SobolBrownianGenerator
GammaDistribution2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\gammadistribution.hppQuantLib.GammaDistribution
ChiSquareDistribution3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\chisquaredistribution.hppQuantLib.ChiSquareDistribution
FdmHestonEquityPart3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\operators\fdmhestonop.hppQuantLib.FdmHestonEquityPart
DiscretizedAsset3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\discretizedasset.hppQuantLib.DiscretizedAsset
Parameter5 typesC:\QuantLib-1.4\QuantLib-1.4\ql\models\parameter.hppQuantLib.Parameter
AffineModel4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\models\model.hppQuantLib.AffineModel
Settlement2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\swaption.hppQuantLib.Settlement
OneFactorModel2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\models\shortrate\onefactormodel.hppQuantLib.OneFactorModel
ForwardMeasureProcess2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\processes\forwardmeasureprocess.hppQuantLib.ForwardMeasureProcess
HullWhiteProcess2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\processes\hullwhiteprocess.hppQuantLib.HullWhiteProcess
FdmHestonHullWhiteEquityPart2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\operators\fdmhestonhullwhiteop.hppQuantLib.FdmHestonHullWhiteEquityPart
BicubicSpline4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bicubicsplineinterpolation.hppQuantLib.BicubicSpline
BilinearInterpolation3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bilinearinterpolation.hppQuantLib.BilinearInterpolation
TrapezoidIntegral<IntegrationPolicy>3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\integrals\trapezoidintegral.hppQuantLib.TrapezoidIntegral<IntegrationPolicy>
GenericGaussianStatistics<Stat>2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\statistics\gaussianstatistics.hppQuantLib.GenericGaussianStatistics<Stat>
TransformedGrid2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\transformedgrid.hppQuantLib.TransformedGrid
PdeSecondOrderParabolic4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\finitedifferences\pde.hppQuantLib.PdeSecondOrderParabolic
BinomialTree<T>10 typesC:\QuantLib-1.4\QuantLib-1.4\ql\methods\lattices\binomialtree.hppQuantLib.BinomialTree<T>
BinomialDistribution2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\binomialdistribution.hppQuantLib.BinomialDistribution
AverageBMACoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\averagebmacoupon.hppQuantLib.AverageBMACoupon
CmsCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cmscoupon.hppQuantLib.CmsCoupon
CappedFlooredCoupon3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\capflooredcoupon.hppQuantLib.CappedFlooredCoupon
RangeAccrualFloatersCoupon4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\rangeaccrual.hppQuantLib.RangeAccrualFloatersCoupon
VanillaOptionPricer7 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\conundrumpricer.hppQuantLib.VanillaOptionPricer
GaussKronrodNonAdaptive2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\math\integrals\kronrodintegral.hppQuantLib.GaussKronrodNonAdaptive
DigitalCmsCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\digitalcmscoupon.hppQuantLib.DigitalCmsCoupon
DigitalIborCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\digitaliborcoupon.hppQuantLib.DigitalIborCoupon
SubPeriodsCoupon4 typesC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\coupons\subperiodcoupons.hppQuantLib.SubPeriodsCoupon
OvernightIndexedCoupon2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\overnightindexedcoupon.hppQuantLib.OvernightIndexedCoupon
ARSCurrency12 typesC:\QuantLib-1.4\QuantLib-1.4\ql\currencies\america.hppQuantLib.ARSCurrency
BGLCurrency35 typesC:\QuantLib-1.4\QuantLib-1.4\ql\currencies\europe.hppQuantLib.BGLCurrency
Euribor32 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\ibor\euribor.hppQuantLib.Euribor
EURLibor17 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\ibor\eurlibor.hppQuantLib.EURLibor
JointCalendarRule2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\calendars\jointcalendar.hppQuantLib.JointCalendarRule
Libor2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\ibor\libor.hppQuantLib.Libor
CHFLibor2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\ibor\chflibor.hppQuantLib.CHFLibor
EuriborSwapIsdaFixA3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\swap\euriborswap.hppQuantLib.EuriborSwapIsdaFixA
EurLiborSwapIsdaFixA3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\swap\eurliborswap.hppQuantLib.EurLiborSwapIsdaFixA
GBPLibor3 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\ibor\gbplibor.hppQuantLib.GBPLibor
JpyLiborSwapIsdaFixAm2 typesC:\QuantLib-1.4\QuantLib-1.4\ql\indexes\swap\jpyliborswap.hppQuantLib.JpyLiborSwapIsdaFixAm
BDTCurrency16 typesC:\QuantLib-1.4\QuantLib-1.4\ql\currencies\asia.hppQuantLib.BDTCurrency

Statistics

Stat   types   FilePathString
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) && !t.IsGlobal
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding)

select new { t, dirCorresponding , sourceFilePath  } 

131 types matched

typesdirCorrespondingsourceFilePathFull Name
long_period_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\period.hppQuantLib.detail.long_period_holder
short_period_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\period.hppQuantLib.detail.short_period_holder
long_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.long_weekday_holder
short_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.short_weekday_holder
shortest_weekday_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\weekday.hppQuantLib.detail.shortest_weekday_holder
FloatingPointNull<true>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\null.hppQuantLib.detail.FloatingPointNull<true>
FloatingPointNull<false>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\null.hppQuantLib.detail.FloatingPointNull<false>
short_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.short_date_holder
long_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.long_date_holder
iso_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.iso_date_holder
formatted_date_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\time\date.hppQuantLib.detail.formatted_date_holder
simple_eventQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\event.hppQuantLib.detail.simple_event
EmptyArgQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyArg
EmptyResQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyRes
EmptyDimQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.EmptyDim
DataTable<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.DataTable<X>
DataTable<double>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.DataTable<double>
Data<X,Y>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Data<X,Y>
Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Data<std::vector<double,std::allocator<double>> ,QuantLib::detail::EmptyArg>
Point<X,Y>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<X,Y>
Point<double,QuantLib::detail::EmptyArg>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<double,QuantLib::detail::EmptyArg>
Point<double,QuantLib::detail::EmptyRes>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<double,QuantLib::detail::EmptyRes>
Point<unsignedint,QuantLib::detail::EmptyDim>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<unsignedint,QuantLib::detail::EmptyDim>
Point<QuantLib::detail::DataTable<Real>,QuantLib::detail::EmptyRes>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Point<QuantLib::detail::DataTable<Real> ,QuantLib::detail::EmptyRes>
base_cubic_splineQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.base_cubic_spline
n_cubic_spline<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.n_cubic_spline<X>
base_cubic_splintQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.base_cubic_splint
n_cubic_splint<X>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.n_cubic_splint<X>
Int2Type<i>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<i>
Int2Type<2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<2>
Int2Type<3>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<3>
Int2Type<4>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<4>
Int2Type<5>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<5>
Int2Type<6>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<6>
Int2Type<7>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<7>
Int2Type<8>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<8>
Int2Type<9>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<9>
Int2Type<10>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<10>
Int2Type<11>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<11>
Int2Type<12>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<12>
Int2Type<13>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<13>
Int2Type<14>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<14>
Int2Type<15>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\multicubicspline.hppQuantLib.detail.Int2Type<15>
LinearInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\linearinterpolation.hppQuantLib.detail.LinearInterpolationImpl<I1,I2>
CoefficientHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\cubicinterpolation.hppQuantLib.detail.CoefficientHolder
CubicInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\cubicinterpolation.hppQuantLib.detail.CubicInterpolationImpl<I1,I2>
Polynomial2DSplineImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\inflation\polynomial2Dspline.hppQuantLib.detail.Polynomial2DSplineImpl<I1,I2,M>
null_checker<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.null_checker<T>
ordinal_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.ordinal_holder
power_of_two_holder<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.power_of_two_holder<T>
percent_holderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.percent_holder
sequence_holder<InputIterator>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\dataformatters.hppQuantLib.detail.sequence_holder<InputIterator>
BicubicSplineDerivativesQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bicubicsplineinterpolation.hppQuantLib.detail.BicubicSplineDerivatives
BicubicSplineImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bicubicsplineinterpolation.hppQuantLib.detail.BicubicSplineImpl<I1,I2,M>
BilinearInterpolationImpl<I1,I2,M>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\bilinearinterpolation.hppQuantLib.detail.BilinearInterpolationImpl<I1,I2,M>
ImpliedVolatilityHelperQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\instruments\impliedvolatility.hppQuantLib.detail.ImpliedVolatilityHelper
DividendAdderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\pricingengines\vanilla\fddividendengine.hppQuantLib.detail.DividendAdder
AbcdCoeffHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\abcdinterpolation.hppQuantLib.detail.AbcdCoeffHolder
AbcdInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\abcdinterpolation.hppQuantLib.detail.AbcdInterpolationImpl<I1,I2>
SABRCoeffHolderQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRCoeffHolder
SABRInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2>
SABRInterpolationImpl<I1,I2>+SabrParametersTransformationQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2 >+SabrParametersTransformation
SABRInterpolationImpl<I1,I2>+SABRErrorQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\sabrinterpolation.hppQuantLib.detail.SABRInterpolationImpl<I1,I2>+SABRError
BootstrapHelperSorterQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\termstructures\bootstraphelper.hppQuantLib.detail.BootstrapHelperSorter
TracingQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\utilities\tracing.hppQuantLib.detail.Tracing
HullWhiteCapFloorPricerQuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\pricingengines\capfloor\mchullwhiteengine.hppQuantLib.detail.HullWhiteCapFloorPricer
ForwardFlatInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\math\interpolations\forwardflatinterpolation.hppQuantLib.detail.ForwardFlatInterpolationImpl<I1,I2>
VannaVolgaInterpolationImpl<I1,I2>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\barrieroption\vannavolgainterpolation.hppQuantLib.detail.VannaVolgaInterpolationImpl<I1,I2>
OdeFctWrapper<T>QuantLib detailC:\QuantLib-1.4\QuantLib-1.4\ql\experimental\math\adaptiverungekutta.hppQuantLib.detail.OdeFctWrapper<T>
SparkSpreadPriceQuantLib anonymous_namespace{dynprogvppintrinsicvalueengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\dynprogvppintrinsicvalueengine.cppQuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp} .SparkSpreadPrice
FuelPriceQuantLib anonymous_namespace{dynprogvppintrinsicvalueengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\dynprogvppintrinsicvalueengine.cppQuantLib.anonymous_namespace{dynprogvppintrinsicvalueengine.cpp} .FuelPrice
FdmStorageValueQuantLib anonymous_namespace{fdsimpleextoustorageengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\fdsimpleextoustorageengine.cppQuantLib.anonymous_namespace{fdsimpleextoustorageengine.cpp} .FdmStorageValue
FdmSparkSpreadInnerValueQuantLib anonymous_namespace{fdsimpleklugeextouvppengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\fdsimpleklugeextouvppengine.cppQuantLib.anonymous_namespace{fdsimpleklugeextouvppengine.cpp} .FdmSparkSpreadInnerValue
IdenticalPayoffQuantLib anonymous_namespace{vanillavppoption cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\experimental\finitedifferences\vanillavppoption.cppQuantLib.anonymous_namespace{vanillavppoption.cpp}.IdenticalPayoff
sort_by_costQuantLib anonymous_namespace{differentialevolution cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\optimization\differentialevolution.cppQuantLib.anonymous_namespace{differentialevolution.cpp}.sort_by_cost
RichardsonEqnQuantLib anonymous_namespace{richardsonextrapolation cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\richardsonextrapolation.cppQuantLib.anonymous_namespace{richardsonextrapolation.cpp} .RichardsonEqn
MonomialFctQuantLib anonymous_namespace{lsmbasissystem cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\lsmbasissystem.cppQuantLib.anonymous_namespace{lsmbasissystem.cpp}.MonomialFct
MultiDimFctQuantLib anonymous_namespace{lsmbasissystem cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\lsmbasissystem.cppQuantLib.anonymous_namespace{lsmbasissystem.cpp}.MultiDimFct
ValueEstimateQuantLib anonymous_namespace{parametricexercise cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\methods\montecarlo\parametricexercise.cppQuantLib.anonymous_namespace{parametricexercise.cpp}.ValueEstimate
AverageBMACouponPricerQuantLib anonymous_namespace{averagebmacoupon cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\averagebmacoupon.cppQuantLib.anonymous_namespace{averagebmacoupon.cpp} .AverageBMACouponPricer
BPSCalculatorQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.BPSCalculator
IrrFinderQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.IrrFinder
ZSpreadFinderQuantLib anonymous_namespace{cashflows cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\cashflows.cppQuantLib.anonymous_namespace{cashflows.cpp}.ZSpreadFinder
VariableChangeQuantLib anonymous_namespace{conundrumpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\conundrumpricer.cppQuantLib.anonymous_namespace{conundrumpricer.cpp}.VariableChange
SpyQuantLib anonymous_namespace{conundrumpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\conundrumpricer.cppQuantLib.anonymous_namespace{conundrumpricer.cpp}.Spy
PricerSetterQuantLib anonymous_namespace{couponpricer cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\couponpricer.cppQuantLib.anonymous_namespace{couponpricer.cpp}.PricerSetter
OvernightIndexedCouponPricerQuantLib anonymous_namespace{overnightindexedcoupon cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\cashflows\overnightindexedcoupon.cppQuantLib.anonymous_namespace{overnightindexedcoupon.cpp} .OvernightIndexedCouponPricer
ImpliedVolHelperQuantLib anonymous_namespace{capfloor cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\instruments\capfloor.cppQuantLib.anonymous_namespace{capfloor.cpp}.ImpliedVolHelper
ObjectiveFunctionQuantLib anonymous_namespace{creditdefaultswap cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\instruments\creditdefaultswap.cppQuantLib.anonymous_namespace{creditdefaultswap.cpp}.ObjectiveFunction
PriceErrorQuantLib anonymous_namespace{impliedvolatility cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\instruments\impliedvolatility.cppQuantLib.anonymous_namespace{impliedvolatility.cpp}.PriceError
ImpliedVolHelperQuantLib anonymous_namespace{swaption cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\instruments\swaption.cppQuantLib.anonymous_namespace{swaption.cpp}.ImpliedVolHelper
I<T>QuantLib anonymous_namespace{modifiedbessel cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\modifiedbessel.cppQuantLib.anonymous_namespace{modifiedbessel.cpp}.I<T>
I<double>QuantLib anonymous_namespace{modifiedbessel cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\modifiedbessel.cppQuantLib.anonymous_namespace{modifiedbessel.cpp}.I<double>
I<std::complex<double>>QuantLib anonymous_namespace{modifiedbessel cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\modifiedbessel.cppQuantLib.anonymous_namespace{modifiedbessel.cpp}.I<std::complex<double >>
eqn3QuantLib anonymous_namespace{bivariatenormaldistribution cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\bivariatenormaldistribution.cppQuantLib.anonymous_namespace{bivariatenormaldistribution.cpp}.eqn3
eqn6QuantLib anonymous_namespace{bivariatenormaldistribution cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\distributions\bivariatenormaldistribution.cppQuantLib.anonymous_namespace{bivariatenormaldistribution.cpp}.eqn6
HypersphereCostFunctionQuantLib anonymous_namespace{pseudosqrt cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\math\matrixutilities\pseudosqrt.cppQuantLib.anonymous_namespace{pseudosqrt.cpp}.HypersphereCostFunction
DecoratedHedgeQuantLib anonymous_namespace{upperboundengine cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\models\marketmodels\callability\upperboundengine.cppQuantLib.anonymous_namespace{upperboundengine.cpp}.DecoratedHedge
QuickCapQuantLib anonymous_namespace{swaptionpseudojacobian cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\models\marketmodels\pathwisegreeks\swaptionpseudojacobian.cppQuantLib.anonymous_namespace{swaptionpseudojacobian.cpp}.QuickCap
Garch11ConstraintQuantLib anonymous_namespace{garch cpp}C:\QuantLib-1.4\QuantLib-1.4\ql\models\volatility\garch.cppQuantLib.anonymous_namespace{garch.cpp}.Garch11Constraint

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with source files stored in the same directory, should be declared in the same namespace
// <Name>Types with source files stored in the same directory, should be declared in the same namespace</Name>
warnif count > 0 

// Group JustMyCode types in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = JustMyCode.Types.Where(t => !t.IsGlobal)
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)


from groupOfTypes in lookup
let parentNamespaces = groupOfTypes.ParentNamespaces()

// Select group of types (with source files stored in the same directory) ...
// ... but contained in several namespaces
where parentNamespaces.Count() > 1

// mainNamespaces is the namespace that contains many types 
// declared in the directory groupOfTypes .key
let mainNamespace  = groupOfTypes
                     
.ToLookup(t => t.ParentNamespace)
                     
.OrderByDescending(g => g.Count()).First().Key

// Select types with source files stored in the same directory,
// but contained in namespaces different than mainNamespace.
let typesOutOfMainNamespace = groupOfTypes
                              
.Where(t => t.ParentNamespace != mainNamespace )

                               
// Filter types declared on several source files that contain generated methods 
                               // because typically such type contains one or several partial definitions generated.
                               // These partially generated types would be false positive for the present rule.
                               .Where(t => t.SourceDecls.Count() == 1 ||
                                           
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)
where typesOutOfMainNamespace.Count() > 0

select new { mainNamespace, 

             
// Typically a type in typesOutOfMainNamespace ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type should be contained in mainNamespace.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the source file of type must be moved to the parent namespace directory.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesOutOfMainNamespace   }

30 namespaces matched

namespacestypesOutOfMainNamespaceFull Name
QuantLib9 typesQuantLib
QuantLib8 typesQuantLib
QuantLib1 typeQuantLib
QuantLib.detail7 typesQuantLib.detail
QuantLib.detail32 typesQuantLib.detail
QuantLib1 typeQuantLib
QuantLib4 typesQuantLib
QuantLib5 typesQuantLib
QuantLib5 typesQuantLib
QuantLib2 typesQuantLib
QuantLib3 typesQuantLib
QuantLib1 typeQuantLib
QuantLib3 typesQuantLib
QuantLib6 typesQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib2 typesQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib.anonymous_namespace{garch.cpp}3 typesQuantLib.anonymous_namespace{garch.cpp}
QuantLib2 typesQuantLib
QuantLib1 typeQuantLib
QuantLib3 typesQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib1 typeQuantLib
QuantLib6 typesQuantLib
QuantLib2 typesQuantLib

Statistics

Stat   typesOutOfMainNamespace
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types declared in the same namespace, should have their source files stored in the same directory
// <Name>Types declared in the same namespace, should have their source files stored in the same directory</Name>
warnif count > 0 
from @namespace in Application.Namespaces

// Group types of @namespace in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = @namespace.ChildTypes.Where(t => !t.IsGlobal && JustMyCode.Contains(t))
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)

// Are types of @namespaces declared in more than one directory?
where lookup.Count > 1

// Infer the main directory, preferably the one that has the same name as the namespace.
let dirs = lookup.Select(types => types.Key)
let mainDirNullable = dirs.Where(d => d.DirectoryName == @namespace.SimpleName).FirstOrDefault()
let mainDir = mainDirNullable ?? dirs.First()

// Types declared out of mainDir, are types in group of types declared in a directory different than mainDir!
let typesDeclaredOutOfMainDir = lookup.Where(types => types.Key != mainDir)
                                
.SelectMany(types => types)
                                
                                
// Filter types declared on several source files that contain generated methods 
                                // because typically such type contains one or several partial definitions generated.
                                // These partially generated types would be false positive for the present rule.
                                .Where(t => t.SourceDecls.Count() == 1 ||
                                            
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)

where typesDeclaredOutOfMainDir.Count() > 0

select new { @namespace, 

             
// Typically a type in typesDeclaredOutOfMainDir ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type parent namespace should be the namespace corresponding to the directory.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the type source file should be moved to mainDir.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesDeclaredOutOfMainDir , 

             
mainDir = mainDir.ToString() }

2 namespaces matched

namespacestypesDeclaredOutOfMainDirmainDirFull Name
QuantLib1742 typesC:\QuantLib-1.4\QuantLib-1.4\ql\time\calendarsQuantLib
QuantLib.detail60 typesC:\QuantLib-1.4\QuantLib-1.4\ql\timeQuantLib.detail

Statistics

Stat   typesDeclaredOutOfMainDir   mainDir
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

Object Oriented Design

Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

No types matched

Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

486 types matched

typesbaseClassesDepth of inheritanceFull Name
FixedRateCoupon4 types4QuantLib.FixedRateCoupon
InterestRateIndex3 types2QuantLib.InterestRateIndex
SwapIndex4 types3QuantLib.SwapIndex
OvernightIndexedSwapIndex5 types4QuantLib.OvernightIndexedSwapIndex
IndexedCashFlow4 types3QuantLib.IndexedCashFlow
CPICoupon6 types5QuantLib.CPICoupon
CPICashFlow5 types4QuantLib.CPICashFlow
CPIVolatilitySurface5 types3QuantLib.CPIVolatilitySurface
CPICouponPricer3 types2QuantLib.CPICouponPricer
GenericEngine<ArgumentsType,ResultsType>3 types2QuantLib.GenericEngine<ArgumentsType,ResultsType>
Instrument3 types2QuantLib.Instrument
Option4 types3QuantLib.Option
Coupon3 types3QuantLib.Coupon
InflationCoupon5 types4QuantLib.InflationCoupon
TermStructure3 types1QuantLib.TermStructure
YieldTermStructure4 types2QuantLib.YieldTermStructure
InflationTermStructure4 types2QuantLib.InflationTermStructure
ZeroInflationTermStructure5 types3QuantLib.ZeroInflationTermStructure
YoYInflationTermStructure5 types3QuantLib.YoYInflationTermStructure
InflationIndex3 types2QuantLib.InflationIndex
ZeroInflationIndex4 types3QuantLib.ZeroInflationIndex
YoYInflationIndex4 types3QuantLib.YoYInflationIndex
YoYInflationCoupon6 types5QuantLib.YoYInflationCoupon
VolatilityTermStructure4 types2QuantLib.VolatilityTermStructure
YoYOptionletVolatilitySurface5 types3QuantLib.YoYOptionletVolatilitySurface
ConstantYoYOptionletVolatility6 types4QuantLib.ConstantYoYOptionletVolatility
YoYInflationCouponPricer3 types2QuantLib.YoYInflationCouponPricer
BlackYoYInflationCouponPricer4 types3QuantLib.BlackYoYInflationCouponPricer
UnitDisplacedBlackYoYInflationCouponPricer4 types3QuantLib.UnitDisplacedBlackYoYInflationCouponPricer
BachelierYoYInflationCouponPricer4 types3QuantLib.BachelierYoYInflationCouponPricer
PlainVanillaPayoff3 types4QuantLib.PlainVanillaPayoff
PercentageStrikePayoff3 types4QuantLib.PercentageStrikePayoff
AssetOrNothingPayoff3 types4QuantLib.AssetOrNothingPayoff
CashOrNothingPayoff3 types4QuantLib.CashOrNothingPayoff
GapPayoff3 types4QuantLib.GapPayoff
SuperFundPayoff3 types4QuantLib.SuperFundPayoff
SuperSharePayoff3 types4QuantLib.SuperSharePayoff
MultiAssetOption5 types4QuantLib.MultiAssetOption
MultiAssetOption+results3 types2QuantLib.MultiAssetOption+results
VanillaVPPOption6 types5QuantLib.VanillaVPPOption
StochasticProcess1D3 types2QuantLib.StochasticProcess1D
ExtOUWithJumpsProcess3 types2QuantLib.ExtOUWithJumpsProcess
ExtendedOrnsteinUhlenbeckProcess4 types3QuantLib.ExtendedOrnsteinUhlenbeckProcess
Dividend3 types3QuantLib.Dividend
FixedDividend4 types4QuantLib.FixedDividend
FractionalDividend4 types4QuantLib.FractionalDividend
FdmExtOUJumpSolver3 types2QuantLib.FdmExtOUJumpSolver
OneAssetOption5 types4QuantLib.OneAssetOption
OneAssetOption+results4 types2QuantLib.OneAssetOption+results
VanillaOption6 types5QuantLib.VanillaOption
KlugeExtOUProcess3 types2QuantLib.KlugeExtOUProcess
FdmNdimSolver<N>3 types2QuantLib.FdmNdimSolver<N>
FdmKlugeExtOUSolver<N>3 types2QuantLib.FdmKlugeExtOUSolver<N>
BasketOption6 types5QuantLib.BasketOption
BlackVolTermStructure5 types3QuantLib.BlackVolTermStructure
BlackVolatilityTermStructure6 types4QuantLib.BlackVolatilityTermStructure
BlackVarianceTermStructure6 types4QuantLib.BlackVarianceTermStructure
LocalVolTermStructure5 types3QuantLib.LocalVolTermStructure
GeneralizedBlackScholesProcess4 types3QuantLib.GeneralizedBlackScholesProcess
BlackScholesProcess5 types4QuantLib.BlackScholesProcess
BlackScholesMertonProcess5 types4QuantLib.BlackScholesMertonProcess
BlackProcess5 types4QuantLib.BlackProcess
GarmanKohlagenProcess5 types4QuantLib.GarmanKohlagenProcess
Fdm2DimSolver3 types2QuantLib.Fdm2DimSolver
HestonProcess3 types2QuantLib.HestonProcess
FlatForward6 types3QuantLib.FlatForward
Fdm3DimSolver3 types2QuantLib.Fdm3DimSolver
FdmSimple3dExtOUJumpSolver3 types2QuantLib.FdmSimple3dExtOUJumpSolver
SwingExercise3 types3QuantLib.SwingExercise
VanillaSwingOption6 types5QuantLib.VanillaSwingOption
VanillaStorageOption6 types5QuantLib.VanillaStorageOption
FdmSimple2dExtOUSolver3 types2QuantLib.FdmSimple2dExtOUSolver
GenericModelEngine<ModelType,ArgumentsType,ResultsType>4 types3QuantLib.GenericModelEngine<ModelType,ArgumentsType,ResultsType>
CPICapFloor4 types3QuantLib.CPICapFloor
CubicNaturalSpline3 types3QuantLib.CubicNaturalSpline
MonotonicCubicNaturalSpline3 types3QuantLib.MonotonicCubicNaturalSpline
CubicSplineOvershootingMinimization13 types3QuantLib.CubicSplineOvershootingMinimization1
CubicSplineOvershootingMinimization23 types3QuantLib.CubicSplineOvershootingMinimization2
AkimaCubicInterpolation3 types3QuantLib.AkimaCubicInterpolation
KrugerCubic3 types3QuantLib.KrugerCubic
FritschButlandCubic3 types3QuantLib.FritschButlandCubic
Parabolic3 types3QuantLib.Parabolic
MonotonicParabolic3 types3QuantLib.MonotonicParabolic
CPICapFloorTermPriceSurface5 types3QuantLib.CPICapFloorTermPriceSurface
InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>6 types4QuantLib.InterpolatedCPICapFloorTermPriceSurface<Interpolator2D>
GemanRoncoroniProcess4 types3QuantLib.GemanRoncoroniProcess
SimpleCashFlow3 types3QuantLib.SimpleCashFlow
Redemption4 types4QuantLib.Redemption
AmortizingPayment4 types4QuantLib.AmortizingPayment
FloatingRateCoupon5 types4QuantLib.FloatingRateCoupon
IborIndex4 types3QuantLib.IborIndex
OvernightIndex5 types4QuantLib.OvernightIndex
IborCoupon6 types5QuantLib.IborCoupon
OptionletVolatilityStructure5 types3QuantLib.OptionletVolatilityStructure
SwaptionVolatilityStructure5 types3QuantLib.SwaptionVolatilityStructure
IborCouponPricer3 types2QuantLib.IborCouponPricer
BlackIborCouponPricer4 types3QuantLib.BlackIborCouponPricer
CmsCouponPricer3 types2QuantLib.CmsCouponPricer
Bond4 types3QuantLib.Bond
CPIBond5 types4QuantLib.CPIBond

Statistics

Stat   baseClasses   Depth of inheritance
Sum:01 754
Average:03.61
Minimum:00
Maximum:06
Standard deviation:01.19
Variance:01.41
Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

34 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)7 methods0 type__Globals.CPISwap(QuantLib::CPISwap::Type,Real,bool,Spread ,constQuantLib::DayCounter&,constQuantLib::Schedule& ,constQuantLib::BusinessDayConvention&,Natural,constint)
CappedFlooredYoYInflationCoupon(constint)1 method0 type__Globals.CappedFlooredYoYInflationCoupon(constint)
IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)1 method0 type__Globals.IborCoupon(constQuantLib::Date&,Real,constQuantLib::Date& ,constQuantLib::Date&,Natural,constint)
YearOnYearInflationSwap(QuantLib::YearOnYearInflationSwap::Type,Real ,constQuantLib::Schedule&,Rate,constQuantLib::DayCounter& ,constQuantLib::Schedule&,constint)4 methods0 type__Globals.YearOnYearInflationSwap (QuantLib::YearOnYearInflationSwap::Type,Real,constQuantLib::Schedule& ,Rate,constQuantLib::DayCounter&,constQuantLib::Schedule&,constint)
AccountingEngine(constint)3 methods0 type__Globals.AccountingEngine(constint)
PathwiseAccountingEngine(constint)3 methods0 type__Globals.PathwiseAccountingEngine(constint)
PathwiseVegasAccountingEngine(constint)3 methods0 type__Globals.PathwiseVegasAccountingEngine(constint)
PathwiseVegasOuterAccountingEngine(constint)3 methods0 type__Globals.PathwiseVegasOuterAccountingEngine(constint)
ProxyGreekEngine(constint)3 methods0 type__Globals.ProxyGreekEngine(constint)
FittedBondDiscountCurve(Natural,constQuantLib::Calendar&,constint)1 method0 type__Globals.FittedBondDiscountCurve(Natural,constQuantLib::Calendar& ,constint)
FittedBondDiscountCurve(constQuantLib::Date&,constint)1 method0 type__Globals.FittedBondDiscountCurve(constQuantLib::Date&,constint)
VarianceGammaModel(constint)1 method0 type__Globals.VarianceGammaModel(constint)
IndexedCashFlow(Real,constint)2 methods1 typeQuantLib.IndexedCashFlow.IndexedCashFlow(Real,constint)
CPICashFlow(Real,constint)3 methods0 typeQuantLib.CPICashFlow.CPICashFlow(Real,constint)
MultiplicativePriceSeasonality(constQuantLib::Date& ,constQuantLib::Frequency,conststd::vector<Rate>)1 method0 typeQuantLib.MultiplicativePriceSeasonality.MultiplicativePriceSeasonality (constQuantLib::Date&,constQuantLib::Frequency,conststd::vector<Rate>)
GaussianQuadrature(Size,constQuantLib::GaussianOrthogonalPolynomial&)2 methods8 typesQuantLib.GaussianQuadrature.GaussianQuadrature(Size ,constQuantLib::GaussianOrthogonalPolynomial&)
CPICapFloorTermPriceSurface(Real,Real,constQuantLib::Period& ,constQuantLib::Calendar&,constQuantLib::BusinessDayConvention& ,constQuantLib::DayCounter&,constHandle<QuantLib::ZeroInflationIndex>& ,constHandle<QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)1 method1 typeQuantLib.CPICapFloorTermPriceSurface.CPICapFloorTermPriceSurface(Real ,Real,constQuantLib::Period&,constQuantLib::Calendar& ,constQuantLib::BusinessDayConvention&,constQuantLib::DayCounter& ,constHandle<QuantLib::ZeroInflationIndex>&,constHandle <QuantLib::YieldTermStructure>&,conststd::vector<Rate>& ,conststd::vector<Rate>&,conststd::vector<Period>& ,constQuantLib::Matrix&,constQuantLib::Matrix&)
CappedFlooredYoYInflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)1 method0 typeQuantLib.CappedFlooredYoYInflationCoupon .CappedFlooredYoYInflationCoupon(constQuantLib::Date&,Real ,constQuantLib::Date&,constQuantLib::Date&,Natural,constint)
SmileSection(constQuantLib::Date&,constQuantLib::DayCounter& ,constQuantLib::Date&)1 method8 typesQuantLib.SmileSection.SmileSection(constQuantLib::Date& ,constQuantLib::DayCounter&,constQuantLib::Date&)
CallSpecifiedMultiProduct(constClone<QuantLib::MarketModelMultiProduct >&,constClone<ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)6 methods1 typeQuantLib.CallSpecifiedMultiProduct.CallSpecifiedMultiProduct (constClone<QuantLib::MarketModelMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelMultiProduct>&)
ExerciseAdapter(constClone<QuantLib::MarketModelExerciseValue>&,Size)2 methods0 typeQuantLib.ExerciseAdapter.ExerciseAdapter(constClone <QuantLib::MarketModelExerciseValue>&,Size)
MultiProductPathwiseWrapper (constQuantLib::MarketModelPathwiseMultiProduct&)3 methods0 typeQuantLib.MultiProductPathwiseWrapper.MultiProductPathwiseWrapper (constQuantLib::MarketModelPathwiseMultiProduct&)
CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)7 methods0 typeQuantLib.CallSpecifiedPathwiseMultiProduct .CallSpecifiedPathwiseMultiProduct(constClone <QuantLib::MarketModelPathwiseMultiProduct>&,constClone <ExerciseStrategy<QuantLib::CurveState>>&,constClone <QuantLib::MarketModelPathwiseMultiProduct>&)
MarketModelPathwiseMultiDeflatedCap(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate,conststd::vector <std::pair<Size,Size>>&)1 method0 typeQuantLib.MarketModelPathwiseMultiDeflatedCap .MarketModelPathwiseMultiDeflatedCap(conststd::vector<Time>& ,conststd::vector<Real>&,conststd::vector<Time>&,Rate,conststd::vector <std::pair<Size,Size>>&)
LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)6 methods0 typeQuantLib.LongstaffSchwartzExerciseStrategy .LongstaffSchwartzExerciseStrategy(constClone <QuantLib::MarketModelBasisSystem>&,conststd::vector<std::vector<Real> >&,constQuantLib::EvolutionDescription&,conststd::vector<Size>& ,constClone<QuantLib::MarketModelExerciseValue>&,constClone <QuantLib::MarketModelExerciseValue>&)
ParametricExerciseAdapter (constQuantLib::MarketModelParametricExercise&,conststd::vector <std::vector<Real>>&)3 methods0 typeQuantLib.ParametricExerciseAdapter.ParametricExerciseAdapter (constQuantLib::MarketModelParametricExercise&,conststd::vector <std::vector<Real>>&)
OneFactorStudentCopula(constHandle<QuantLib::Quote>&,int,int,Real,Size )1 method0 typeQuantLib.OneFactorStudentCopula.OneFactorStudentCopula(constHandle <QuantLib::Quote>&,int,int,Real,Size)
OneFactorGaussianStudentCopula(constHandle<QuantLib::Quote>&,int,Real ,Size)1 method0 typeQuantLib.OneFactorGaussianStudentCopula.OneFactorGaussianStudentCopula (constHandle<QuantLib::Quote>&,int,Real,Size)
OneFactorStudentGaussianCopula(constHandle<QuantLib::Quote>&,int,Real ,Size)1 method0 typeQuantLib.OneFactorStudentGaussianCopula.OneFactorStudentGaussianCopula (constHandle<QuantLib::Quote>&,int,Real,Size)
SmileSectionUtils(constQuantLib::SmileSection&,conststd::vector<Real>& ,constReal,constbool)4 methods0 typeQuantLib.SmileSectionUtils.SmileSectionUtils (constQuantLib::SmileSection&,conststd::vector<Real>&,constReal ,constbool)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)2 methods0 typeQuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,conststd::vector<Date>&,conststd::vector<Volatility>&,Rate,Rate ,constInterpolator1D&)
InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)1 method0 typeQuantLib.InterpolatedYoYOptionletVolatilityCurve<Interpolator1D> .InterpolatedYoYOptionletVolatilityCurve<Interpolator1D>(Natural ,constQuantLib::Calendar&,QuantLib::BusinessDayConvention ,constQuantLib::DayCounter&,constQuantLib::Period&,QuantLib::Frequency ,bool,Rate,Rate,Volatility,constInterpolator1D&)
ValueEstimate(conststd::vector<NodeData>& ,constQuantLib::ParametricExercise&,Size)1 method0 typeQuantLib.anonymous_namespace{parametricexercise.cpp}.ValueEstimate .ValueEstimate(conststd::vector<NodeData>& ,constQuantLib::ParametricExercise&,Size)
PriceError(constQuantLib::PricingEngine&,QuantLib::SimpleQuote&,Real)1 method0 typeQuantLib.anonymous_namespace{impliedvolatility.cpp}.PriceError .PriceError(constQuantLib::PricingEngine&,QuantLib::SimpleQuote&,Real)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
Avoid the Singleton pattern
//<Name>Avoid the Singleton pattern</Name>
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && (t.IsClass || t.IsStructure)

// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0

// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }

// The Singleton pattern consists in syntactically enforcing that a class 
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
//  http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
//  http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/

No types matched

Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

13 fields matched

fieldsassignedByFull Name
one1 methodQuantLib.ErrorFunction.one
pp01 methodQuantLib.ErrorFunction.pp0
pa01 methodQuantLib.ErrorFunction.pa0
ra01 methodQuantLib.ErrorFunction.ra0
rb01 methodQuantLib.ErrorFunction.rb0
a3_1 methodQuantLib.MoroInverseCumulativeNormal.a3_
c0_1 methodQuantLib.MoroInverseCumulativeNormal.c0_
N2 methodsQuantLib.MersenneTwisterUniformRng.N
bits_1 methodQuantLib.SobolRsg.bits_
KK2 methodsQuantLib.KnuthUniformRng.KK
LL2 methodsQuantLib.KnuthUniformRng.LL
TT1 methodQuantLib.KnuthUniformRng.TT
maxRandom1 methodQuantLib.LecuyerUniformRng.maxRandom

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

34 types matched

typesmethodsAndGettersFull Name
InterestRateIndex15 methodsQuantLib.InterestRateIndex
CPIVolatilitySurface15 methodsQuantLib.CPIVolatilitySurface
Instrument13 methodsQuantLib.Instrument
Coupon17 methodsQuantLib.Coupon
Index11 methodsQuantLib.Index
TermStructure11 methodsQuantLib.TermStructure
YieldTermStructure12 methodsQuantLib.YieldTermStructure
InflationTermStructure11 methodsQuantLib.InflationTermStructure
InflationIndex13 methodsQuantLib.InflationIndex
Interpolation+Impl12 methodsQuantLib.Interpolation+Impl
YoYOptionletVolatilitySurface17 methodsQuantLib.YoYOptionletVolatilitySurface
StochasticProcess13 methodsQuantLib.StochasticProcess
StochasticProcess1D17 methodsQuantLib.StochasticProcess1D
BlackVolTermStructure12 methodsQuantLib.BlackVolTermStructure
Interpolation2D+Impl14 methodsQuantLib.Interpolation2D+Impl
CPICapFloorTermPriceSurface24 methodsQuantLib.CPICapFloorTermPriceSurface
SwaptionVolatilityStructure21 methodsQuantLib.SwaptionVolatilityStructure
DiscretizedAsset16 methodsQuantLib.DiscretizedAsset
SmileSection18 methodsQuantLib.SmileSection
HaganPricer11 methodsQuantLib.HaganPricer
DefaultProbabilityTermStructure16 methodsQuantLib.DefaultProbabilityTermStructure
Forward12 methodsQuantLib.Forward
CurveState16 methodsQuantLib.CurveState
MarketModel12 methodsQuantLib.MarketModel
MarketModelPathwiseMultiProduct11 methodsQuantLib.MarketModelPathwiseMultiProduct
CTSMMCapletCalibration19 methodsQuantLib.CTSMMCapletCalibration
JointStochasticProcess18 methodsQuantLib.JointStochasticProcess
LmCorrelationModel11 methodsQuantLib.LmCorrelationModel
CallableBondVolatilityStructure17 methodsQuantLib.CallableBondVolatilityStructure
OneFactorCopula15 methodsQuantLib.OneFactorCopula
RiskyBond15 methodsQuantLib.RiskyBond
Gaussian1dModel16 methodsQuantLib.Gaussian1dModel
FFTEngine11 methodsQuantLib.FFTEngine
YoYCapFloorTermPriceSurface24 methodsQuantLib.YoYCapFloorTermPriceSurface

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

API Breaking Changes

API Breaking Changes: Types
// <Name>API Breaking Changes: Types</Name>
// This rule warns if a publicly visible type is 
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.

warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||

     
// ... or the type is not publicly visible anymore
       !t.WasRemoved() && !t.NewerVersion().IsPublic)

select new { t,
             
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }

No types matched

API Breaking Changes: Methods
// <Name>API Breaking Changes: Methods</Name>
// This rule warns if a publicly visible method is 
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.

warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent type hasn't been removed ...
     ( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||

     
// ... or the method is not publicly visible anymore
       !m.WasRemoved() && !m.NewerVersion().IsPublic)

select new { m,
             
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }

No methods matched

API Breaking Changes: Fields
// <Name>API Breaking Changes: Fields</Name>
// This rule warns if a publicly visible field is 
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.

warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPublic &&

     
// The field has been removed and its parent type hasn't been removed ...
     ( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||

     
// ... or the field is not publicly visible anymore
       !f.WasRemoved() && !f.NewerVersion().IsPublic)

select new { f,
             
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }

No fields matched

API Breaking Changes: Interfaces and Abstract Classes
// <Name>API Breaking Changes: Interfaces and Abstract Classes</Name>
// This rule warns if a publicly visible interface or abstract class 
// has been changed and contains new abstract methods or 
// if some abstract methods have been removed.
// This can break the code of clients 
// that implement such interface or derive from such abstract class.

warnif count > 0 from tNewer in Application.Types where 
 
(tNewer.IsInterface || tNewer.IsClass && tNewer.IsAbstract) && 
  
tNewer.IsPublic && 
  
tNewer.IsPresentInBothBuilds()

let tOlder = tNewer.OlderVersion() where tOlder.IsPublic

let methodsRemoved = tOlder.Methods.Where(m => m.IsAbstract && m.WasRemoved())
let methodsAdded = tNewer.Methods.Where(m => m.IsAbstract && m.WasAdded())

where methodsAdded.Count() > 0 || methodsRemoved.Count() > 0
select new { tNewer, methodsAdded, methodsRemoved }

No types matched

Avoid transforming immutable types into mutable types
// <Name>Avoid transforming immutable types into mutable types</Name>

// Immutability is a strong property on a type.
// Breaking immutability can result in serious problem for an algorithm consummer
// that has been written taking account of the type immutability.

// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0 
from t in Application.Types where
  
t.IsPresentInBothBuilds() &&
 
!t.IsStatic &&
 
!t.IsImmutable && 
  
t.OlderVersion().IsImmutable

let mutableFields = from f in t.InstanceFields where !f.IsImmutable select f

select new { t, mutableFields }

No types matched

API: New publicly visible types
// <Name>API: New publicly visible types</Name>
// List types that are new in the public surface of your Projects

from t in Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasAdded() && !t.ParentProject.WasAdded()) ||

     
// ... or the type existed but was not publicly visible
       !t.WasAdded() && !t.OlderVersion().IsPublic)

select new { t,
             
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }

No types matched

API: New publicly visible methods
// <Name>API: New publicly visible methods</Name>
// List methods that are new in the public surface of your Projects

from m in Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent project hasn'm been removed ...
     ( (m.WasAdded() && !m.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !m.WasAdded() && !m.OlderVersion().IsPublic)

select new { m,
             
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }

No methods matched

API: New publicly visible fields
// <Name>API: New publicly visible fields</Name>
// List fields that are new in the public surface of your Projects

from f in Application.Fields
where f.IsPublic && 

     
// The method has been removed and its parent project hasn'f been removed ...
     ( (f.WasAdded() && !f.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !f.WasAdded() && !f.OlderVersion().IsPublic)

select new { f,
             
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }

No fields matched

Code Diff Summary

New Projects
// <Name>New Projects</Name>
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }

No projects matched

Projects removed
// <Name>Projects removed</Name>
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }

No projects matched

Projects where code was changed
// <Name>Projects where code was changed</Name>
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode, 
             
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode ,
             
delta = (int) a.NbLinesOfCode - a.OlderVersion().NbLinesOfCode }

No projects matched

New namespaces
// <Name>New namespaces</Name>
from n in Application.Namespaces where 
 
!n.ParentProject.WasAdded() &&
  
n.WasAdded()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces removed
// <Name>Namespaces removed</Name>
from n in codeBase.OlderVersion().Application.Namespaces where 
 
!n.ParentProject.WasRemoved() &&
  
n.WasRemoved()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces where code was changed
// <Name>Namespaces where code was changed</Name>
from n in Application.Namespaces where n.CodeWasChanged()
select new { n, n.NbLinesOfCode, 
             
oldNbLinesOfCode = n.OlderVersion().NbLinesOfCode ,
             
delta = (int) n.NbLinesOfCode - n.OlderVersion().NbLinesOfCode }

No namespaces matched

New types
// <Name>New types</Name>
from t in Application.Types where 
 
!t.ParentNamespace.WasAdded() &&
  
t.WasAdded()
select new { t, t.NbLinesOfCode }

No types matched

Types removed
// <Name>Types removed</Name>
from t in codeBase.OlderVersion().Application.Types where 
 
!t.ParentNamespace.WasRemoved() &&
  
t.WasRemoved()
select new { t, t.NbLinesOfCode }

No types matched

Types where code was changed
// <Name>Types where code was changed</Name>
// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from t in Application.Types where t.CodeWasChanged() 
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode, 
             
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode } 
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode, 
             oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/

No types matched

Heuristic to find types moved from one namespace or project to another
// <Name>Heuristic to find types moved from one namespace or project to another</Name>
let typesRemoved = codeBase.OlderVersion().Types.Where(t => t.WasRemoved())
let typesAdded = Types.Where(t => t.WasAdded())

from tMoved in typesAdded.Join(
   
typesRemoved,
   
t => t.Name,
   
t => t.Name,
   
(tNewer, tOlder) => new { tNewer, 
                             
OlderParentNamespace = tOlder.ParentNamespace,
                             
OlderParentproject = tOlder.ParentProject  } ) 
select tMoved

No types matched

Types directly using one or several types changed
// <Name>Types directly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

from t in JustMyCode.Types.UsingAny(typesChanged) where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged) 
select new { t, typesChangedUsed }

No types matched

Types indirectly using one or several types changed
// <Name>Types indirectly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged) 

from t in depth.DefinitionDomain where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()

let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged) 
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged 

select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }

No types matched

New methods
// <Name>New methods</Name>
from m in Application.Methods where 
 
!m.ParentType.WasAdded() &&
  
m.WasAdded()
select new { m, m.NbLinesOfCode }

No methods matched

Methods removed
// <Name>Methods removed</Name>
from m in codeBase.OlderVersion().Application.Methods where 
 
!m.ParentType.WasRemoved() &&
  
m.WasRemoved()
select new { m, m.NbLinesOfCode }

No methods matched

Methods where code was changed
// <Name>Methods where code was changed</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode, 
             
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
             
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }

No methods matched

Methods directly calling one or several methods changed
// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { m, methodsChangedCalled }

No methods matched

Methods indirectly calling one or several methods changed
// <Name>Methods indirectly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged) 

from m in depth.DefinitionDomain where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()

let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged) 
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged 

select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }

No methods matched

New fields
// <Name>New fields</Name>
from f in Application.Fields where 
 
!f.ParentType.WasAdded() &&
  
f.WasAdded()
select new { f }

No fields matched

Fields removed
// <Name>Fields removed</Name>
from f in codeBase.OlderVersion().Application.Fields where 
 
!f.ParentType.WasRemoved() &&
  
f.WasRemoved()
select new { f }

No fields matched

Third party types that were not used and that are now used
// <Name>Third party types that were not used and that are now used</Name>
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields } 

No types matched

Third party types that were used and that are not used anymore
// <Name>Third party types that were used and that are not used anymore</Name>
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields }  

No types matched

Third party methods that were not used and that are now used
// <Name>Third party methods that were not used and that are now used</Name>
from m in ThirdParty.Methods where 
  
m.IsUsedRecently() &&
 
!m.ParentType.IsUsedRecently()
select m

No methods matched

Third party methods that were used and that are not used anymore
// <Name>Third party methods that were used and that are not used anymore</Name>
from m in codeBase.OlderVersion().Methods where 
  
m.IsNotUsedAnymore() &&
 
!m.ParentType.IsNotUsedAnymore()
select m

No methods matched

Third party fields that were not used and that are now used
// <Name>Third party fields that were not used and that are now used</Name>
from f in ThirdParty.Fields where 
  
f.IsUsedRecently() &&
 
!f.ParentType.IsUsedRecently()
select f

No fields matched

Third party fields that were used and that are not used anymore
// <Name>Third party fields that were used and that are not used anymore</Name>
from f in codeBase.OlderVersion().Fields where 
  
f.IsNotUsedAnymore() &&
 
!f.ParentType.IsNotUsedAnymore()
select f

No fields matched

Dead Code

Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

576 types matched

typesFull Name
NullCalendar+ImplQuantLib.NullCalendar+Impl
DateGenerationQuantLib.DateGeneration
FixedRateCouponQuantLib.FixedRateCoupon
ReplicationQuantLib.Replication
PositionQuantLib.Position
OvernightIndexedSwapIndexQuantLib.OvernightIndexedSwapIndex
CPIQuantLib.CPI
earlier_than<QuantLib::CashFlow>QuantLib.earlier_than<QuantLib::CashFlow>
Handle<T>+LinkQuantLib.Handle<T>+Link
TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>QuantLib.TimeSeries<T,Container,>+reverse<type-parameter-1-0 ,std::bidirectional_iterator_tag>
CustomRegionQuantLib.CustomRegion
AustraliaRegionQuantLib.AustraliaRegion
EURegionQuantLib.EURegion
FranceRegionQuantLib.FranceRegion
UKRegionQuantLib.UKRegion
USRegionQuantLib.USRegion
Actual365Fixed+ImplQuantLib.Actual365Fixed+Impl
DownRoundingQuantLib.DownRounding
CeilingTruncationQuantLib.CeilingTruncation
FloorTruncationQuantLib.FloorTruncation
TARGET+ImplQuantLib.TARGET+Impl
BlackYoYInflationCouponPricerQuantLib.BlackYoYInflationCouponPricer
UnitDisplacedBlackYoYInflationCouponPricerQuantLib.UnitDisplacedBlackYoYInflationCouponPricer
BachelierYoYInflationCouponPricerQuantLib.BachelierYoYInflationCouponPricer
AmericanExerciseQuantLib.AmericanExercise
EuropeanExerciseQuantLib.EuropeanExercise
Uniform1dMesherQuantLib.Uniform1dMesher
Null<QuantLib::Array>QuantLib.Null<QuantLib::Array>
FdmMesherCompositeQuantLib.FdmMesherComposite
FdmZeroInnerValueQuantLib.FdmZeroInnerValue
FloatingTypePayoffQuantLib.FloatingTypePayoff
PercentageStrikePayoffQuantLib.PercentageStrikePayoff
CurveDependentStepCondition<array_type>+PayoffWrapperQuantLib.CurveDependentStepCondition<array_type>+PayoffWrapper
NullCondition<array_type>QuantLib.NullCondition<array_type>
MultiAssetOption+engineQuantLib.MultiAssetOption+engine
FdmAmericanStepConditionQuantLib.FdmAmericanStepCondition
OperatorTraits<Operator>QuantLib.OperatorTraits<Operator>
FdmExtOUJumpSolverQuantLib.FdmExtOUJumpSolver
FdmSimpleProcess1dMesherQuantLib.FdmSimpleProcess1dMesher
FdExtOUJumpVanillaEngineQuantLib.FdExtOUJumpVanillaEngine
FdmKlugeExtOUOpQuantLib.FdmKlugeExtOUOp
FdKlugeExtOUSpreadEngineQuantLib.FdKlugeExtOUSpreadEngine
MinBasketPayoffQuantLib.MinBasketPayoff
MaxBasketPayoffQuantLib.MaxBasketPayoff
AverageBasketPayoffQuantLib.AverageBasketPayoff
SpreadBasketPayoffQuantLib.SpreadBasketPayoff
BasketOptionQuantLib.BasketOption
identity<T>QuantLib.identity<T>
cube<T>QuantLib.cube<T>
fourth_power<T>QuantLib.fourth_power<T>
nowhereQuantLib.nowhere
SecondDerivativeOpQuantLib.SecondDerivativeOp
EulerDiscretizationQuantLib.EulerDiscretization
BlackScholesProcessQuantLib.BlackScholesProcess
BlackScholesMertonProcessQuantLib.BlackScholesMertonProcess
BlackProcessQuantLib.BlackProcess
GarmanKohlagenProcessQuantLib.GarmanKohlagenProcess
GaussLegendrePolynomialQuantLib.GaussLegendrePolynomial
GaussChebyshevPolynomialQuantLib.GaussChebyshevPolynomial
GaussChebyshev2ndPolynomialQuantLib.GaussChebyshev2ndPolynomial
GaussGegenbauerPolynomialQuantLib.GaussGegenbauerPolynomial
GaussJacobiIntegrationQuantLib.GaussJacobiIntegration
GaussHyperbolicIntegrationQuantLib.GaussHyperbolicIntegration
GaussLegendreIntegrationQuantLib.GaussLegendreIntegration
GaussChebyshev2ndIntegrationQuantLib.GaussChebyshev2ndIntegration
GaussGegenbauerIntegrationQuantLib.GaussGegenbauerIntegration
FdmExtOUJumpOpQuantLib.FdmExtOUJumpOp
SecondOrderMixedDerivativeOpQuantLib.SecondOrderMixedDerivativeOp
FdmHestonFwdOpQuantLib.FdmHestonFwdOp
FdmBlackScholesMesherQuantLib.FdmBlackScholesMesher
FdmSimple3dExtOUJumpSolverQuantLib.FdmSimple3dExtOUJumpSolver
FdSimpleExtOUJumpSwingEngineQuantLib.FdSimpleExtOUJumpSwingEngine
FdSimpleBSSwingEngineQuantLib.FdSimpleBSSwingEngine
FdSimpleExtOUStorageEngineQuantLib.FdSimpleExtOUStorageEngine
FdmSimple2dExtOUSolverQuantLib.FdmSimple2dExtOUSolver
FdSimpleKlugeExtOUVPPEngineQuantLib.FdSimpleKlugeExtOUVPPEngine
ActualActual+ISMA_ImplQuantLib.ActualActual+ISMA_Impl
ActualActual+ISDA_ImplQuantLib.ActualActual+ISDA_Impl
ActualActual+AFB_ImplQuantLib.ActualActual+AFB_Impl
CPICapFloor+resultsQuantLib.CPICapFloor+results
InterpolatingCPICapFloorEngineQuantLib.InterpolatingCPICapFloorEngine
CubicNaturalSplineQuantLib.CubicNaturalSpline
CubicSplineOvershootingMinimization1QuantLib.CubicSplineOvershootingMinimization1
CubicSplineOvershootingMinimization2QuantLib.CubicSplineOvershootingMinimization2
AkimaCubicInterpolationQuantLib.AkimaCubicInterpolation
KrugerCubicQuantLib.KrugerCubic
FritschButlandCubicQuantLib.FritschButlandCubic
MonotonicParabolicQuantLib.MonotonicParabolic
PolynomialQuantLib.Polynomial
GenericPseudoRandom<URNG,IC>+AnonymousEnumQuantLib.GenericPseudoRandom<URNG,IC>+AnonymousEnum
GenericLowDiscrepancy<URSG,IC>QuantLib.GenericLowDiscrepancy<URSG,IC>
GenericLowDiscrepancy<URSG,IC>+AnonymousEnumQuantLib.GenericLowDiscrepancy<URSG,IC>+AnonymousEnum
DurationQuantLib.Duration
CashFlowsQuantLib.CashFlows
RedemptionQuantLib.Redemption
AmortizingPaymentQuantLib.AmortizingPayment
CPISwap+engineQuantLib.CPISwap+engine
BarrierQuantLib.Barrier
DividendBarrierOptionQuantLib.DividendBarrierOption
NoConstraint+ImplQuantLib.NoConstraint+Impl

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

418 methods matched

methodsMethodsCallingMedepthFull Name
forecastFixing(constQuantLib::Date&)0 method0QuantLib.SwapIndex.forecastFixing(constQuantLib::Date&)
checkPricerImpl(constint)0 method0QuantLib.CPICoupon.checkPricerImpl(constint)
registerObserver(QuantLib::Observer*)0 method0QuantLib.Observable.registerObserver(QuantLib::Observer*)
unregisterObserver(QuantLib::Observer*)0 method0QuantLib.Observable.unregisterObserver(QuantLib::Observer*)
IndexManager()0 method0QuantLib.IndexManager.IndexManager()
Settings()0 method0QuantLib.Settings.Settings()
checkPricerImpl(constint)0 method0QuantLib.YoYInflationCoupon.checkPricerImpl(constint)
locate(Real)0 method0QuantLib.Interpolation+templateImpl.locate(Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.BlackYoYInflationCouponPricer.optionletPriceImp(Option::Type ,Real,Real,Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.UnitDisplacedBlackYoYInflationCouponPricer.optionletPriceImp (Option::Type,Real,Real,Real)
optionletPriceImp(Option::Type,Real,Real,Real)0 method0QuantLib.BachelierYoYInflationCouponPricer.optionletPriceImp (Option::Type,Real,Real,Real)
setupExpired()0 method0QuantLib.MultiAssetOption.setupExpired()
evolveAtPMin(Real)0 method0QuantLib.FdmVPPStepCondition.evolveAtPMin(Real)
evolveAtPMax(Real)0 method0QuantLib.FdmVPPStepCondition.evolveAtPMax(Real)
size()0 method0QuantLib.StochasticProcess1D.size()
initialValues()0 method0QuantLib.StochasticProcess1D.initialValues()
drift(Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.drift(Time,constQuantLib::Array&)
diffusion(Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.diffusion(Time,constQuantLib::Array&)
expectation(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.expectation(Time,constQuantLib::Array& ,Time)
stdDeviation(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.stdDeviation(Time,constQuantLib::Array& ,Time)
covariance(Time,constQuantLib::Array&,Time)0 method0QuantLib.StochasticProcess1D.covariance(Time,constQuantLib::Array& ,Time)
evolve(Time,constQuantLib::Array&,Time,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.evolve(Time,constQuantLib::Array&,Time ,constQuantLib::Array&)
apply(constQuantLib::Array&,constQuantLib::Array&)0 method0QuantLib.StochasticProcess1D.apply(constQuantLib::Array& ,constQuantLib::Array&)
performCalculations()0 method0QuantLib.FdmExtOUJumpSolver.performCalculations()
setupExpired()3 methods1QuantLib.OneAssetOption.setupExpired()
performCalculations()0 method0QuantLib.FdmKlugeExtOUSolver<N>.performCalculations()
BOOST_STATIC_ASSERT(int)0 method0QuantLib.FdmKlugeExtOUSolver<N>.BOOST_STATIC_ASSERT(int)
blackVarianceImpl(Time,Real)0 method0QuantLib.BlackVolatilityTermStructure.blackVarianceImpl(Time,Real)
blackVolImpl(Time,Real)0 method0QuantLib.BlackVarianceTermStructure.blackVolImpl(Time,Real)
integro(constQuantLib::Array&)0 method0QuantLib.FdmExtOUJumpOp.integro(constQuantLib::Array&)
performCalculations()0 method0QuantLib.Fdm2DimSolver.performCalculations()
setLowerBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setLowerBC(constint)
setUpperBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setUpperBC(constint)
setTransformLowerBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setTransformLowerBC(constint)
setTransformUpperBC(constint)0 method0QuantLib.FdmSquareRootFwdOp.setTransformUpperBC(constint)
performCalculations()0 method0QuantLib.FlatForward.performCalculations()
discountImpl(Time)0 method0QuantLib.FlatForward.discountImpl(Time)
changeState(Real,constQuantLib::Array&,Time)0 method0QuantLib.FdmVPPStartLimitStepCondition.changeState(Real ,constQuantLib::Array&,Time)
performCalculations()0 method0QuantLib.FdmSimple3dExtOUJumpSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmSimple2dExtOUSolver.performCalculations()
locateX(Real)0 method0QuantLib.Interpolation2D+templateImpl.locateX(Real)
locateY(Real)0 method0QuantLib.Interpolation2D+templateImpl.locateY(Real)
next(bool)0 method0QuantLib.PathGenerator<GSG>.next(bool)
Factorial()0 method0QuantLib.Factorial.Factorial()
CashFlows()0 method0QuantLib.CashFlows.CashFlows()
CashFlows(constQuantLib::CashFlows&)0 method0QuantLib.CashFlows.CashFlows(constQuantLib::CashFlows&)
setupExpired()0 method0QuantLib.Bond.setupExpired()
setSingleRedemption(Real,constint)0 method0QuantLib.Bond.setSingleRedemption(Real,constint)
setupExpired()6 methods1QuantLib.Swap.setupExpired()
setupExpired()0 method0QuantLib.CPISwap.setupExpired()
setupArguments(PricingEngine::arguments*)0 method0QuantLib.DividendBarrierOption.setupArguments (PricingEngine::arguments*)
forwardSolve(constQuantLib::Array&)0 method0QuantLib.SparseILUPreconditioner.forwardSolve(constQuantLib::Array&)
backwardSolve(constQuantLib::Array&)0 method0QuantLib.SparseILUPreconditioner.backwardSolve(constQuantLib::Array&)
rotateArray(QuantLib::Array)0 method0QuantLib.DifferentialEvolution.rotateArray(QuantLib::Array)
~CuriouslyRecurringTemplate<Impl>()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.~CuriouslyRecurringTemplate <Impl>()
impl()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.impl()
impl()0 method0QuantLib.CuriouslyRecurringTemplate<Impl>.impl()
integrate(constint)0 method0QuantLib.GaussLobattoIntegral.integrate(constint)
adaptivGaussLobattoStep(constint)0 method0QuantLib.GaussLobattoIntegral.adaptivGaussLobattoStep(constint)
calculateAbsTolerance(constint)0 method0QuantLib.GaussLobattoIntegral.calculateAbsTolerance(constint)
integro(constQuantLib::Array&)0 method0QuantLib.FdmBatesOp.integro(constQuantLib::Array&)
discountImpl(Time)0 method0QuantLib.ZeroYieldStructure.discountImpl(Time)
zeroYieldImpl(Time)0 method0QuantLib.ZeroSpreadedTermStructure.zeroYieldImpl(Time)
forwardImpl(Time)0 method0QuantLib.ZeroSpreadedTermStructure.forwardImpl(Time)
isOnTime(Time)7 methods1QuantLib.DiscretizedAsset.isOnTime(Time)
postAdjustValuesImpl()0 method0QuantLib.DiscretizedOption.postAdjustValuesImpl()
applyExerciseCondition()1 method1QuantLib.DiscretizedOption.applyExerciseCondition()
setupExpired()0 method0QuantLib.VanillaSwap.setupExpired()
V(Time)0 method0QuantLib.G2.V(Time)
A(Time,Time)0 method0QuantLib.HullWhite.A(Time,Time)
BoundaryConditionSchemeHelper()0 method0QuantLib.BoundaryConditionSchemeHelper.BoundaryConditionSchemeHelper()
apply(constQuantLib::Array&)0 method0QuantLib.ImplicitEulerScheme.apply(constQuantLib::Array&)
performCalculations()0 method0QuantLib.Fdm1DimSolver.performCalculations()
performCalculations()0 method0QuantLib.Fdm2dBlackScholesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmHestonSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmBatesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmBlackScholesSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmG2Solver.performCalculations()
performCalculations()0 method0QuantLib.FdmHestonHullWhiteSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmHullWhiteSolver.performCalculations()
performCalculations()0 method0QuantLib.FdmSimple2dBSSolver.performCalculations()
discountImpl(Time)0 method0QuantLib.FdmAffineModelTermStructure.discountImpl(Time)
getState(constint)0 method0QuantLib.FdmAffineModelSwapInnerValue<ModelType>.getState(constint)
integrate(constint)0 method0QuantLib.TrapezoidIntegral<IntegrationPolicy>.integrate(constint)
integrate(constint)0 method0QuantLib.SimpsonIntegral.integrate(constint)
forecastFixing(constQuantLib::Date&)0 method0QuantLib.BMAIndex.forecastFixing(constQuantLib::Date&)
drift(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.drift(Real,Real,Real,Real)
derDriftDerLambdaS(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.derDriftDerLambdaS(Real,Real,Real ,Real)
derDriftDerLambdaT(Real,Real,Real,Real)0 method0QuantLib.RangeAccrualPricerByBgm.derDriftDerLambdaT(Real,Real,Real ,Real)
GFunctionFactory()0 method0QuantLib.GFunctionFactory.GFunctionFactory()
initialize(constQuantLib::FloatingRateCoupon&)0 method0QuantLib.HaganPricer.initialize(constQuantLib::FloatingRateCoupon&)
functionF(constReal)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.functionF(constReal)
firstDerivativeOfF(constReal)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.firstDerivativeOfF (constReal)
setStrike(Real)0 method0QuantLib.NumericHaganPricer+ConundrumIntegrand.setStrike(Real)
optionletPrice(Option::Type,Real)0 method0QuantLib.AnalyticHaganPricer.optionletPrice(Option::Type,Real)
swapletPrice()0 method0QuantLib.AnalyticHaganPricer.swapletPrice()
integrate(constint)0 method0QuantLib.GaussKronrodNonAdaptive.integrate(constint)
integrate(constint)0 method0QuantLib.GaussKronrodAdaptive.integrate(constint)
integrateRecursively(constint)0 method0QuantLib.GaussKronrodAdaptive.integrateRecursively(constint)
setupExpired()0 method0QuantLib.AssetSwap.setupExpired()

Statistics

Stat   MethodsCallingMe   depth
Sum:067
Average:00.16
Minimum:00
Maximum:02
Standard deviation:00.39
Variance:00.15
Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

903 fields matched

fieldsFull Name
rate_QuantLib.FixedRateCoupon.rate_
firstPeriodDC_QuantLib.FixedRateLeg.firstPeriodDC_
dayCounter_QuantLib.InterestRateIndex.dayCounter_
discount_QuantLib.SwapIndex.discount_
lastFixingDate_QuantLib.SwapIndex.lastFixingDate_
lastFixingDate_QuantLib.OvernightIndexedSwapIndex.lastFixingDate_
baseCPI_QuantLib.CPILeg.baseCPI_
observationLag_QuantLib.CPILeg.observationLag_
paymentDayCounter_QuantLib.CPILeg.paymentDayCounter_
capletVol_QuantLib.CPICouponPricer.capletVol_
additionalResults_QuantLib.Instrument.additionalResults_
dayCounter_QuantLib.InflationCoupon.dayCounter_
dayCounter_QuantLib.TermStructure.dayCounter_
dc_QuantLib.InterestRate.dc_
nominalTermStructure_QuantLib.InflationTermStructure.nominalTermStructure_
referenceDate_QuantLib.InflationIndex.referenceDate_
zeroInflation_QuantLib.ZeroInflationIndex.zeroInflation_
yoyInflation_QuantLib.YoYInflationIndex.yoyInflation_
observationLag_QuantLib.yoyInflationLeg.observationLag_
paymentDayCounter_QuantLib.yoyInflationLeg.paymentDayCounter_
rateCurve_QuantLib.InflationCouponPricer.rateCurve_
capletVol_QuantLib.YoYInflationCouponPricer.capletVol_
f_QuantLib.InverseCumulativeNormal.f_
intEps_QuantLib.ExtendedOrnsteinUhlenbeckProcess.intEps_
conditions_QuantLib.FdmStepConditionComposite.conditions_
diagonal_QuantLib.TridiagonalOperator.diagonal_
lowerDiagonal_QuantLib.TridiagonalOperator.lowerDiagonal_
upperDiagonal_QuantLib.TridiagonalOperator.upperDiagonal_
temp_QuantLib.TridiagonalOperator.temp_
bcSet_QuantLib.FdmBackwardSolver.bcSet_
process_QuantLib.FdmExtOUJumpSolver.process_
solverDesc_QuantLib.FdmExtOUJumpSolver.solverDesc_
schemeDesc_QuantLib.FdmExtOUJumpSolver.schemeDesc_
tGrid_QuantLib.FdExtOUJumpVanillaEngine.tGrid_
xGrid_QuantLib.FdExtOUJumpVanillaEngine.xGrid_
yGrid_QuantLib.FdExtOUJumpVanillaEngine.yGrid_
schemeDesc_QuantLib.FdExtOUJumpVanillaEngine.schemeDesc_
bcSet_QuantLib.FdmKlugeExtOUOp.bcSet_
corrMap_QuantLib.FdmKlugeExtOUOp.corrMap_
values_QuantLib.FdmSnapshotCondition.values_
klugeOUProcess_QuantLib.FdmKlugeExtOUSolver<N>.klugeOUProcess_
direction_QuantLib.FdmExpExtOUInnerValueCalculator.direction_
tGrid_QuantLib.FdKlugeExtOUSpreadEngine.tGrid_
xGrid_QuantLib.FdKlugeExtOUSpreadEngine.xGrid_
yGrid_QuantLib.FdKlugeExtOUSpreadEngine.yGrid_
uGrid_QuantLib.FdKlugeExtOUSpreadEngine.uGrid_
schemeDesc_QuantLib.FdKlugeExtOUSpreadEngine.schemeDesc_
weights_QuantLib.AverageBasketPayoff.weights_
x0_QuantLib.GeneralizedBlackScholesProcess.x0_
riskFreeRate_QuantLib.GeneralizedBlackScholesProcess.riskFreeRate_
blackVolatility_QuantLib.GeneralizedBlackScholesProcess.blackVolatility_
localVolatility_QuantLib.GeneralizedBlackScholesProcess.localVolatility_
x_QuantLib.FdmBlackScholesFwdOp.x_
dxMap_QuantLib.FdmBlackScholesFwdOp.dxMap_
dxxMap_QuantLib.FdmBlackScholesFwdOp.dxxMap_
mapT_QuantLib.FdmBlackScholesFwdOp.mapT_
strike_QuantLib.FdmBlackScholesFwdOp.strike_
bcSet_QuantLib.FdmExtendedOrnsteinUhlenbackOp.bcSet_
x_QuantLib.FdmExtendedOrnsteinUhlenbackOp.x_
dxMap_QuantLib.FdmExtendedOrnsteinUhlenbackOp.dxMap_
dxxMap_QuantLib.FdmExtendedOrnsteinUhlenbackOp.dxxMap_
mapX_QuantLib.FdmExtendedOrnsteinUhlenbackOp.mapX_
x_QuantLib.GaussianQuadrature.x_
w_QuantLib.GaussianQuadrature.w_
bcSet_QuantLib.FdmExtOUJumpOp.bcSet_
gaussLaguerreIntegration_QuantLib.FdmExtOUJumpOp.gaussLaguerreIntegration_
x_QuantLib.FdmExtOUJumpOp.x_
dyMap_QuantLib.FdmExtOUJumpOp.dyMap_
integroPart_QuantLib.FdmExtOUJumpOp.integroPart_
x_QuantLib.Fdm2DimSolver.x_
y_QuantLib.Fdm2DimSolver.y_
resultValues_QuantLib.Fdm2DimSolver.resultValues_
riskFreeRate_QuantLib.HestonProcess.riskFreeRate_
s0_QuantLib.HestonProcess.s0_
v_QuantLib.FdmSquareRootFwdOp.v_
vq_QuantLib.FdmSquareRootFwdOp.vq_
vmq_QuantLib.FdmSquareRootFwdOp.vmq_
kappa_QuantLib.FdmHestonFwdOp.kappa_
theta_QuantLib.FdmHestonFwdOp.theta_
sigma_QuantLib.FdmHestonFwdOp.sigma_
rho_QuantLib.FdmHestonFwdOp.rho_
v0_QuantLib.FdmHestonFwdOp.v0_
varianceValues_QuantLib.FdmHestonFwdOp.varianceValues_
forward_QuantLib.FlatForward.forward_
rate_QuantLib.FlatForward.rate_
process_QuantLib.FdmSimple3dExtOUJumpSolver.process_
solverDesc_QuantLib.FdmSimple3dExtOUJumpSolver.solverDesc_
schemeDesc_QuantLib.FdmSimple3dExtOUJumpSolver.schemeDesc_
tGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.tGrid_
xGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.xGrid_
yGrid_QuantLib.FdSimpleExtOUJumpSwingEngine.yGrid_
schemeDesc_QuantLib.FdSimpleExtOUJumpSwingEngine.schemeDesc_
tGrid_QuantLib.FdSimpleBSSwingEngine.tGrid_
xGrid_QuantLib.FdSimpleBSSwingEngine.xGrid_
schemeDesc_QuantLib.FdSimpleBSSwingEngine.schemeDesc_
tGrid_QuantLib.FdSimpleExtOUStorageEngine.tGrid_
xGrid_QuantLib.FdSimpleExtOUStorageEngine.xGrid_
schemeDesc_QuantLib.FdSimpleExtOUStorageEngine.schemeDesc_
process_QuantLib.FdmSimple2dExtOUSolver.process_
solverDesc_QuantLib.FdmSimple2dExtOUSolver.solverDesc_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

Trend Charts