001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (https://www.swig.org).
003 * Version 4.1.1
004 *
005 * Do not make changes to this file unless you know what you are doing - modify
006 * the SWIG interface file instead.
007 * ----------------------------------------------------------------------------- */
008
009package org.quantlib;
010
011public class SviInterpolatedSmileSection extends SmileSection implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable {
012  private transient long swigCPtr;
013  private transient boolean swigCMemOwnDerived;
014
015  protected SviInterpolatedSmileSection(long cPtr, boolean cMemoryOwn) {
016    super(QuantLibJNI.SviInterpolatedSmileSection_SWIGSmartPtrUpcast(cPtr), true);
017    swigCMemOwnDerived = cMemoryOwn;
018    swigCPtr = cPtr;
019  }
020
021  protected static long getCPtr(SviInterpolatedSmileSection obj) {
022    return (obj == null) ? 0 : obj.swigCPtr;
023  }
024
025  protected void swigSetCMemOwn(boolean own) {
026    swigCMemOwnDerived = own;
027    super.swigSetCMemOwn(own);
028  }
029
030  @SuppressWarnings("deprecation")
031  protected void finalize() {
032    delete();
033  }
034
035  public synchronized void delete() {
036    if (swigCPtr != 0) {
037      if (swigCMemOwnDerived) {
038        swigCMemOwnDerived = false;
039        QuantLibJNI.delete_SviInterpolatedSmileSection(swigCPtr);
040      }
041      swigCPtr = 0;
042    }
043    super.delete();
044  }
045
046  public SviInterpolatedSmileSection(Date optionDate, QuoteHandle forward, DoubleVector strikes, boolean hasFloatingStrikes, QuoteHandle atmVolatility, QuoteHandleVector volHandles, double a, double b, double sigma, double rho, double m, boolean aIsFixed, boolean bIsFixed, boolean sigmaIsFixed, boolean rhoIsFixed, boolean mIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod method, DayCounter dc) {
047    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_0(Date.getCPtr(optionDate), optionDate, QuoteHandle.getCPtr(forward), forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, QuoteHandle.getCPtr(atmVolatility), atmVolatility, QuoteHandleVector.getCPtr(volHandles), volHandles, a, b, sigma, rho, m, aIsFixed, bIsFixed, sigmaIsFixed, rhoIsFixed, mIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(method), method, DayCounter.getCPtr(dc), dc), true);
048  }
049
050  public SviInterpolatedSmileSection(Date optionDate, QuoteHandle forward, DoubleVector strikes, boolean hasFloatingStrikes, QuoteHandle atmVolatility, QuoteHandleVector volHandles, double a, double b, double sigma, double rho, double m, boolean aIsFixed, boolean bIsFixed, boolean sigmaIsFixed, boolean rhoIsFixed, boolean mIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod method) {
051    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_1(Date.getCPtr(optionDate), optionDate, QuoteHandle.getCPtr(forward), forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, QuoteHandle.getCPtr(atmVolatility), atmVolatility, QuoteHandleVector.getCPtr(volHandles), volHandles, a, b, sigma, rho, m, aIsFixed, bIsFixed, sigmaIsFixed, rhoIsFixed, mIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(method), method), true);
052  }
053
054  public SviInterpolatedSmileSection(Date optionDate, QuoteHandle forward, DoubleVector strikes, boolean hasFloatingStrikes, QuoteHandle atmVolatility, QuoteHandleVector volHandles, double a, double b, double sigma, double rho, double m, boolean aIsFixed, boolean bIsFixed, boolean sigmaIsFixed, boolean rhoIsFixed, boolean mIsFixed, boolean vegaWeighted, EndCriteria endCriteria) {
055    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_2(Date.getCPtr(optionDate), optionDate, QuoteHandle.getCPtr(forward), forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, QuoteHandle.getCPtr(atmVolatility), atmVolatility, QuoteHandleVector.getCPtr(volHandles), volHandles, a, b, sigma, rho, m, aIsFixed, bIsFixed, sigmaIsFixed, rhoIsFixed, mIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria), true);
056  }
057
058  public SviInterpolatedSmileSection(Date optionDate, QuoteHandle forward, DoubleVector strikes, boolean hasFloatingStrikes, QuoteHandle atmVolatility, QuoteHandleVector volHandles, double a, double b, double sigma, double rho, double m, boolean aIsFixed, boolean bIsFixed, boolean sigmaIsFixed, boolean rhoIsFixed, boolean mIsFixed, boolean vegaWeighted) {
059    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_3(Date.getCPtr(optionDate), optionDate, QuoteHandle.getCPtr(forward), forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, QuoteHandle.getCPtr(atmVolatility), atmVolatility, QuoteHandleVector.getCPtr(volHandles), volHandles, a, b, sigma, rho, m, aIsFixed, bIsFixed, sigmaIsFixed, rhoIsFixed, mIsFixed, vegaWeighted), true);
060  }
061
062  public SviInterpolatedSmileSection(Date optionDate, QuoteHandle forward, DoubleVector strikes, boolean hasFloatingStrikes, QuoteHandle atmVolatility, QuoteHandleVector volHandles, double a, double b, double sigma, double rho, double m, boolean aIsFixed, boolean bIsFixed, boolean sigmaIsFixed, boolean rhoIsFixed, boolean mIsFixed) {
063    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_4(Date.getCPtr(optionDate), optionDate, QuoteHandle.getCPtr(forward), forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, QuoteHandle.getCPtr(atmVolatility), atmVolatility, QuoteHandleVector.getCPtr(volHandles), volHandles, a, b, sigma, rho, m, aIsFixed, bIsFixed, sigmaIsFixed, rhoIsFixed, mIsFixed), true);
064  }
065
066  public SviInterpolatedSmileSection(Date optionDate, double forward, DoubleVector strikes, boolean hasFloatingStrikes, double atmVolatility, DoubleVector vols, double a, double b, double sigma, double rho, double m, boolean isAFixed, boolean isBFixed, boolean isSigmaFixed, boolean isRhoFixed, boolean isMFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod method, DayCounter dc) {
067    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_5(Date.getCPtr(optionDate), optionDate, forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, atmVolatility, DoubleVector.getCPtr(vols), vols, a, b, sigma, rho, m, isAFixed, isBFixed, isSigmaFixed, isRhoFixed, isMFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(method), method, DayCounter.getCPtr(dc), dc), true);
068  }
069
070  public SviInterpolatedSmileSection(Date optionDate, double forward, DoubleVector strikes, boolean hasFloatingStrikes, double atmVolatility, DoubleVector vols, double a, double b, double sigma, double rho, double m, boolean isAFixed, boolean isBFixed, boolean isSigmaFixed, boolean isRhoFixed, boolean isMFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod method) {
071    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_6(Date.getCPtr(optionDate), optionDate, forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, atmVolatility, DoubleVector.getCPtr(vols), vols, a, b, sigma, rho, m, isAFixed, isBFixed, isSigmaFixed, isRhoFixed, isMFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(method), method), true);
072  }
073
074  public SviInterpolatedSmileSection(Date optionDate, double forward, DoubleVector strikes, boolean hasFloatingStrikes, double atmVolatility, DoubleVector vols, double a, double b, double sigma, double rho, double m, boolean isAFixed, boolean isBFixed, boolean isSigmaFixed, boolean isRhoFixed, boolean isMFixed, boolean vegaWeighted, EndCriteria endCriteria) {
075    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_7(Date.getCPtr(optionDate), optionDate, forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, atmVolatility, DoubleVector.getCPtr(vols), vols, a, b, sigma, rho, m, isAFixed, isBFixed, isSigmaFixed, isRhoFixed, isMFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria), true);
076  }
077
078  public SviInterpolatedSmileSection(Date optionDate, double forward, DoubleVector strikes, boolean hasFloatingStrikes, double atmVolatility, DoubleVector vols, double a, double b, double sigma, double rho, double m, boolean isAFixed, boolean isBFixed, boolean isSigmaFixed, boolean isRhoFixed, boolean isMFixed, boolean vegaWeighted) {
079    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_8(Date.getCPtr(optionDate), optionDate, forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, atmVolatility, DoubleVector.getCPtr(vols), vols, a, b, sigma, rho, m, isAFixed, isBFixed, isSigmaFixed, isRhoFixed, isMFixed, vegaWeighted), true);
080  }
081
082  public SviInterpolatedSmileSection(Date optionDate, double forward, DoubleVector strikes, boolean hasFloatingStrikes, double atmVolatility, DoubleVector vols, double a, double b, double sigma, double rho, double m, boolean isAFixed, boolean isBFixed, boolean isSigmaFixed, boolean isRhoFixed, boolean isMFixed) {
083    this(QuantLibJNI.new_SviInterpolatedSmileSection__SWIG_9(Date.getCPtr(optionDate), optionDate, forward, DoubleVector.getCPtr(strikes), strikes, hasFloatingStrikes, atmVolatility, DoubleVector.getCPtr(vols), vols, a, b, sigma, rho, m, isAFixed, isBFixed, isSigmaFixed, isRhoFixed, isMFixed), true);
084  }
085
086  public double a() {
087    return QuantLibJNI.SviInterpolatedSmileSection_a(swigCPtr, this);
088  }
089
090  public double b() {
091    return QuantLibJNI.SviInterpolatedSmileSection_b(swigCPtr, this);
092  }
093
094  public double sigma() {
095    return QuantLibJNI.SviInterpolatedSmileSection_sigma(swigCPtr, this);
096  }
097
098  public double rho() {
099    return QuantLibJNI.SviInterpolatedSmileSection_rho(swigCPtr, this);
100  }
101
102  public double m() {
103    return QuantLibJNI.SviInterpolatedSmileSection_m(swigCPtr, this);
104  }
105
106  public double rmsError() {
107    return QuantLibJNI.SviInterpolatedSmileSection_rmsError(swigCPtr, this);
108  }
109
110  public double maxError() {
111    return QuantLibJNI.SviInterpolatedSmileSection_maxError(swigCPtr, this);
112  }
113
114  public EndCriteria.Type endCriteria() {
115    return EndCriteria.Type.swigToEnum(QuantLibJNI.SviInterpolatedSmileSection_endCriteria(swigCPtr, this));
116  }
117
118}