/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.model.finitedifference; import com.opengamma.analytics.math.surface.Surface; /** * */ public class ConvectionDiffusionPDE1DCoupledCoefficients extends ConvectionDiffusionPDE1DStandardCoefficients { private final double _lambda; /** * @param a a * @param b b * @param c c * @param lambda the coupling to other system */ public ConvectionDiffusionPDE1DCoupledCoefficients(final Surface<Double, Double, Double> a, final Surface<Double, Double, Double> b, final Surface<Double, Double, Double> c, final double lambda) { super(a, b, c); _lambda = lambda; } public double getLambda() { return _lambda; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); long temp; temp = Double.doubleToLongBits(_lambda); result = prime * result + (int) (temp ^ (temp >>> 32)); return result; } @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (!(obj instanceof ConvectionDiffusionPDE1DCoupledCoefficients)) { return false; } final ConvectionDiffusionPDE1DCoupledCoefficients other = (ConvectionDiffusionPDE1DCoupledCoefficients) obj; if (Double.compare(_lambda, other._lambda) != 0) { return false; } return true; } }