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 SABRInterpolation implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable {
012  private transient long swigCPtr;
013  protected transient boolean swigCMemOwn;
014
015  protected SABRInterpolation(long cPtr, boolean cMemoryOwn) {
016    swigCMemOwn = cMemoryOwn;
017    swigCPtr = cPtr;
018  }
019
020  protected static long getCPtr(SABRInterpolation obj) {
021    return (obj == null) ? 0 : obj.swigCPtr;
022  }
023
024  protected static long swigRelease(SABRInterpolation obj) {
025    long ptr = 0;
026    if (obj != null) {
027      if (!obj.swigCMemOwn)
028        throw new RuntimeException("Cannot release ownership as memory is not owned");
029      ptr = obj.swigCPtr;
030      obj.swigCMemOwn = false;
031      obj.delete();
032    }
033    return ptr;
034  }
035
036  @SuppressWarnings("deprecation")
037  protected void finalize() {
038    delete();
039  }
040
041  public synchronized void delete() {
042    if (swigCPtr != 0) {
043      if (swigCMemOwn) {
044        swigCMemOwn = false;
045        QuantLibJNI.delete_SABRInterpolation(swigCPtr);
046      }
047      swigCPtr = 0;
048    }
049  }
050
051  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod optMethod, double errorAccept, boolean useMaxError, long maxGuesses, double shift) {
052    this(QuantLibJNI.new_SABRInterpolation__SWIG_0(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(optMethod), optMethod, errorAccept, useMaxError, maxGuesses, shift), true);
053  }
054
055  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod optMethod, double errorAccept, boolean useMaxError, long maxGuesses) {
056    this(QuantLibJNI.new_SABRInterpolation__SWIG_1(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(optMethod), optMethod, errorAccept, useMaxError, maxGuesses), true);
057  }
058
059  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod optMethod, double errorAccept, boolean useMaxError) {
060    this(QuantLibJNI.new_SABRInterpolation__SWIG_2(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(optMethod), optMethod, errorAccept, useMaxError), true);
061  }
062
063  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod optMethod, double errorAccept) {
064    this(QuantLibJNI.new_SABRInterpolation__SWIG_3(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(optMethod), optMethod, errorAccept), true);
065  }
066
067  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria, OptimizationMethod optMethod) {
068    this(QuantLibJNI.new_SABRInterpolation__SWIG_4(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria, OptimizationMethod.getCPtr(optMethod), optMethod), true);
069  }
070
071  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted, EndCriteria endCriteria) {
072    this(QuantLibJNI.new_SABRInterpolation__SWIG_5(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted, EndCriteria.getCPtr(endCriteria), endCriteria), true);
073  }
074
075  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed, boolean vegaWeighted) {
076    this(QuantLibJNI.new_SABRInterpolation__SWIG_6(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed, vegaWeighted), true);
077  }
078
079  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed, boolean rhoIsFixed) {
080    this(QuantLibJNI.new_SABRInterpolation__SWIG_7(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed, rhoIsFixed), true);
081  }
082
083  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed, boolean nuIsFixed) {
084    this(QuantLibJNI.new_SABRInterpolation__SWIG_8(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed, nuIsFixed), true);
085  }
086
087  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed, boolean betaIsFixed) {
088    this(QuantLibJNI.new_SABRInterpolation__SWIG_9(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed, betaIsFixed), true);
089  }
090
091  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho, boolean alphaIsFixed) {
092    this(QuantLibJNI.new_SABRInterpolation__SWIG_10(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho, alphaIsFixed), true);
093  }
094
095  public SABRInterpolation(Array x, Array y, double t, double forward, double alpha, double beta, double nu, double rho) {
096    this(QuantLibJNI.new_SABRInterpolation__SWIG_11(Array.getCPtr(x), x, Array.getCPtr(y), y, t, forward, alpha, beta, nu, rho), true);
097  }
098
099  public double getValue(double x, boolean allowExtrapolation) {
100    return QuantLibJNI.SABRInterpolation_getValue__SWIG_0(swigCPtr, this, x, allowExtrapolation);
101  }
102
103  public double getValue(double x) {
104    return QuantLibJNI.SABRInterpolation_getValue__SWIG_1(swigCPtr, this, x);
105  }
106
107  public double alpha() {
108    return QuantLibJNI.SABRInterpolation_alpha(swigCPtr, this);
109  }
110
111  public double beta() {
112    return QuantLibJNI.SABRInterpolation_beta(swigCPtr, this);
113  }
114
115  public double rho() {
116    return QuantLibJNI.SABRInterpolation_rho(swigCPtr, this);
117  }
118
119  public double nu() {
120    return QuantLibJNI.SABRInterpolation_nu(swigCPtr, this);
121  }
122
123}