File: FdmSchemeDesc.java

package info (click to toggle)
quantlib-swig 1.15-1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 103,484 kB
  • sloc: cpp: 2,029,354; cs: 61,237; java: 45,425; perl: 27,362; python: 22,024; ruby: 989; sh: 741; makefile: 319
file content (130 lines) | stat: -rw-r--r-- 4,520 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * 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 FdmSchemeDesc {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

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

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

  protected void finalize() {
    delete();
  }

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

  public FdmSchemeDesc(FdmSchemeDesc.FdmSchemeType type, double theta, double mu) {
    this(QuantLibJNI.new_FdmSchemeDesc(type.swigValue(), theta, mu), true);
  }

  public FdmSchemeDesc.FdmSchemeType getType() {
    return FdmSchemeDesc.FdmSchemeType.swigToEnum(QuantLibJNI.FdmSchemeDesc_type_get(swigCPtr, this));
  }

  public double getTheta() {
    return QuantLibJNI.FdmSchemeDesc_theta_get(swigCPtr, this);
  }

  public double getMu() {
    return QuantLibJNI.FdmSchemeDesc_mu_get(swigCPtr, this);
  }

  public static FdmSchemeDesc Douglas() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_Douglas(), true);
  }

  public static FdmSchemeDesc ImplicitEuler() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_ImplicitEuler(), true);
  }

  public static FdmSchemeDesc ExplicitEuler() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_ExplicitEuler(), true);
  }

  public static FdmSchemeDesc CraigSneyd() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_CraigSneyd(), true);
  }

  public static FdmSchemeDesc ModifiedCraigSneyd() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_ModifiedCraigSneyd(), true);
  }

  public static FdmSchemeDesc Hundsdorfer() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_Hundsdorfer(), true);
  }

  public static FdmSchemeDesc ModifiedHundsdorfer() {
    return new FdmSchemeDesc(QuantLibJNI.FdmSchemeDesc_ModifiedHundsdorfer(), true);
  }

  public final static class FdmSchemeType {
    public final static FdmSchemeDesc.FdmSchemeType HundsdorferType = new FdmSchemeDesc.FdmSchemeType("HundsdorferType");
    public final static FdmSchemeDesc.FdmSchemeType DouglasType = new FdmSchemeDesc.FdmSchemeType("DouglasType");
    public final static FdmSchemeDesc.FdmSchemeType CraigSneydType = new FdmSchemeDesc.FdmSchemeType("CraigSneydType");
    public final static FdmSchemeDesc.FdmSchemeType ModifiedCraigSneydType = new FdmSchemeDesc.FdmSchemeType("ModifiedCraigSneydType");
    public final static FdmSchemeDesc.FdmSchemeType ImplicitEulerType = new FdmSchemeDesc.FdmSchemeType("ImplicitEulerType");
    public final static FdmSchemeDesc.FdmSchemeType ExplicitEulerType = new FdmSchemeDesc.FdmSchemeType("ExplicitEulerType");

    public final int swigValue() {
      return swigValue;
    }

    public String toString() {
      return swigName;
    }

    public static FdmSchemeType swigToEnum(int swigValue) {
      if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
        return swigValues[swigValue];
      for (int i = 0; i < swigValues.length; i++)
        if (swigValues[i].swigValue == swigValue)
          return swigValues[i];
      throw new IllegalArgumentException("No enum " + FdmSchemeType.class + " with value " + swigValue);
    }

    private FdmSchemeType(String swigName) {
      this.swigName = swigName;
      this.swigValue = swigNext++;
    }

    private FdmSchemeType(String swigName, int swigValue) {
      this.swigName = swigName;
      this.swigValue = swigValue;
      swigNext = swigValue+1;
    }

    private FdmSchemeType(String swigName, FdmSchemeType swigEnum) {
      this.swigName = swigName;
      this.swigValue = swigEnum.swigValue;
      swigNext = this.swigValue+1;
    }

    private static FdmSchemeType[] swigValues = { HundsdorferType, DouglasType, CraigSneydType, ModifiedCraigSneydType, ImplicitEulerType, ExplicitEulerType };
    private static int swigNext = 0;
    private final int swigValue;
    private final String swigName;
  }

}