public double Adiff(IModelParam param) { HErlangParam v = param as HErlangParam; double o = NMath.Abs(omega - v.omega); double a = Blas.Adiff(m, alpha, v.alpha); double b = Blas.Adiff(m, rate, v.rate); return(NMath.Max(o, a, b)); }
public HErlangEMSRM(HErlangParam param) : base("(" + Blas.ArrayToString(param.Shape, "G", ",") + ")-HyperErlang SRGM", param.M, param.GetOmega, new HErlangDist(param.M, param.GetAlpha, param.GetShape, param.GetRate)) { this.param = param; tmp1 = new double[param.M]; tmp2 = new double[param.M]; a0 = new double[param.M]; a1 = new double[param.M]; gam10 = new double[param.M]; gam11 = new double[param.M]; gam20 = new double[param.M]; gam21 = new double[param.M]; en2 = new double[param.M]; en3 = new double[param.M]; }
public void CopyTo(IModelParam p) { HErlangParam v = p as HErlangParam; if (m == v.m) { v.omega = omega; Blas.Dcopy(m, alpha, v.alpha); Array.Copy(shape, v.shape, m); Blas.Dcopy(m, rate, v.rate); } else { throw new InvalidCastException(); } }