public MainProgram() { #region Set Dependencies sfun = new SFUN(); monit = new MONIT(); ztime = new ZTIME(); stpmax = new STPMAX(); modz = new MODZ(); cnvtst = new CNVTST(); crash = new CRASH(); negvec = new NEGVEC(); lsout = new LSOUT(); mchpr1 = new MCHPR1(); ssbfgs = new SSBFGS(); getptc = new GETPTC(); ddot = new DDOT(); daxpy = new DAXPY(); dnrm2 = new DNRM2(); dcopy = new DCOPY(); dxpy = new DXPY(); gtims = new GTIMS(SUBSCR); setpar = new SETPAR(SUBSCR); ndia3 = new NDIA3(ddot); step1 = new STEP1(mchpr1); chkucp = new CHKUCP(mchpr1, dnrm2); setucr = new SETUCR(ddot); mslv = new MSLV(ddot, ssbfgs); msolve = new MSOLVE(mslv, SUBSCR); initp3 = new INITP3(ddot, dcopy); initpc = new INITPC(initp3, SUBSCR); modlnp = new MODLNP(ddot, initpc, ztime, msolve, gtims, ndia3, daxpy, negvec, dcopy); linder = new LINDER(ddot, getptc, lsout, dcopy); lmqn = new LMQN(dnrm2, step1, ddot, setpar, chkucp, setucr, modlnp, dcopy, linder, dxpy , SUBSCR); mainc = new MAINC(sfun, lmqn); tn = new TN(mchpr1, lmqn); mains = new MAINS(sfun, tn); lmqnbc = new LMQNBC(ddot, dnrm2, step1, crash, setpar, chkucp, setucr, ztime, monit, modlnp , dcopy, stpmax, linder, modz, cnvtst, dxpy, SUBSCR); maincb = new MAINCB(sfun, lmqnbc); tnbc = new TNBC(mchpr1, lmqnbc); mainsb = new MAINSB(sfun, tnbc); #endregion }