/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.2
 *
 * 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 HestonSLVFokkerPlanckFdmParams {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected HestonSLVFokkerPlanckFdmParams(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(HestonSLVFokkerPlanckFdmParams obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  @SuppressWarnings("deprecation")
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        QuantLibJNI.delete_HestonSLVFokkerPlanckFdmParams(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public HestonSLVFokkerPlanckFdmParams(long xGrid, long vGrid, long tMaxStepsPerYear, long tMinStepsPerYear, double tStepNumberDecay, long nRannacherTimeSteps, long predictionCorretionSteps, double x0Density, double localVolEpsProb, long maxIntegrationIterations, double vLowerEps, double vUpperEps, double vMin, double v0Density, double vLowerBoundDensity, double vUpperBoundDensity, double leverageFctPropEps, FdmHestonGreensFct.Algorithm greensAlgorithm, FdmSquareRootFwdOp.TransformationType trafoType, FdmSchemeDesc schemeDesc) {
    this(QuantLibJNI.new_HestonSLVFokkerPlanckFdmParams(xGrid, vGrid, tMaxStepsPerYear, tMinStepsPerYear, tStepNumberDecay, nRannacherTimeSteps, predictionCorretionSteps, x0Density, localVolEpsProb, maxIntegrationIterations, vLowerEps, vUpperEps, vMin, v0Density, vLowerBoundDensity, vUpperBoundDensity, leverageFctPropEps, greensAlgorithm.swigValue(), trafoType.swigValue(), FdmSchemeDesc.getCPtr(schemeDesc), schemeDesc), true);
  }

}
