org.quantlib.HestonSLVFDMModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quantlib Show documentation
Show all versions of quantlib Show documentation
Java language binding for QuantLib
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (https://www.swig.org).
* Version 4.2.1
*
* Do not make changes to this file unless you know what you are doing - modify
* the SWIG interface file instead.
* ----------------------------------------------------------------------------- */
package org.quantlib;
public class HestonSLVFDMModel implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable {
private transient long swigCPtr;
protected transient boolean swigCMemOwn;
protected HestonSLVFDMModel(long cPtr, boolean cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
protected static long getCPtr(HestonSLVFDMModel obj) {
return (obj == null) ? 0 : obj.swigCPtr;
}
protected static long swigRelease(HestonSLVFDMModel obj) {
long ptr = 0;
if (obj != null) {
if (!obj.swigCMemOwn)
throw new RuntimeException("Cannot release ownership as memory is not owned");
ptr = obj.swigCPtr;
obj.swigCMemOwn = false;
obj.delete();
}
return ptr;
}
@SuppressWarnings({"deprecation", "removal"})
protected void finalize() {
delete();
}
public synchronized void delete() {
if (swigCPtr != 0) {
if (swigCMemOwn) {
swigCMemOwn = false;
QuantLibJNI.delete_HestonSLVFDMModel(swigCPtr);
}
swigCPtr = 0;
}
}
public HestonSLVFDMModel(LocalVolTermStructure localVol, HestonModel model, Date endDate, HestonSLVFokkerPlanckFdmParams params, boolean logging, DateVector mandatoryDates, double mixingFactor) {
this(QuantLibJNI.new_HestonSLVFDMModel__SWIG_0(LocalVolTermStructure.getCPtr(localVol), localVol, HestonModel.getCPtr(model), model, Date.getCPtr(endDate), endDate, HestonSLVFokkerPlanckFdmParams.getCPtr(params), params, logging, DateVector.getCPtr(mandatoryDates), mandatoryDates, mixingFactor), true);
}
public HestonSLVFDMModel(LocalVolTermStructure localVol, HestonModel model, Date endDate, HestonSLVFokkerPlanckFdmParams params, boolean logging, DateVector mandatoryDates) {
this(QuantLibJNI.new_HestonSLVFDMModel__SWIG_1(LocalVolTermStructure.getCPtr(localVol), localVol, HestonModel.getCPtr(model), model, Date.getCPtr(endDate), endDate, HestonSLVFokkerPlanckFdmParams.getCPtr(params), params, logging, DateVector.getCPtr(mandatoryDates), mandatoryDates), true);
}
public HestonSLVFDMModel(LocalVolTermStructure localVol, HestonModel model, Date endDate, HestonSLVFokkerPlanckFdmParams params, boolean logging) {
this(QuantLibJNI.new_HestonSLVFDMModel__SWIG_2(LocalVolTermStructure.getCPtr(localVol), localVol, HestonModel.getCPtr(model), model, Date.getCPtr(endDate), endDate, HestonSLVFokkerPlanckFdmParams.getCPtr(params), params, logging), true);
}
public HestonSLVFDMModel(LocalVolTermStructure localVol, HestonModel model, Date endDate, HestonSLVFokkerPlanckFdmParams params) {
this(QuantLibJNI.new_HestonSLVFDMModel__SWIG_3(LocalVolTermStructure.getCPtr(localVol), localVol, HestonModel.getCPtr(model), model, Date.getCPtr(endDate), endDate, HestonSLVFokkerPlanckFdmParams.getCPtr(params), params), true);
}
public HestonProcess hestonProcess() {
long cPtr = QuantLibJNI.HestonSLVFDMModel_hestonProcess(swigCPtr, this);
return (cPtr == 0) ? null : new HestonProcess(cPtr, true);
}
public LocalVolTermStructure localVol() {
long cPtr = QuantLibJNI.HestonSLVFDMModel_localVol(swigCPtr, this);
return (cPtr == 0) ? null : new LocalVolTermStructure(cPtr, true);
}
public LocalVolTermStructure leverageFunction() {
long cPtr = QuantLibJNI.HestonSLVFDMModel_leverageFunction(swigCPtr, this);
return (cPtr == 0) ? null : new LocalVolTermStructure(cPtr, true);
}
}