Accord.Math.Optimization.BoundedBroydenFletcherGoldfarbShanno.setulb C# (CSharp) Method

setulb() static private method

static private setulb ( int n, int m, double x, int _x_offset, double l, int _l_offset, double u, int _u_offset, int nbd, int _nbd_offset, double &f, double g, int _g_offset, double factr, double pgtol, double wa, int _wa_offset, int iwa, int _iwa_offset, string &task, int iprint, string &csave, bool lsave, int _lsave_offset, int isave, int _isave_offset, double dsave, int _dsave_offset ) : void
n int
m int
x double
_x_offset int
l double
_l_offset int
u double
_u_offset int
nbd int
_nbd_offset int
f double
g double
_g_offset int
factr double
pgtol double
wa double
_wa_offset int
iwa int
_iwa_offset int
task string
iprint int
csave string
lsave bool
_lsave_offset int
isave int
_isave_offset int
dsave double
_dsave_offset int
return void
        internal static void setulb(int n,
        int m,
        double[] x, int _x_offset,
        double[] l, int _l_offset,
        double[] u, int _u_offset,
        int[] nbd, int _nbd_offset,
        ref double f,
        double[] g, int _g_offset,
        double factr,
        double pgtol,
        double[] wa, int _wa_offset,
        int[] iwa, int _iwa_offset,
        ref string task,
        int iprint,
        ref string csave,
        bool[] lsave, int _lsave_offset,
        int[] isave, int _isave_offset,
        double[] dsave, int _dsave_offset)
        {

            int lws = 0;
            int lr = 0;
            int lz = 0;
            int lt = 0;
            int ld = 0;
            int lxp = 0;
            int lwa = 0;
            int lwy = 0;
            int lsy = 0;
            int lss = 0;
            int lwt = 0;
            int lwn = 0;
            int lsnd = 0;

            if ((task.StartsWith("START", StringComparison.OrdinalIgnoreCase)))
            {
                isave[(1 - (1)) + _isave_offset] = (m * n);
                isave[(2 - (1)) + _isave_offset] = ((int)System.Math.Pow(m, 2));
                isave[(3 - (1)) + _isave_offset] = (4 * ((int)System.Math.Pow(m, 2)));
                isave[(4 - (1)) + _isave_offset] = 1;
                isave[(5 - (1)) + _isave_offset] = (isave[(4 - (1)) + _isave_offset] + isave[(1 - (1)) + _isave_offset]);
                isave[(6 - (1)) + _isave_offset] = (isave[(5 - (1)) + _isave_offset] + isave[(1 - (1)) + _isave_offset]);
                isave[(7 - (1)) + _isave_offset] = (isave[(6 - (1)) + _isave_offset] + isave[(2 - (1)) + _isave_offset]);
                isave[(8 - (1)) + _isave_offset] = (isave[(7 - (1)) + _isave_offset] + isave[(2 - (1)) + _isave_offset]);
                isave[(9 - (1)) + _isave_offset] = (isave[(8 - (1)) + _isave_offset] + isave[(2 - (1)) + _isave_offset]);
                isave[(10 - (1)) + _isave_offset] = (isave[(9 - (1)) + _isave_offset] + isave[(3 - (1)) + _isave_offset]);
                isave[(11 - (1)) + _isave_offset] = (isave[(10 - (1)) + _isave_offset] + isave[(3 - (1)) + _isave_offset]);
                isave[(12 - (1)) + _isave_offset] = (isave[(11 - (1)) + _isave_offset] + n);
                isave[(13 - (1)) + _isave_offset] = (isave[(12 - (1)) + _isave_offset] + n);
                isave[(14 - (1)) + _isave_offset] = (isave[(13 - (1)) + _isave_offset] + n);
                isave[(15 - (1)) + _isave_offset] = (isave[(14 - (1)) + _isave_offset] + n);
                isave[(16 - (1)) + _isave_offset] = (isave[(15 - (1)) + _isave_offset] + n);
            }
            lws = isave[(4 - (1)) + _isave_offset];
            lwy = isave[(5 - (1)) + _isave_offset];
            lsy = isave[(6 - (1)) + _isave_offset];
            lss = isave[(7 - (1)) + _isave_offset];
            lwt = isave[(8 - (1)) + _isave_offset];
            lwn = isave[(9 - (1)) + _isave_offset];
            lsnd = isave[(10 - (1)) + _isave_offset];
            lz = isave[(11 - (1)) + _isave_offset];
            lr = isave[(12 - (1)) + _isave_offset];
            ld = isave[(13 - (1)) + _isave_offset];
            lt = isave[(14 - (1)) + _isave_offset];
            lxp = isave[(15 - (1)) + _isave_offset];
            lwa = isave[(16 - (1)) + _isave_offset];
            // 
            mainlb(n, m, x, _x_offset, l, _l_offset, u, _u_offset, nbd,
                _nbd_offset, ref f, g, _g_offset, factr, pgtol, wa, (lws - (1)) + _wa_offset,
                wa, (lwy - (1)) + _wa_offset, wa, (lsy - (1)) + _wa_offset, wa,
                (lss - (1)) + _wa_offset, wa, (lwt - (1)) + _wa_offset, wa,
                (lwn - (1)) + _wa_offset, wa, (lsnd - (1)) + _wa_offset, wa,
                (lz - (1)) + _wa_offset, wa, (lr - (1)) + _wa_offset, wa,
                (ld - (1)) + _wa_offset, wa, (lt - (1)) + _wa_offset, wa,
                (lxp - (1)) + _wa_offset, wa, (lwa - (1)) + _wa_offset, iwa,
                (1 - (1)) + _iwa_offset, iwa, ((n + 1) - (1)) + _iwa_offset,
                iwa, (((2 * n) + 1) - (1)) + _iwa_offset, ref task, iprint, ref csave,
                lsave, _lsave_offset, isave, (22 - (1)) + _isave_offset, dsave,
                _dsave_offset);
        }