26
26
typedef QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator>
27
DefaultBoundaryCondition;
30
30
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
31
%rename(_BoundaryCondition) BoundaryCondition;
31
%rename(_BoundaryCondition) DefaultBoundaryCondition;
33
%ignore BoundaryCondition;
33
%ignore DefaultBoundaryCondition;
35
class BoundaryCondition {
35
class DefaultBoundaryCondition {
37
37
enum Side { None, Upper, Lower };
38
38
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
40
DefaultBoundaryCondition();
43
%template(BoundaryCondition) boost::shared_ptr<BoundaryCondition>;
44
%extend boost::shared_ptr<BoundaryCondition> {
45
static const BoundaryCondition::Side NoSide = BoundaryCondition::None;
46
static const BoundaryCondition::Side Upper = BoundaryCondition::Upper;
47
static const BoundaryCondition::Side Lower = BoundaryCondition::Lower;
43
%template(BoundaryCondition) boost::shared_ptr<DefaultBoundaryCondition>;
44
%extend boost::shared_ptr<DefaultBoundaryCondition> {
45
static const DefaultBoundaryCondition::Side NoSide =
46
DefaultBoundaryCondition::None;
47
static const DefaultBoundaryCondition::Side Upper =
48
DefaultBoundaryCondition::Upper;
49
static const DefaultBoundaryCondition::Side Lower =
50
DefaultBoundaryCondition::Lower;
51
54
using QuantLib::NeumannBC;
52
55
using QuantLib::DirichletBC;
53
typedef boost::shared_ptr<BoundaryCondition> NeumannBCPtr;
54
typedef boost::shared_ptr<BoundaryCondition> DirichletBCPtr;
56
typedef boost::shared_ptr<DefaultBoundaryCondition> NeumannBCPtr;
57
typedef boost::shared_ptr<DefaultBoundaryCondition> DirichletBCPtr;
57
60
%rename(NeumannBC) NeumannBCPtr;
58
class NeumannBCPtr: public boost::shared_ptr<BoundaryCondition> {
61
class NeumannBCPtr: public boost::shared_ptr<DefaultBoundaryCondition> {
61
NeumannBCPtr(Real value, BoundaryCondition::Side side) {
64
NeumannBCPtr(Real value, DefaultBoundaryCondition::Side side) {
62
65
return new NeumannBCPtr(new NeumannBC(value, side));
67
70
%rename(DirichletBC) DirichletBCPtr;
68
class DirichletBCPtr: public boost::shared_ptr<BoundaryCondition> {
71
class DirichletBCPtr: public boost::shared_ptr<DefaultBoundaryCondition> {
71
DirichletBCPtr(Real value, BoundaryCondition::Side side) {
74
DirichletBCPtr(Real value, DefaultBoundaryCondition::Side side) {
72
75
return new DirichletBCPtr(new DirichletBC(value, side));